Java 实战项目之在线点餐系统的实现流程

一、项目简述

功能包括: 前台实现:用户浏览菜单、菜品分类筛选、查看菜单详 情、添加购物车、购物车结算、会员券、个人订单查询等 等。 后台实现:餐系管理、菜品管理、订单管理、系统管理、 酉己备员管理等。 系统分为:高或管理员、顾客、厨师、配送员等等。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

后台用户信息控制层:

@RestController
@RequestMapping("/backstage/user")
public class UserManageController {

    @Autowired
    private UserService userService;

    /**
     * 根据页面的条件查找用户列表
     * @param vo
     * @return
     */
    @RequestMapping("/list")
    public String findUserListByPage(UserVo vo){
        LayuiTableDataResult userListByPage = userService.findUserListByPage(vo);
        return JSON.toJSONString(userListByPage);
    }

    /**
     * 后台添加用户
     * @param vo
     * @return
     */
    @RequestMapping("/add")
    public String addUser(UserVo vo){
        Map<String, Object> map = userService.addUser(vo);
        return JSON.toJSONString(map);
    }

    /**
     * 后台修改用户信息
     * @param vo
     * @return
     */
    @RequestMapping("/modify")
    public String modifyUserBackstage(UserVo vo){
        Map<String, Object> map = userService.modifyUserBackstage(vo);
        return JSON.toJSONString(map);
    }

    /**
     * 重置用户密码
     * @param userId
     * @return
     */
    @RequestMapping("/resetPassword")
    public String resetPassword(Long userId){
        Map<String, Object> map = userService.resetPassword(userId);
        return JSON.toJSONString(map);
    }

    /**
     * 查找该用户所拥有的角色
     * @param userId
     * @return
     */
    @RequestMapping("/findRole")
    public String findRoleListByUserId(Long userId){
        LayuiTableDataResult roleListByUserId = userService.findRoleListByUserId(userId);
        return JSON.toJSONString(roleListByUserId);
    }

    /**
     * 为用户授权角色
     * @param roleIds
     * @param userId
     * @return
     */
    @RequestMapping("/grantRole")
    public String grantRole(String roleIds, Long userId){
        Map<String, Object> map = userService.grantRole(roleIds, userId);
        return JSON.toJSONString(map);
    }

    /**
     * 删除用户信息
     * @param userId
     * @return
     */
    @RequestMapping("/delete")
    public String deleteUser(Long userId){
        Map<String, Object> map = userService.deleteUser(userId);
        return JSON.toJSONString(map);
    }
}

用户地址管理控制器:

/**
 * 用户地址管理控制器
 */
@RestController
@RequestMapping("/address")
public class AddressController {

    @Autowired
    private AddressService addressService;

    /**
     * 查找该角色的所有地址信息,返回LayUI数据表格格式
     */
    @RequestMapping("/list")
    public String findAddressListByUserId(AddressVo vo, HttpSession session){
        vo.setUserId(((UserEntity) session.getAttribute("userLogin")).getUserId());
        LayuiTableDataResult addressListByUserId = addressService.findAddressListByUserId(vo);
        return JSON.toJSONString(addressListByUserId);
    }

    /**
     * 查找该角色的所有地址信息,返回Map格式
     * @param session
     * @return
     */
    @RequestMapping("/listByUser")
    public String findAddressListByUser(HttpSession session){
        Map<String, Object> map = addressService.findAddressListByUser(session);
        return JSON.toJSONString(map);
    }

    /**
     * 添加地址
     * @param vo
     * @return
     */
    @RequestMapping("/add")
    public String addAddress(AddressVo vo, HttpSession session){
        Map<String, Object> map = addressService.addAddress(vo, session);
        return JSON.toJSONString(map);
    }

    /**
     * 修改地址
     * @param vo
     * @return
     */
    @RequestMapping("/modify")
    public String modifyAddress(AddressVo vo, HttpSession session){
        Map<String, Object> map = addressService.modifyAddress(vo, session);
        return JSON.toJSONString(map);
    }

    /**
     * 删除地址
     * @param addressId
     * @return
     */
    @RequestMapping("/delete")
    public String deleteAddress(Long addressId){
        Map<String, Object> map = addressService.deleteAddress(addressId);
        return JSON.toJSONString(map);
    }
}

