Свяжитесь с нами в конце статьи, чтобы получить исходный код.
Язык разработки: Java
Каркас: ссм
Версия JDK: JDK1.8
Сервер: tomcat7
База данных: MySQL 5.7/8.0.
Инструмент базы данных: Navicat11
Программное обеспечение для разработки: eclipse/myeclipse/idea.
Пакет Maven: Maven3.3.9
Браузер: Google Chrome
Структура мини-программы: uniapp
Программное обеспечение для разработки мини-программ: HBuilder X
Мини-программа, работающая под управлением программного обеспечения: разработчик WeChat
1. Введение
Непрерывный прогресс общества и технологий сделал жизнь более удобной, а компьютерные технологии становятся все более популярными. 21-й век – век данных. С помощью статистического анализа можно получить желаемые результаты с помощью любого вида информации, а значит, она также может лучше служить людям в работе и жизни. Заказ еды онлайн — это часть жизни, особенно в периоды пиковой нагрузки, когда для заказа еды в ресторанах приходится стоять в очередях. Сочетание компьютерных технологий с заказом может в большей степени соответствовать современным требованиям и требованиям пользователей и обеспечить более удобный способ заказа.
Эта система заказа ресторана с горячими горшками использует язык Java и технологию Vue. Платформа использует SSM и сопряжена с базой данных Mysql. Она работает по идее и принимает режим небольшой программы. Эта система заказа ресторанов с горячими горшками предоставляет услуги в двух ролях: администратор и пользователь. Общие функции включают запрос блюд, покупку блюд, резервирование столов и управление заказами. Эта система может помочь администраторам обновлять информацию о блюдах и управлять информацией о заказах, помогать пользователям заказывать еду онлайн и осуществлять резервирование столиков. Эта система разработана с использованием зрелой технологии для выполнения работы, связанной с управлением заказами.
2. Функциональный анализ системы
2.1 Анализ функций администратора
Функциональный анализ системы определяет функциональный дизайн системы.Полный и подробный функциональный анализ системы может сделать разработку системы более эффективной с вдвое меньшими усилиями. Функции этой системы основаны на двух правах: пользователя и администратора. Создавайте функции, которые лучше соответствуют требованиям пользователей, исходя из различных потребностей и разных разрешений. В этой системе администратор в основном отвечает за просмотр и управление пользователями, публикацию и обмен новыми блюдами, проверку информации о заказе пользователей и информации о резервировании столов и т. д. Пользователи могут приобретать необходимые блюда, бронировать столики и т. д.
2.2 Анализ функций пользователя
Пользователи могут управлять личной информацией, запрашивать блюда, заказывать онлайн и резервировать столы, управлять заказами и т. д. Личная информация пользователя генерируется администратором при добавлении информации о пользователе, содержимое заказа пользователя генерируется пользователем при покупке блюд, а Информация о резервировании генерируется с помощью Generated, когда пользователь бронирует столик.
3.3 Проектирование функциональной структуры системы
Функциональная структура системы использует древовидную диаграмму для построения функционального дизайна. Согласно анализу, функции данной системы разделены на две части: администратора и пользователя. Администратор отвечает за управление блюдами, управление классификацией блюд, управление пользователями, управление заказами и т. д. В функции пользователя входят запрос блюд, онлайн-заказ, резервирование столов, управление личной информацией и т. д. Функциональная структурная схема этой системы заказа ресторанов с горячими горшками показана ниже:
3. Мини программа
3.1 Подробная реализация интерфейса функции управления пользовательской информацией
Когда пользователи входят в систему, они могут изменять свою информацию, чтобы она оставалась верной. Вы также можете изменить пароль. Интерфейс реализации управления информацией о пользователях показан на рисунке ниже:
3.2 Подробный интерфейс функции отображения блюд
Пользователи могут просматривать все блюда, просматривать подробное содержание блюд и заказывать блюда. Интерфейс просмотра блюд пользователями реализован так, как показано на рисунке ниже:
3.3 Детальная реализация функции заказа
В этой функции пользователи могут заказывать еду. Интерфейс реализации функции заказа показан на рисунке ниже:
3.4 Детальная реализация функции резервирования столиков
Пользователи могут просматривать незабронированные столики и выбирать подходящий столик для бронирования.Интерфейс функции резервирования столиков показан ниже:
3.5 Реализация функции корзины покупок
Пользователи могут управлять блюдами в корзине, а интерфейс реализации показан на рисунке ниже:
3.6 Детальная реализация функции управления заказами
Пользователи могут управлять своими заказами и выполнять операции запросов в интерфейсе управления заказами. Интерфейс реализации функции управления заказами показан на рисунке ниже:
3.7 Детальная реализация моей функции управления
4. Функциональный модуль администратора
4.1 Детальная реализация функции входа пользователя в систему
Администратор несет ответственность за удаление информации о пользователе и управление ею. В этой функции администратор может увидеть имя пользователя и номер мобильного телефона. Функция запроса администраторами информации о пользователях реализована, как показано на рисунке ниже:
4.2 Детальная реализация функции управления блюдами
Администраторы могут управлять и просматривать информацию о блюдах. Эта функция позволяет осуществлять регулярное обновление и просмотр блюд. Интерфейс реализации администратором добавления информации о блюдах показан на рисунке ниже:
4.3 Детальная реализация функции управления таблицами
Эта функция включает в себя запрос таблиц и публикацию новой информации о таблицах. Детали реализации запроса информации из таблицы показаны на рисунке ниже:
4.4 Детальная реализация функции управления резервированием столов
Администраторы могут запрашивать зарезервированные таблицы и просматривать их. Интерфейс реализации функции резервирования столов показан на рисунке ниже:
4.5 Детальная реализация функций системы
Администраторы могут управлять объявлениями и каруселями системы, а также организовывать мероприятия. Интерфейс реализации функции объявления запроса показан на рисунке ниже:
4.6 Детальная реализация функции управления персональным центром
Администраторы могут изменять и управлять личной информацией.Администраторы также могут изменять пароли с помощью этой функции. Интерфейс реализации изменения личной информации администратора показан на рисунке ниже:
4.7 Детальная реализация функции управления заказами
Администратор может запросить заказ пользователя и завершить расстановку блюд.Интерфейс реализации представлен на рисунке ниже:
5. Часть основного кода
5.1 Основной код системы входа
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
return R.ok().put("token", token);
}
5.2 Загрузить код ключа файла
@RequestMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
/**
* 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
* 请将以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
* 并且项目路径不能存在中文、空格等特殊字符
*/
// FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路径以后请将该行最前面的//注释去掉**/
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}