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

 更新时间:2021年11月20日 15:38:57   作者:qq_1334611189  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现在线点餐系统,大家可以在过程中查缺补漏,提升水平

一、项目简述

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

二、项目运行

环境配置: 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 在线点餐系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring事务失效场景的详细整理

    Spring事务失效场景的详细整理

    Spring 事务的传播特性说的是,当多个事务同时存在的时候,Spring 如何处理这些事务的特性,下面这篇文章主要给大家介绍了关于Spring事务失效场景的相关资料,需要的朋友可以参考下
    2022-02-02
  • java实现系统多级文件夹复制

    java实现系统多级文件夹复制

    这篇文章主要为大家详细介绍了java实现系统多级文件夹复制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • spring boot整合shiro安全框架过程解析

    spring boot整合shiro安全框架过程解析

    这篇文章主要介绍了spring boot整合shiro安全框架过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • apllo开源分布式配置中心详解

    apllo开源分布式配置中心详解

    这篇文章主要为大家介绍了apllo开源分布式配置中心部署详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • SpringBoot异步方法捕捉异常详解

    SpringBoot异步方法捕捉异常详解

    这篇文章主要为大家详细介绍了SpringBoot异步方法捕捉异常,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Spring AOP日志框架实现过程图解

    Spring AOP日志框架实现过程图解

    这篇文章主要介绍了Spring AOP日志框架实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Spring的同一个服务会加载多次的问题分析及解决方法

    Spring的同一个服务会加载多次的问题分析及解决方法

    这篇文章主要介绍了Spring的同一个服务为什么会加载多次,我们先来梳理一下 Web 容器中如何加载 Bean,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • mybatis-generator-gui 工具使用(图形化工具)

    mybatis-generator-gui 工具使用(图形化工具)

    基于 mybatis generator 开发一款界面工具, 本工具可以使你非常容易及快速生成 Mybatis 的 Java POJO 文件及数据库 Mapping 文件。本文重点给大家介绍mybatis-generator-gui 工具使用,感兴趣的朋友一起看看吧
    2022-03-03
  • 基于IOC容器实现管理mybatis过程解析

    基于IOC容器实现管理mybatis过程解析

    这篇文章主要介绍了基于IOC容器实现管理mybatis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 完美解决docx4j变量替换的问题

    完美解决docx4j变量替换的问题

    这篇文章主要介绍了完美解决docx4j变量替换的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论