前台用户信息控制层:

@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    /**
     * 用户登录
     * @param username
     * @param password
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("/login")
    public String login(String username, String password, HttpSession session){
        Map<String, Object> map = userService.login(username, password, session);
        return JSON.toJSONString(map);
    }

    /**
     * 退出登录
     * @param session
     * @return
     */
    @RequestMapping("/exit")
    public String exit(HttpSession session){
        userService.exit(session);
        return "redirect:/login.html";
    }

    /**
     * 校验用户注册输入的用户名是否存在
     * @param username
     * @return
     */
    @ResponseBody
    @RequestMapping("/checkUsername")
    public String checkUsername(String username){
        Map<String, Object> map = userService.checkUsername(username);
        return JSON.toJSONString(map);
    }

    /**
     * 用户注册
     * @param vo
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("/register")
    public String register(UserVo vo, HttpSession session){
        Map<String, Object> register = userService.register(vo, session);
        return JSON.toJSONString(register);
    }

    /**
     * 查询登录用户的个人资料
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("/findUserByUserId")
    public String findUserByUserId(HttpSession session){
        Long userId = ((UserEntity) session.getAttribute(SystemConstant.USERLOGIN)).getUserId();
        Map<String, Object> userByUserId = userService.findUserByUserId(userId);
        return JSON.toJSONString(userByUserId);
    }

    /**
     * 查询某个用户的个人资料
     * @param vo
     * @return
     */
    @ResponseBody
    @RequestMapping("/modifyUserInfo")
    public String modifyUserInfo(UserVo vo, HttpSession session){
        Map<String, Object> map = userService.modifyUserReception(vo, session);
        return JSON.toJSONString(map);
    }

    /**
     * 用户修改密码
     * @param oldPassword
     * @param newPassword
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("/modifyPassword")
    public String modifyPassword(String oldPassword, String newPassword, HttpSession session){
        Map<String, Object> map = userService.modifyPassword(oldPassword, newPassword, session);
        return JSON.toJSONString(map);
    }
}

优惠券商城控制器:

/**
 * 优惠券商城控制器
 */
@RestController
@RequestMapping("/reception/ticket")
public class TicketController {

    @Autowired
    private TicketService ticketService;

    /**
     * 查询所有上架的优惠券类别
     * @return
     */
    @RequestMapping("/findAll")
    public String findAllTicketOnShelf(){
        Map<String, Object> map = ticketService.findAllTicketOnShelf();
        return JSON.toJSONString(map);
    }

    /**
     * 领取优惠券
     * @param ticketTypeId
     * @param session
     * @return
     */
    @RequestMapping("/receiveTicket")
    public String receiveTicket(Long ticketTypeId, HttpSession session){
        Map<String, Object> map = ticketService.receiveTicket(ticketTypeId, session);
        return JSON.toJSONString(map);
    }

    /**
     * 查询某个用户的优惠券记录
     * @param session
     * @return
     */
    @RequestMapping("/findByUser")
    public String findByUser(HttpSession session){
        Map<String, Object> map = ticketService.findByUser(session);
        return JSON.toJSONString(map);
    }

    /**
     * 查询该用户未使用的优惠券
     * @param session
     * @return
     */
    @RequestMapping("/findByUserUnuse")
    public String findByUserUnuse(HttpSession session){
        Map<String, Object> map = ticketService.findByUserUnuse(session);
        return JSON.toJSONString(map);
    }

    /**
     * 根据优惠券编号查询优惠券
     * @param ticketId
     * @return
     */
    @RequestMapping("/findTicketById")
    public String findTicketById(Long ticketId){
        Map<String, Object> map = ticketService.findTicketById(ticketId);
        return JSON.toJSONString(map);
    }

}

购物车控制器:

/**
 * 购物车控制器
 */
@RestController
@RequestMapping("/reception/shopcart")
public class ShopcartController {

    @Autowired
    private ShopcartService shopcartService;

