SpringBoot+Vue实现的在线点餐系统 如何实现,开发过程记录

ssm+mysql实现在线点餐系统

项目描述:这是一个基于SpringBoot+Vue框架开发的在线点餐系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个在线点餐系统该有的所有功能。

项目功能:此项目分为两个角色:普通用户和管理员。普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、查看收益数据图表等等功能。

应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7(项目压缩包中自带) + Redis5.0.5(项目压缩包中自带) + JDK1.8 + Maven3.6.3(项目压缩包中自带)+ Node14.16.1(项目压缩包中自带)

运行截图:

与传统的电话外卖点餐以及去店里外卖点餐的方式相比,外卖外卖点餐有着自己独特的优点——直观、互动性强、成本低、方便快捷。顾客可以及时了解到最新商品,及时反馈商家的服务;也能在商家营业的任何时候下单,并且自由决定送餐时间,这对于消费者也是更好的服务。对于商家来说,也可以更方便地留住有价值的客户,挖掘潜在客户等。网络外卖点餐提供图文并茂,及时更新的丰富消息,这一定程度上给客户更多的选择权和自由权。目前网络外卖点餐形式主要有商家入驻网络、自己创建店铺的等,本论文主要论述了如何使用JAVA语言开发一个外卖点餐系统
,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对像编程思想进行项目开发。在引言中,作者将论述外卖点餐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。
外卖点餐系统的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、餐厅信息管理、菜品分类管理、菜品信息管理、订单评价管理、系统管理、订单管理,用户:首页、个人中心、订单评价管理、我的收藏管理、订单管理,前台首页;首页、餐厅信息、菜品信息、公告信息、个人中心、后台管理、购物车、客服等功能。由于本网站的功能模块设计比较全面,所以使得整个外卖点餐

请添加图片描述请添加图片描述

请添加图片描述请添加图片描述
关键代码

<context:property-placeholder location="classpath:db.properties" />
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
		<!--数据库驱动 -->
		<property name="driverClassName" value="${jdbc.driver}" />
		<!--连接数据库的url -->
		<property name="url" value="${jdbc.url}" />
		<!--连接数据库的用户名 -->
		<property name="username" value="${jdbc.username}" />
		<!--连接数据库的密码 -->
		<property name="password" value="" />
		<!--最大连接数 -->
		<property name="maxTotal" value="${jdbc.maxTotal}" />
		<!--最大空闲连接 -->
		<property name="maxIdle" value="${jdbc.maxIdle}" />
		<!--初始化连接数 -->
		<property name="initialSize" value="${jdbc.initialSize}" />
	</bean>
	
	<!-- 配置MyBatis工厂SqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!--注入数据源 -->
		<property name="dataSource" ref="dataSource" />
		<!--指定核心配置文件位置 -->
		<property name="configLocation" value="classpath:mybatis-config.xml" />
	</bean>

	<!--  配置mapper扫描器 Mapper代理开发(基于MapperScannerConfigurer) -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.mapper" />
	</bean>

请添加图片描述
请添加图片描述
请添加图片描述在这里插入图片描述

在这里插入图片描述


@Controller
@RequestMapping("orders")
public class OrdersController {
    /**
     * 服务对象
     */
    @Autowired
    @Qualifier("ordersService")
    private OrdersService ordersService;
 
    @Autowired
    @Qualifier("menusService")
    private MenusService menusService;
 
    @Autowired
    @Qualifier("usersService")
      private UsersService usersService;
 
    //获取全部订单信息
    @RequestMapping("ordergetall")
    public String ordergetall( HttpServletRequest request) {
        //传给前端
        Pages page1=null;
        //总页面
        Integer totalCount=null;
 
        //当前页面
        String currentpages="1";
 
        //获取上一页还是下一页标识
        String s="";
 
        //数据库操作页面
        String pagess="1";
 
        //前端页面总数
        Integer allpage=null;
 
        //如果不为空则获取currentpage
        if(request.getParameter("currentpage")!=null){
            currentpages=request.getParameter("currentpage");
            totalCount= ordersService.pageCount();
            allpage=totalCount/5;
            if(totalCount%5!=0){
                allpage++;
            }
            if(Integer.parseInt(currentpages)<=0){
                currentpages="1";
            }
            if(Integer.parseInt(currentpages)>allpage){
                currentpages=""+allpage;
            }
 
 
            //设置pagess的值
            if(request.getParameter("s")!=null){
                s=request.getParameter("s");
                if(s.equals("up")){
                    pagess=""+(Integer.parseInt(currentpages)-4);
                }else if(s.equals("down")){
                    pagess=""+((Integer.parseInt(currentpages)-1)*5-1);
                }else if (s.equals("first")){
                    pagess="0";
                }else if(s.equals("last")){
                    pagess=""+(totalCount-(totalCount%5)-1);
                }else {
                    System.out.println("错误");
                }
            }
 
            page1=new Pages(currentpages,allpage);
            request.setAttribute("pages",page1);
 
        }else{
            totalCount= ordersService.pageCount();
            allpage=totalCount/5;
            if(ordersService.pageCount()%5!=0){
                allpage++;
            }
            page1=new Pages("1", allpage);
 
            request.setAttribute("pages",page1);
        }
 
        //判断操作数据库页面是否突破限制
        if(Integer.parseInt(pagess)<=0){
            pagess="0";
        }
        if(Integer.parseInt(pagess)>totalCount){
            pagess=""+(totalCount-(totalCount%5)-1);
        }
 
 
        List<Orders> list= ordersService.pageList(Integer.parseInt(pagess),5);
        request.setAttribute("list",list);
 
        System.out.println("pagess="+pagess);
        System.out.println("currentpages="+currentpages);
 
        return "/admin/order";
    }
 
