基于SpringBoot+MyBatis的餐饮点餐系统

简介: 本文介绍了一个基于SpringBoot和MyBatis开发的餐饮点餐系统,包括系统的主控制器`IndexController`的代码实现,该控制器负责处理首页、点餐、登录、注册、订单管理等功能,适用于毕业设计项目。

基于SpringBoot+MyBatis的餐饮点餐系统,适用于毕业设计。

package com.example.zxdmeal.controller;

import com.alibaba.fastjson.JSONObject;
import com.example.zxdmeal.model.*;
import com.example.zxdmeal.service.IndexService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/Home")
public class IndexController {
   
   
    @Autowired
    private IndexService indexService;

    /**
     * 跳转首页
     */
    @RequestMapping("/")
    public String home (Model model){
   
   
        return "redirect:/Home/index";
    }

    /**
     * 跳转首页
     */
    @RequestMapping("/index")
    public String index (Model model){
   
   
        List<Desk> deskList = indexService.getDeskList();
        model.addAttribute("deskList",deskList);
        return "home/index";
    }

    /**
     * 跳转点餐
     */
    @RequestMapping("/desk")
    public String desk (Model model, HttpServletRequest request,HttpSession session){
   
   
        User user = (User) session.getAttribute("user");
        int id = Integer.parseInt(request.getParameter("id"));
        if (user!=null){
   
   
            if (id>0){
   
   
                Desk desk = indexService.getDeskById(id);
                List<Catalog> catalogList = indexService.getCatalogList();
                ArrayList<List<Product>> productLists = new ArrayList<>();
                for (int i = 0;i<catalogList.size();i++){
   
   
                    List<Product> productList = indexService.getProductListByCatalog(catalogList.get(i).getTypename());
                    productLists.add(productList);
                }
                model.addAttribute("deskid",id);
                model.addAttribute("desk",desk);
                model.addAttribute("catalogList",catalogList);
                model.addAttribute("productLists",productLists);
                return "home/desk";
            }else{
   
   
                return "redirect:/Home/index";
            }
        }else{
   
   
            return "redirect:/Home/loginAndRegist?deskid="+id;
        }

    }

    /**
     * 去登录注册页面
     */
    @RequestMapping("/loginAndRegist")
    public String loginAndRegist() {
   
   
        return "home/loginAndRegist";
    }

    /**
     * 登录方法
     */
    @ResponseBody
    @RequestMapping(value = "/loginAction",method = RequestMethod.POST)
    public JSONObject loginAction(@RequestBody String request, HttpSession session) {
   
   
        JSONObject jsonObject = JSONObject.parseObject(request);
        Map<String,Object> map = (Map<String,Object>)jsonObject;
        String userName = String.valueOf(map.get("userName"));
        String password = String.valueOf(map.get("password"));
        User user = new User();
        user = indexService.LoginAction(userName,password);
        if (user!=null){
   
   
            session.setAttribute("user",user);
            System.out.println(user);
            jsonObject.put("status", "success");
        }else{
   
   
            jsonObject.put("status", "fail");
        }
        return jsonObject;
    }

    /**
     * 退出登录方法
     */
    @RequestMapping("/loginOut")
    public String loginOut(HttpSession session){
   
   
        session.removeAttribute("user");
        return "redirect:/Home/index";
    }

    /**
     * 注册方法
     */
    @ResponseBody
    @RequestMapping(value = "/registAction",method = RequestMethod.POST)
    public JSONObject registAction(@RequestBody String request, HttpSession session){
   
   
        JSONObject jsonObject = JSONObject.parseObject(request);
        Map<String,Object> map = (Map<String,Object>)jsonObject;
        String username = String.valueOf(map.get("username"));
        String password = String.valueOf(map.get("password"));
        String email = String.valueOf(map.get("email"));
        User u = new User();
        u.setEmail(email);
        u.setUsername(username);
        u.setPassword(password);
        User u1 = indexService.getUserByUsername(username);
        System.out.println(u1);
        if (null == u1){
   
   
            try {
   
   
                int status = indexService.RegistAction(u);
                if(status>0){
   
   
                    jsonObject.put("status", "success");
                }else{
   
   
                    jsonObject.put("status", "fail");
                }
            }catch (Exception e){
   
   
                jsonObject.put("status", "fail");
            }
        }else{
   
   
            jsonObject.put("status", "redo");
        }
        return jsonObject;
    }