    /**
     * 添加菜品SKU到购物车
     * @param session
     * @param numCount
     * @param skuId
     * @return
     */
    @RequestMapping("/add")
    public String addShopcart(Long skuId, Integer numCount, HttpSession session){
        Map<String, Object> map = shopcartService.addShopcart(skuId, numCount, session);
        return JSON.toJSONString(map);
    }

    /**
     * 查找该用户下的所有购物车信息
     * @param session
     * @return
     */
    @RequestMapping("/findByUserId")
    public String findAllShopcartByUserId(HttpSession session){
        Map<String, Object> map = shopcartService.findAllShopcartByUserId(session);
        return JSON.toJSONString(map);
    }

    /**
     * 新增该用户某个SKU菜品的数量
     * @param shopcartId
     * @return
     */
    @RequestMapping("/addNumCountOne")
    public String addNumCountOne(Long shopcartId){
        Map<String, Object> map = shopcartService.addNumCountOne(shopcartId);
        return JSON.toJSONString(map);
    }

    /**
     * 减少该用户某个SKU菜品的数量
     * @param shopcartId
     * @return
     */
    @RequestMapping("/reduceNumCountOne")
    public String reduceNumCountOne(Long shopcartId){
        Map<String, Object> map = shopcartService.reduceNumCountOne(shopcartId);
        return JSON.toJSONString(map);
    }

    /**
     * 删除购物车的某一个条目
     * @param shopcartId
     * @return
     */
    @RequestMapping("/delete")
    public String deleteShopcart(Long shopcartId){
        Map<String, Object> map = shopcartService.deleteShopcart(shopcartId);
        return JSON.toJSONString(map);
    }

}

