精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页:计算机毕设木哥🔥 💖
一、项目介绍
一、研究背景
随着高校学生数量的不断增加,校园外卖市场也在迅速扩大。然而,当前校园外卖存在诸多问题,如订单效率低下、配送不及时、菜品单一等,这给学生带来诸多不便。因此,开发一款基于Python的校园外卖点餐系统显得尤为重要。该系统的开发可以解决以上问题,提高外卖点餐的效率和便利性,满足学生对于多样化和个性化菜品的需求。
二、现有解决方案存在的问题
目前,市场上已经存在一些校园外卖平台,但是这些平台存在一些问题。首先,平台的使用流程较为繁琐,学生需要先注册、登录,然后在平台上浏览菜品并下单,这个过程较为繁琐。其次,平台的菜品选择较为单一,不能满足学生的个性化需求。最后,平台的配送效率低下,经常出现配送不及时的情况,影响学生的用餐体验。
三、研究目的和意义
本课题的研究目的是开发一款基于Python的校园外卖点餐系统,该系统能够解决现有解决方案存在的问题,提高外卖点餐的效率和便利性。具体来说,该系统可以实现以下功能:
学生可以通过系统快速浏览菜品并下单,简化使用流程。
系统可以提供多样化的菜品选择,满足学生的个性化需求。
系统可以实现高效的配送管理,确保菜品能够及时送达学生手中。
通过以上功能的实现,本课题的研究成果将能够为高校学生提供更加便捷、高效的外卖点餐服务,同时也可以为校园外卖平台的发展提供新的思路和方法。
二、开发环境
- 开发语言:Python
- 数据库:MySQL
- 系统架构:B/S
- 后端:Django
- 前端:Vue+HTML+CSS+JavaScript+jQuery
- 工具:PyCharm
三、系统展示
登录模块:
首页模块:
管理员模块:
商家模块:
工作人员模块:
四、代码展示
@RequestMapping(value = "/api/loginCheck", method = RequestMethod.POST)
public @ResponseBody
Object loginCheck(HttpServletRequest request) {
long id = Long.parseLong(request.getParameter("id"));
String passwd = request.getParameter("passwd");
boolean isReader = loginService.hasMatchReader(id, passwd);
boolean isAdmin = loginService.hasMatchAdmin(id, passwd);
HashMap<String, String> res = new HashMap<>();
if (isAdmin) {
Admin admin = new Admin();
admin.setAdminId(id);
admin.setPassword(passwd);
String username = loginService.getAdminUsername(id);
admin.setUsername(username);
request.getSession().setAttribute("admin", admin);
res.put("stateCode", "1");
res.put("msg", "管理员登陆成功!");
} else if (isReader) {
ReaderCard readerCard = loginService.findReaderCardByReaderId(id);
request.getSession().setAttribute("readercard", readerCard);
res.put("stateCode", "2");
res.put("msg", "读者登陆成功!");
} else {
res.put("stateCode", "0");
res.put("msg", "账号或密码错误!");
}
return res;
}
@RequestMapping("/admin_main.html")
public ModelAndView toAdminMain(HttpServletResponse response) {
return new ModelAndView("admin_main");
}
@RequestMapping("/reader_main.html")
public ModelAndView toReaderMain(HttpServletResponse response) {
return new ModelAndView("reader_main");
}
@RequestMapping("/admin_repasswd.html")
public ModelAndView reAdminPasswd() {
return new ModelAndView("admin_repasswd");
}
@RequestMapping("/admin_repasswd_do")
public String reAdminPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {
Admin admin = (Admin) request.getSession().getAttribute("admin");
long id = admin.getAdminId();
String password = loginService.getAdminPassword(id);
if (password.equals(oldPasswd)) {
if (loginService.adminRePassword(id, newPasswd)) {
redirectAttributes.addFlashAttribute("succ", "密码修改成功!");
return "redirect:/admin_repasswd.html";
} else {
redirectAttributes.addFlashAttribute("error", "密码修改失败!");
return "redirect:/admin_repasswd.html";
}
} else {
redirectAttributes.addFlashAttribute("error", "旧密码错误!");
return "redirect:/admin_repasswd.html";
}
}
@RequestMapping("/reader_repasswd.html")
public ModelAndView reReaderPasswd() {
return new ModelAndView("reader_repasswd");
}
@RequestMapping("/reader_repasswd_do")
public String reReaderPasswdDo(HttpServletRequest request, String oldPasswd, String newPasswd, String reNewPasswd, RedirectAttributes redirectAttributes) {
ReaderCard reader = (ReaderCard) request.getSession().getAttribute("readercard");
long id = reader.getReaderId();
String password = loginService.getReaderPassword(id);
if (password.equals(oldPasswd)) {
if (loginService.readerRePassword(id, newPasswd)) {
redirectAttributes.addFlashAttribute("succ", "密码修改成功!");
return "redirect:/reader_repasswd.html";
} else {
redirectAttributes.addFlashAttribute("error", "密码修改失败!");
return "redirect:/reader_repasswd.html";
}
} else {
redirectAttributes.addFlashAttribute("error", "旧密码错误!");
return "redirect:/reader_repasswd.html";
}
}
五、项目总结
本研究旨在开发一款基于Python的校园外卖点餐系统,以解决现有解决方案中存在的问题,提高外卖点餐的效率和便利性。通过深入研究和分析,我们发现现有的校园外卖平台存在使用流程繁琐、菜品选择单一以及配送效率低下等问题,这给学生带来诸多不便。为了解决这些问题,我们提出了开发一款基于Python的校园外卖点餐系统,以实现简化使用流程、提供多样化菜品选择以及实现高效配送管理的目标。