    //确认订单 确认则将deliverys设置为一否则删除
    @RequestMapping("OrderComfirm")
    public String OrderComfirm( HttpServletRequest request){
        int id=Integer.parseInt(request.getParameter("id"));
        String reqtype=request.getParameter("reqtype");
        if(reqtype.equals("delivery")){
            ordersService.updatedeliveryById(id);
        }else if(reqtype.equals("del")){
            ordersService.deleteById(id);
        }else{
            System.out.println("错误");
        }
 
        return "redirect:/orders/ordergetall";
    }
 
 
    @RequestMapping("order_search")
    public String order_search( HttpServletRequest request) {
        return "/admin/order_search";
    }
 
 
 
    @RequestMapping("ordergetallbydelivery")
    public  String ordergetallbydelivery(HttpServletRequest request){
        String delivery=request.getParameter("delivery");
        Integer d=Integer.parseInt(delivery);
        List<Orders> list=ordersService.pageListByDelivery(d);
        HttpSession session=request.getSession();
        session.setAttribute("ordersearch", list);
        return "/qiantai/order";
    }
 
    @RequestMapping(value="order_qiantai",method = RequestMethod.POST)
    public String  order_qiantai( HttpServletRequest request) throws UnsupportedEncodingException {
        List<Orders> list=null;
        HttpSession session=request.getSession();
        request.setCharacterEncoding("utf-8");
        Integer id=null;
        String menuname=null;
        String day1=null;
        if(request.getParameter("menuname")!=null&&(!request.getParameter("menuname").equals(""))){
            menuname=request.getParameter("menuname");
            list=ordersService.pageListByMenue(menuname);
        }else if(request.getParameter("date")!=null&&(!request.getParameter("date").equals(""))){
            day1=request.getParameter("date");
            Integer a=Integer.parseInt(day1.substring(9,10));
            String aa=""+(a+1);
            StringBuilder day=new StringBuilder(day1);
            day.replace(9,10,aa);
            String day2=day.toString();
            list=ordersService.pageListByDate(day1,day2);
        }else {
            System.out.println("未提交");
        }
 
 
        session.setAttribute("ordersearch", list);
        System.out.println(id);
        System.out.println(menuname);
        System.out.println(day1);
 
        return "/qiantai/order";
 
 
    }
 
 
    @RequestMapping(value="order_searchs",method = RequestMethod.POST)
    public String order_searchs( HttpServletRequest request) throws UnsupportedEncodingException {
 
        List<Orders> list=null;
        HttpSession session=request.getSession();
        request.setCharacterEncoding("utf-8");
        Integer id=null;
        String menuname=null;
        String day1=null;
        if(request.getParameter("userid")!=null&&(!request.getParameter("userid").equals(""))){
            id=Integer.parseInt(request.getParameter("userid"));
            list=ordersService.pageListByID(id);
        }else if(request.getParameter("menuname")!=null&&(!request.getParameter("menuname").equals(""))){
            menuname=request.getParameter("menuname");
            list=ordersService.pageListByMenue(menuname);
        }else if(request.getParameter("date")!=null&&(!request.getParameter("date").equals(""))){
            day1=request.getParameter("date");
            Integer a=Integer.parseInt(day1.substring(9,10));
            String aa=""+(a+1);
            StringBuilder day=new StringBuilder(day1);
            day.replace(9,10,aa);
            String day2=day.toString();
            list=ordersService.pageListByDate(day1,day2);
        }else {
            System.out.println("未提交");
        }
 
 
        session.setAttribute("ordersearch", list);
        System.out.println(id);
        System.out.println(menuname);
        System.out.println(day1);
 
        return "/admin/order_search";
    }
 
