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

相关文章

  • Eclipse中常用快捷键汇总

    Eclipse中常用快捷键汇总

    这篇文章主要介绍了Eclipse中常用快捷键,文中介绍的非常详细,帮助大家更好的利用eclipse开发,感兴趣的朋友可以了解下
    2020-07-07
  • java链表应用--基于链表实现队列详解(尾指针操作)

    java链表应用--基于链表实现队列详解(尾指针操作)

    这篇文章主要介绍了java链表应用--基于链表实现队列,结合实例形式分析了java基于链表实现队列尾指针相关操作使用技巧,需要的朋友可以参考下
    2020-03-03
  • Java源码解析CopyOnWriteArrayList的讲解

    Java源码解析CopyOnWriteArrayList的讲解

    今天小编就为大家分享一篇关于Java源码解析CopyOnWriteArrayList的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java Shutdown Hook场景使用及源码分析

    Java Shutdown Hook场景使用及源码分析

    shutdown hook 就是一个简单的已初始化但是未启动的线程,本文详细的介绍了Java Shutdown Hook场景使用及源码分析,感兴趣的朋友可以参考一下
    2021-06-06
  • Java中如何使用 byte 数组作为 Map 的 key

    Java中如何使用 byte 数组作为 Map 的 key

    本文将讨论在使用HashMap时,当byte数组作为key时所遇到的问题及其解决方案,介绍使用String和List这两种数据结构作为临时解决方案的方法,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • 关于apollo和Spring集成@Value注解通用解析

    关于apollo和Spring集成@Value注解通用解析

    这篇文章主要介绍了关于apollo和Spring集成@Value注解通用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Springboot消除switch-case过程解析

    Springboot消除switch-case过程解析

    这篇文章主要介绍了Springboot消除switch-case过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 关于Process的waitFor死锁问题及解决方案

    关于Process的waitFor死锁问题及解决方案

    这篇文章主要介绍了关于Process的waitFor死锁问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 多方面解读Java中的volatile关键字

    多方面解读Java中的volatile关键字

    这篇文章主要介绍了多方面解读Java中的volatile关键字,它的作用是强制对被修饰的变量的写操作立即刷新到主存中,并强制对该变量的读操作从主存中读取最新的值,而不是使用缓存中的值,需要的朋友可以参考下
    2023-05-05
  • Java日常练习题,每天进步一点点(13)

    Java日常练习题,每天进步一点点(13)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07

最新评论