    /**
     * 购买
     */
    @ResponseBody
    @RequestMapping(value = "/buy",method = RequestMethod.POST)
    public JSONObject buy(@RequestBody String request, HttpSession session) {
   
   
        User user = (User) session.getAttribute("user");
        JSONObject jsonObject = JSONObject.parseObject(request);
        Map<String,Object> map = (Map<String,Object>)jsonObject;
        int userid = Integer.parseInt(String.valueOf(map.get("userid")));
        int deskid = Integer.parseInt(String.valueOf(map.get("deskid")));
        int sum = Integer.parseInt(String.valueOf(map.get("sum")));
        String items = String.valueOf(map.get("items"));
        Timestamp ts=new Timestamp(new Date().getTime());
        Orders orders = new Orders();
        orders.setCreateat(ts);
        orders.setUserid(userid);
        orders.setDeskid(deskid);
        orders.setItems(items);
        orders.setSum(sum);
        orders.setStatus(0);
        if (user!=null){
   
   
            Desk desk_usess = indexService.getDeskByIdUess(deskid);
            if (desk_usess != null){
   
   
                try {
   
   
                    System.out.println(indexService.buy(orders));
                    System.out.println(indexService.updateDesk(deskid));
                    jsonObject.put("status", "success");
                }catch (Exception e){
   
   
                    jsonObject.put("status", "fail");
                }
            }else{
   
   
                jsonObject.put("status", "redo");
            }
        }else{
   
   
            jsonObject.put("status", "unlogin");
        }
        return jsonObject;
    }

    @RequestMapping("/myorders")
    public String myorders (HttpServletRequest request, HttpSession session, @RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize, Model model){
   
   
        User user = (User) session.getAttribute("user");
        if (user!=null){
   
   
            PageHelper.startPage(pageNo,pageSize);
            PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(indexService.getOrdersByUserid(user.getId()));
            System.out.println(pageInfo);
            model.addAttribute(pageInfo);
            return "home/myorders";
        }else{
   
   
            return "redirect:/Home/loginAndRegist";
        }
    }

    /**
     * 订单详情
     */
    @RequestMapping("/myordersdetail")
    public String myordersdetail(HttpSession session,HttpServletRequest request,Model model){
   
   
        int id = Integer.parseInt(request.getParameter("id"));
        User user = (User) session.getAttribute("user");
        if (user!=null){
   
   
            Orders orders = indexService.myordersdetail(id);

            ArrayList ordersList = new ArrayList<>();

            String[] itemsLists = orders.getItems().split(";");
            for (int i = 0;i<itemsLists.length;i++){
   
   
                String itemsList = itemsLists[i];
                String[] items = itemsList.split(":");
                Item item = new Item();
                item.setPic(items[4]);
                item.setPrice(Integer.parseInt(items[3]));
                item.setNum(Integer.parseInt(items[2]));
                item.setTitle(items[1]);
                item.setId(Integer.parseInt(items[0]));
                System.out.println(item);
                ordersList.add(item);
            }

            model.addAttribute("orders",orders);
            model.addAttribute("ordersList",ordersList);
            return "home/myorders_detail";
        }else {
   
   
            return "redirect:/Home/loginAndRegist";
        }
    }

    /**
     * 查看用户
     */
    @RequestMapping("/myinfo")
    public String myinfo(HttpServletRequest request,HttpSession session, Model model){
   
   
        User user = (User) session.getAttribute("user");
        if (user==null){
   
   
            return "redirect:/Home/loginAndRegist";
        }
        if (user!=null){
   
   
            return "home/user_info";
        }else{
   
   
            return "redirect:/Home/loginAndRegist";
        }
    }