到此这篇关于Java 实战项目之在线点餐系统的实现流程的文章就介绍到这了,更多相关Java 在线点餐系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java Swing实现餐厅点餐系统源码(收藏版)

    本文适合Java初级选手,主要技术是Java和MySQL.主要功能如下: (1)注册功能 (2)管理员可以新增套餐 (3)管理员可以管理套餐 (4)管理员可以处理订单 (5)管理员可以修改密码 (6)顾客可以点餐 (7)顾客可以查看订单信息 (8)顾客可以修改个人信息 下面是项目目录 源码有点多,不太好贴,如果需要源码,可以关注公众号[Java技术迷]回复[2021]编号03即是该系统的源码. 即可获取整套源码,也可以直接扫码关注 下面是系统运行图 如果需要源码,可以关注公众号回复[2021]即

  • Java实现KFC点餐系统过程解析

    这篇文章主要为大家详细介绍了java实现KFC点餐系统,模拟肯德基快餐店的收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件

  • Java 实战项目之在线点餐系统的实现流程

    一.项目简述 功能包括: 在线点餐,评论,购物车,下单,支付,管理员,店家多 商家管理,后台评论管理,订单管理,商品管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ mave

  • java实现可视化界面肯德基(KFC)点餐系统代码实例

    一.题目 使用java实现可视化KFC点餐系统. 二.题目分析 根据java中的用户图形界面包中的各个类设计界面.利用JFrame提供最大的容器,然后设计各个面板,各个面板中添加所需要的组件,本程序中需要对按钮组件添加监听者,当按下按钮之后做出相应的相应. 对于程序运行显示的第一个界面由一个继承于JFrame的类run类在构造函数中设计并通过函数setVisible(true)显示在界面上,界面上有一个按钮"点餐饮",当此按钮按下时触发响应函数,进入点餐界面,然后通过点击点餐界面各食物

  • Java前后端分离的在线点餐系统实现详解

    项目功能: 此项目分为两个角色:普通用户和管理员.普通用户有登录注册.浏览商品信息.添加购物车.结算订单.查看个人信息.查看个人订单详情等等功能.管理员有管理所有商品信息.管理所有订单信息.管理所有用户信息.查看收益数据图表等等功能. 应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI 运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6

  • Java实现简单点餐系统

    用Java实现简单点餐系统,供大家参考,具体内容如下 程序控制分析: 1.欢迎页循环:do-while2.Scanner 控制输入3.选择页循环:switch-case 要求: 订单信息:String 二维数组序号.姓名.餐品名称.份数.价格.总价.地址.时间(10-20).状态(已预定.已完成).热度(int型) 签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收. 删除订单:不能删除未完成订单,序号要随之改变. 我要点赞:对相应的餐品点赞,并展示. package Pract

  • Java实现餐厅点餐系统的实例代码

    学习Java实现餐厅点餐系统,本文实现该系统的功能截图,和数据库设计SQL语句,系统功能图,功能优势等供大家参考 1.点餐管理系统背景 随着科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成. a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能. b.和现有系统比较起来,本系统是B/S结构,一般点餐系统为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑或者手机具有浏览器,在同一局域网就可以进行订餐.

  • java实现KFC点餐系统

    同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能(写到文件中). 类图: 建立IFood接口实现各类食物信息的打印: public interface IFood { /** * 打印输出食物

  • Java 实战项目之在线点餐系统的实现流程

    一.项目简述 功能包括: 前台实现:用户浏览菜单.菜品分类筛选.查看菜单详 情.添加购物车.购物车结算.会员券.个人订单查询等 等. 后台实现:餐系管理.菜品管理.订单管理.系统管理. 酉己备员管理等. 系统分为:高或管理员.顾客.厨师.配送员等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC +

  • Java 实战项目之家居购物商城系统详解流程

    一.项目简述 功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用户管理,商品管理,分类管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload 打开订单列

  • Java 实战项目锤炼之网上商城系统的实现流程

    一.项目简述(+需求文档+PPT) 功能: 主页显示热销商品:所有商品展示,可进行商品搜索:点 击商品进入商品详情页,显示库存,具有立即购买和加入 购物车功能,可增减购买商品数量亦可手动输入(同时验证 库存),热销商品展示.立即购买进入确认订单页面,可选 择已经添加的地址,亦可新增地址.(同时验证库存),可 选择购买哪些商品,可删除不需要的商品.点击结算进入 确认订单页面,确认后提交订单,订单重复提交给予响 应,库存不足或商品下架给予响应.后台管理:(修改密码 等),商品管理(商品批量添加.上下

  • Java 实战项目之诚途旅游系统的实现流程

    采用ssm架构实现的旅游网站系统 包括网站展示和后台管理功能,网站主要是页面浏览以及评论.制定旅游方案.智能推荐功能 后台就是维护网站展示的内容,添加旅游景点.管理用户.查看用户的搜索记录功能 酒店信息控制层: /** * 控制器层 * */ @Controller @CrossOrigin @RequestMapping("/hotel") public class HotelController { @Autowired private HotelService hotelServ

  • Java 实战项目之家政服务平台系统的实现流程

    一.项目简述 功能包括: 家政服务网站系统,用户注册,登录,分为家政人员,普 通用户,以及最高管理员,包括家政分类查询,展示,线 上预约服务,家政申请,评论,留言沟通・,联系家政服 务,家政人员的认证,职业认证,以及后台的维护等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis

  • Java实战之实现在线小说阅读系统

    目录 环境配置 项目技术 效果图 读者用户控制器 图书管理控制层 图书订单管理控制层 角色管理控制层 历史控制层 环境配置 Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术 Layui+Springboot+ SpringMVC + HTML + FTP+ JavaScript + JQuery + Ajax + maven等等. 效果图 读者用户控制器 @Controller pu

  • Java实战之校园外卖点餐系统的实现

    目录 一.项目简述 二.效果图展示 三.核心代码 管理员controller控制层 管理员角色controler控制层 后台登录控制层 订单模块controller控制层 一.项目简述 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + css + JavaScript + JQuery + Ajax

  • Java 实战项目锤炼之网上花店商城的实现流程

    一.项目简述 功能: 一套完整的网上花店商场系统,系统支持前台会员的注册 登陆系统留言,花朵的品种选择,详情浏览,加入购物 车,购买花朵等:后台支持管理员的花朵种类添加,花朵 详情的添加修改,用户管理,留言管理,商场新闻管理等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP + Servlert + html+ css + JavaScri

  • Java 实战项目锤炼之嘟嘟健身房管理系统的实现流程

    一.项目简述 功能包括: 前台+后台健身房管理系统,用户预订,教练选择.课程选 择,登录,后台管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等. 系统操作模块

随机推荐