Java 實(shí)戰(zhàn)項(xiàng)目之在線點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)流程
一、項(xiàng)目簡(jiǎn)述
功能包括: 前臺(tái)實(shí)現(xiàn):用戶瀏覽菜單、菜品分類篩選、查看菜單詳 情、添加購(gòu)物車、購(gòu)物車結(jié)算、會(huì)員券、個(gè)人訂單查詢等 等。 后臺(tái)實(shí)現(xiàn):餐系管理、菜品管理、訂單管理、系統(tǒng)管理、 酉己備員管理等。 系統(tǒng)分為:高或管理員、顧客、廚師、配送員等等。
二、項(xiàng)目運(yùn)行
環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
項(xiàng)目技術(shù): JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
后臺(tái)用戶信息控制層:
@RestController @RequestMapping("/backstage/user") public class UserManageController { @Autowired private UserService userService; /** * 根據(jù)頁(yè)面的條件查找用戶列表 * @param vo * @return */ @RequestMapping("/list") public String findUserListByPage(UserVo vo){ LayuiTableDataResult userListByPage = userService.findUserListByPage(vo); return JSON.toJSONString(userListByPage); } /** * 后臺(tái)添加用戶 * @param vo * @return */ @RequestMapping("/add") public String addUser(UserVo vo){ Map<String, Object> map = userService.addUser(vo); return JSON.toJSONString(map); } /** * 后臺(tái)修改用戶信息 * @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); } /** * 為用戶授權(quán)角色 * @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數(shù)據(jù)表格格式 */ @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); } }
前臺(tái)用戶信息控制層:
@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"; } /** * 校驗(yàn)用戶注冊(cè)輸入的用戶名是否存在 * @param username * @return */ @ResponseBody @RequestMapping("/checkUsername") public String checkUsername(String username){ Map<String, Object> map = userService.checkUsername(username); return JSON.toJSONString(map); } /** * 用戶注冊(cè) * @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); } /** * 查詢登錄用戶的個(gè)人資料 * @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); } /** * 查詢某個(gè)用戶的個(gè)人資料 * @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); } }
優(yōu)惠券商城控制器:
/** * 優(yōu)惠券商城控制器 */ @RestController @RequestMapping("/reception/ticket") public class TicketController { @Autowired private TicketService ticketService; /** * 查詢所有上架的優(yōu)惠券類別 * @return */ @RequestMapping("/findAll") public String findAllTicketOnShelf(){ Map<String, Object> map = ticketService.findAllTicketOnShelf(); return JSON.toJSONString(map); } /** * 領(lǐng)取優(yōu)惠券 * @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); } /** * 查詢某個(gè)用戶的優(yōu)惠券記錄 * @param session * @return */ @RequestMapping("/findByUser") public String findByUser(HttpSession session){ Map<String, Object> map = ticketService.findByUser(session); return JSON.toJSONString(map); } /** * 查詢?cè)撚脩粑词褂玫膬?yōu)惠券 * @param session * @return */ @RequestMapping("/findByUserUnuse") public String findByUserUnuse(HttpSession session){ Map<String, Object> map = ticketService.findByUserUnuse(session); return JSON.toJSONString(map); } /** * 根據(jù)優(yōu)惠券編號(hào)查詢優(yōu)惠券 * @param ticketId * @return */ @RequestMapping("/findTicketById") public String findTicketById(Long ticketId){ Map<String, Object> map = ticketService.findTicketById(ticketId); return JSON.toJSONString(map); } }
購(gòu)物車控制器:
/** * 購(gòu)物車控制器 */ @RestController @RequestMapping("/reception/shopcart") public class ShopcartController { @Autowired private ShopcartService shopcartService; /** * 添加菜品SKU到購(gòu)物車 * @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); } /** * 查找該用戶下的所有購(gòu)物車信息 * @param session * @return */ @RequestMapping("/findByUserId") public String findAllShopcartByUserId(HttpSession session){ Map<String, Object> map = shopcartService.findAllShopcartByUserId(session); return JSON.toJSONString(map); } /** * 新增該用戶某個(gè)SKU菜品的數(shù)量 * @param shopcartId * @return */ @RequestMapping("/addNumCountOne") public String addNumCountOne(Long shopcartId){ Map<String, Object> map = shopcartService.addNumCountOne(shopcartId); return JSON.toJSONString(map); } /** * 減少該用戶某個(gè)SKU菜品的數(shù)量 * @param shopcartId * @return */ @RequestMapping("/reduceNumCountOne") public String reduceNumCountOne(Long shopcartId){ Map<String, Object> map = shopcartService.reduceNumCountOne(shopcartId); return JSON.toJSONString(map); } /** * 刪除購(gòu)物車的某一個(gè)條目 * @param shopcartId * @return */ @RequestMapping("/delete") public String deleteShopcart(Long shopcartId){ Map<String, Object> map = shopcartService.deleteShopcart(shopcartId); return JSON.toJSONString(map); } }
到此這篇關(guān)于Java 實(shí)戰(zhàn)項(xiàng)目之在線點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)流程的文章就介紹到這了,更多相關(guān)Java 在線點(diǎn)餐系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java前后端分離的在線點(diǎn)餐系統(tǒng)實(shí)現(xiàn)詳解
- Java 實(shí)戰(zhàn)項(xiàng)目之在線點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)流程
- Java Swing實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng)源碼(收藏版)
- Java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng)過(guò)程解析
- Java實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng)的實(shí)例代碼
- java實(shí)現(xiàn)可視化界面肯德基(KFC)點(diǎn)餐系統(tǒng)代碼實(shí)例
- java實(shí)現(xiàn)KFC點(diǎn)餐系統(tǒng)
- Java實(shí)現(xiàn)簡(jiǎn)單點(diǎn)餐系統(tǒng)
相關(guān)文章
java鏈表應(yīng)用--基于鏈表實(shí)現(xiàn)隊(duì)列詳解(尾指針操作)
這篇文章主要介紹了java鏈表應(yīng)用--基于鏈表實(shí)現(xiàn)隊(duì)列,結(jié)合實(shí)例形式分析了java基于鏈表實(shí)現(xiàn)隊(duì)列尾指針相關(guān)操作使用技巧,需要的朋友可以參考下2020-03-03Java源碼解析CopyOnWriteArrayList的講解
今天小編就為大家分享一篇關(guān)于Java源碼解析CopyOnWriteArrayList的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01Java Shutdown Hook場(chǎng)景使用及源碼分析
shutdown hook 就是一個(gè)簡(jiǎn)單的已初始化但是未啟動(dòng)的線程,本文詳細(xì)的介紹了Java Shutdown Hook場(chǎng)景使用及源碼分析,感興趣的朋友可以參考一下2021-06-06Java中如何使用?byte?數(shù)組作為?Map?的?key
本文將討論在使用HashMap時(shí),當(dāng)byte數(shù)組作為key時(shí)所遇到的問(wèn)題及其解決方案,介紹使用String和List這兩種數(shù)據(jù)結(jié)構(gòu)作為臨時(shí)解決方案的方法,感興趣的朋友跟隨小編一起看看吧2023-06-06關(guān)于apollo和Spring集成@Value注解通用解析
這篇文章主要介紹了關(guān)于apollo和Spring集成@Value注解通用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Springboot消除switch-case過(guò)程解析
這篇文章主要介紹了Springboot消除switch-case過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10關(guān)于Process的waitFor死鎖問(wèn)題及解決方案
這篇文章主要介紹了關(guān)于Process的waitFor死鎖問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(13)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07