    /**
     * 修改用户信息
     */
    @RequestMapping("/myinfoAction")
    public String myinfoAction(HttpServletRequest request,HttpSession session, Model model){
   
   
        User user = (User) session.getAttribute("user");
        String email = request.getParameter("email");
        String password = request.getParameter("password");
        String truename = request.getParameter("truename");
        String sex = request.getParameter("sex");
        if (user==null){
   
   
            return "redirect:/Home/loginAndRegist";
        }
        if (user!=null){
   
   
            User u1 = new User();
            u1.setId(user.getId());
            u1.setPassword(password);
            u1.setEmail(email);
            u1.setTruename(truename);
            u1.setSex(sex);
            User u2 = new User();
            System.out.println(indexService.myinfoAction(u1));
            u2 = indexService.getUserById(user.getId());
            session.removeAttribute("user");
            session.setAttribute("user",u2);
            return "redirect:/Home/myorders";
        }else{
   
   
            return "redirect:/Home/loginAndRegist";
        }
    }
}

目录
相关文章
|
4月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。
|
4月前
|
监控 安全 JavaScript
2025基于springboot的校车预定全流程管理系统
针对传统校车管理效率低、信息不透明等问题,本研究设计并实现了一套校车预定全流程管理系统。系统采用Spring Boot、Java、Vue和MySQL等技术,实现校车信息管理、在线预定、实时监控等功能,提升学校管理效率,保障学生出行安全,推动教育信息化发展。
|
4月前
|
JavaScript Java 关系型数据库
基于springboot的高校运动会系统
本系统基于Spring Boot、Vue与MySQL,实现高校运动会报名、赛程安排及成绩管理的全流程信息化,提升组织效率,杜绝信息错漏与冒名顶替,推动体育赛事智能化发展。
|
4月前
|
JavaScript 安全 Java
基于springboot的大学生兼职系统
本课题针对大学生兼职信息不对称、权益难保障等问题,研究基于Spring Boot、Vue、MySQL等技术的兼职系统,旨在构建安全、高效、功能完善的平台,提升大学生就业竞争力与兼职质量。
|
4月前
|
JavaScript Java 关系型数据库
基于springboot的美食城服务管理系统
本系统基于Spring Boot、Java、Vue和MySQL技术,构建集消费者服务、商家管理与后台监管于一体的美食城综合管理平台,提升运营效率与用户体验。
|
4月前
|
Java 关系型数据库 MySQL
基于springboot的网咖网吧管理系统
本文探讨了基于Java、MySQL和SpringBoot的网吧管理系统的设计与实现。随着信息化发展,传统管理方式难以满足需求,而该系统通过先进技术提升管理效率、保障数据安全、降低运营成本,具有重要意义。
|
4月前
|
JavaScript Java 关系型数据库
基于springboot的摄影师分享交流社区系统
本系统基于Spring Boot与Vue构建摄影师分享交流平台,旨在打造专业社区,支持作品展示、技术交流与合作互动。采用Java、MySQL等成熟技术,提升摄影爱好者创作水平,推动行业发展。
|
4月前
|
JavaScript 搜索推荐 Java
基于SpringBoot的社区老年食堂系统
针对老龄化社会饮食难题,智慧社区老年食堂系统应运而生。融合Spring Boot、Vue、Java与MySQL技术,实现餐饮服务智能化、个性化,提升老年人生活质量与幸福感,推动社区养老服务升级。
|
4月前
|
JavaScript 搜索推荐 Java
基于springboot的民宿预定管理系统
本研究针对民宿市场管理效率低、信息化程度不足等问题,设计并实现基于Spring Boot、Vue和MySQL的民宿预订管理系统。系统提升预订效率与用户体验,助力行业数字化转型。