Java實戰花店商城系統的實現流程
一、項目簡述
本系統功能包括:
商品的分類展示,用戶的註冊登錄,購物車,訂單結算,購物車加減,後臺商品管理,分類管理,訂單管理等等功能。
二、項目運行
環境配置:
Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
項目技術:
Springboot + Maven + mybatis+ Vue 等等組成,B/S模式 + Maven管理等等。
用戶管理控制層:
/** * 用戶 **/ @RestController @RequestMapping("user") public class UserController { @Autowired UserService userService; @Autowired UserDao dao; @RequestMapping("/test") R test() { R r = new R(); return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll()); } @RequestMapping("/queryInfoByAccount") R queryInfoByAccount(@RequestParam("account") String account) { R r = new R(); if (StringUtil.isEmpty(account)){ return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } User loginUser = userService.queryInfo(account); if (loginUser == null){ return r.setCode(4000).setMsg(HttpMsg.INVALID_USER); } return r.setCode(2000).setData(loginUser); } @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); Map<String, Object> map = new HashMap<>(); List<User> users = userService.find(searchKey); if (users == null) { return r.setCode(2000); } List<User> items = users.size() >= page * Constant.PAGE_SIZE ? users.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE) : users.subList((page - 1) * Constant.PAGE_SIZE, users.size()); int len = users.size() % Constant.PAGE_SIZE == 0 ? users.size() / Constant.PAGE_SIZE : (users.size() / Constant.PAGE_SIZE + 1); map.put("items", items); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/create") R create(@RequestBody User user) { R r = new R(); int ans = userService.add(user); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED); } @RequestMapping("/update") R update(@RequestBody User user) { R r = new R(); int ans = userService.update(user); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = userService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } }
訂單管理控制層:
/** * 用戶 **/ @RestController @RequestMapping("order") public class OrderController { @Autowired OrderService orderService; @Autowired UserDao userDao; @Autowired OrderDao orderDao; @Autowired FlowersDao flowersDao; @RequestMapping("/test") R test() { R r = new R(); return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(orderDao.findAll(null)); } @RequestMapping("/queryByAccount") R queryByAccount(@RequestParam("account") String account) { R r = new R(); if (StringUtil.isEmpty(account)) { return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } List<Order> orders = orderService.queryByAccount(account); return r.setCode(2000).setData(orders); } @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account) { R r = new R(); Map<String, Object> map = new HashMap<>(); List<Order> orders = orderService.find(searchKey, account); if (orders == null) { return r.setCode(2000); } map.put("items", orders); map.put("len", orders.size()); return r.setCode(2000).setData(map); } @RequestMapping("/findAll") R findAll(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey) { R r = new R(); Map<String, Object> map = new HashMap<>(); List<Order> orders = orderService.findAll(searchKey); if (orders == null) { return r.setCode(2000); } List<Order> items = orders.size() >= page * Constant.PAGE_SIZE ? orders.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE) : orders.subList((page - 1) * Constant.PAGE_SIZE, orders.size()); int len = orders.size() % Constant.PAGE_SIZE == 0 ? orders.size() / Constant.PAGE_SIZE : (orders.size() / Constant.PAGE_SIZE + 1); List<OrderVo> vos = new ArrayList<>(); for (Order item : items) { User user = userDao.queryById(item.getUid()); OrderVo vo = new OrderVo(); vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName()) .setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId()) .setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice()) .setState(item.getState()); vos.add(vo); } map.put("items", vos); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/update") R update(@RequestBody Order order) { R r = new R(); int ans = orderService.update(order); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } @RequestMapping("/changeState") R changeState(@RequestBody Order order) { orderDao.changeState(order); return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = orderService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } }
購物車控制層:
/** * 用戶 **/ @RestController @RequestMapping("cart") public class CartController { @Autowired CartService cartService; @Autowired OrderService orderService; @Autowired CartDao dao; @Autowired FlowersDao flowersDao; @RequestMapping("/test") R test() { R r = new R(); return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll()); } @RequestMapping("/queryByAccount") R queryByAccount(@RequestParam("account") String account) { R r = new R(); if (StringUtil.isEmpty(account)) { return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM); } List<Cart> carts = cartService.queryByAccount(account); for (Cart cart : carts) { float price = flowersDao.queryPrice(cart.getFid()); cart.setPrice(cart.getAmount() * price); } return r.setCode(2000).setData(carts); } @RequestMapping("/find") R find(@RequestParam("page") int page, @RequestParam("searchKey") String searchKey, @RequestParam("account") String account) { R r = new R(); Map<String, Object> map = new HashMap<>(); List<Cart> carts = cartService.find(searchKey, account); if (carts == null) { return r.setCode(2000); } List<Cart> items = carts.size() >= page * Constant.PAGE_SIZE ? carts.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE) : carts.subList((page - 1) * Constant.PAGE_SIZE, carts.size()); int len = carts.size() % Constant.PAGE_SIZE == 0 ? carts.size() / Constant.PAGE_SIZE : (carts.size() / Constant.PAGE_SIZE + 1); map.put("items", items); map.put("len", len); return r.setCode(2000).setData(map); } @RequestMapping("/buy") R buy(@RequestParam("account") String account) { R r = new R(); // 查該用戶的購物車 List<Cart> carts = (List<Cart>) queryByAccount(account).getData(); for (Cart cart : carts) { // 增加訂單數據 orderService.add(cart); // 刪除購物車數據 cartService.delete(cart.getId()); } return r.setCode(2000).setMsg(HttpMsg.BUY_OK); } @RequestMapping("/create") R create(@RequestBody Cart cart) { R r = new R(); int ans = cartService.add(cart); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.ADD_CART_OK); } return r.setCode(4000).setMsg(HttpMsg.ADD_CART_FAILED); } @RequestMapping("/update") R update(@RequestBody Cart cart) { R r = new R(); int ans = cartService.update(cart); if (ans >= 0) { return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED); } @DeleteMapping("/delete") R delete(@RequestParam("id") int id) { R r = new R(); int ans = cartService.delete(id); if (ans == 1) { return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK); } return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED); } }
到此這篇關於Java實戰花店商城系統的實現流程的文章就介紹到這瞭,更多相關Java 花店商城系統內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java實戰之鮮花商城系統的實現
- MybatisPlus修改時空字段無法修改的解決方案
- SpringBoot帶你實現一個點餐小程序
- 基於Java SSM的健康管理小程序的實現
- springboot與vue實現簡單的CURD過程詳析