    //跳转到statistic页面
    @RequestMapping("order_statistic")
    public String order_statistic( HttpServletRequest request) throws UnsupportedEncodingException {
        List<Orders> list=null;
        HttpSession session=request.getSession();
        request.setCharacterEncoding("utf-8");
 
        SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date(System.currentTimeMillis());
        String day1=formatter.format(date);
        Integer a=Integer.parseInt(day1.substring(9,10));
        String aa=""+(a+1);
        StringBuilder day=new StringBuilder(day1);
        day.replace(9,10,aa);
        String day2=day.toString();
 
        System.out.println(a);
        System.out.println(day1);
        System.out.println(day2);
        list=ordersService.pageListByDate(day1,day2);
 
        session.setAttribute("orderstatistic", list);
 
        return "/admin/order_statistic";
 
    }
 
    @RequestMapping("orderqiantai")
    public String orderqiantai( HttpServletRequest request){
        return "/qiantai/order";
    }
 
 
    //放入购物车
    @RequestMapping("order_addshoppingcar")
    public String order_addshoppingcar(HttpServletRequest request){
        HttpSession session=request.getSession();
 
        String menuId = request.getParameter("menuId");
        Integer id=Integer.parseInt(menuId);
        Integer sum=(Integer) session.getAttribute("sum");
        if(sum==null){
            sum=1;
            session.setAttribute("sum",sum);
        }
        Menus menus = menusService.queryById(id);
        String name=menus.getName();
        float price=menus.getPrice1();
 
        ShoppingCart shoppingCart1=new ShoppingCart(id,name,price,sum);
        List<ShoppingCart> shoppingCarts=new ArrayList();
        if(session.getAttribute("shoppingcar")!=null){
            shoppingCarts=(List<ShoppingCart>)session.getAttribute("shoppingcar");
            for (ShoppingCart shoppingCart:shoppingCarts) {
                if(name.equals(shoppingCart.getName())){
                    sum=shoppingCart.getSums()+1;
                    shoppingCarts.remove(shoppingCart);
                    break;
                }
            }
            shoppingCart1=new ShoppingCart(id,name,price,sum);
            shoppingCarts.add(shoppingCart1);
            session.setAttribute("shoppingcar",shoppingCarts);
        }else{
            shoppingCart1=new ShoppingCart(id,name,price,sum);
            shoppingCarts.add(shoppingCart1);
            session.setAttribute("shoppingcar",shoppingCarts);
        }
        return "redirect:/menus/qiantai/allMenus";
    }
 
 
    //购物车单个取消
    @RequestMapping("order_shoppingcardel")
    public String order_shoppingcardel(HttpServletRequest request){
        HttpSession session=request.getSession();
        List<ShoppingCart> shoppingCarts=(List<ShoppingCart>)session.getAttribute("shoppingcar");
        Integer id=Integer.parseInt(request.getParameter("del"));
        Integer i=0;
        for (ShoppingCart shoppingCart:shoppingCarts) {
            if(i.equals(id)){
                shoppingCarts.remove(shoppingCart);
                break;
            }
            i++;
        }
 
        return "redirect:/menus/qiantai/allMenus";
    }
    @RequestMapping("order_addshoppingcartoOrder")
 
    //提交或取消订单
    public String order_addshoppingcartoOrder(HttpServletRequest request) {
        HttpSession session=request.getSession();
        List<ShoppingCart> shoppingCarts=(List<ShoppingCart>)session.getAttribute("shoppingcar");
        if(session.getAttribute("user_session")!=null) {
            Users user = (Users) session.getAttribute("user_session");
            Integer userid = usersService.queryByname(user.getName());
            Integer delivery = 0;
            String remove = request.getParameter("remove");
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date(System.currentTimeMillis());
            String day = formatter.format(date);
            Integer id = null;
            if (shoppingCarts != null) {
                for (ShoppingCart shoppingCart : shoppingCarts) {
                    Integer sums = shoppingCart.getSums();
                    Integer menuid = shoppingCart.getId();
                    Orders orders = new Orders(id, userid, menuid, sums, day, delivery);
                    ordersService.insert(orders);
                }
                session.removeAttribute("shoppingcar");
            }
 
            if(remove!=null) {
                if (remove.equals("1")) {
                    session.removeAttribute("shoppingcar");
                }
            }
        }else{
            return "redirect:../public/qiantai/login.jsp";
        }
        return "redirect:/menus/qiantai/allMenus";
    }
 


**有兴趣的朋友可以一起交流沟通**  3060912346
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值