Java實(shí)戰(zhàn)之小米交易商城系統(tǒng)的實(shí)現(xiàn)
一、項(xiàng)目簡(jiǎ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等等。
二、效果圖
三、核心代碼
用戶購(gòu)物車控制層
@CrossOrigin @RestController @RequestMapping("carts") public class CartController { @Autowired private RegLogServiceImp regLogServiceImp; @Autowired private GoodServiceImp goodServiceImp; @Autowired private CartServiceImp cartServiceImp; @PostMapping("/push") public CartResult putShop(@RequestBody pushCart pushcart) throws IOException { CartResult cartResult = new CartResult(); boolean success = TokenUtil.verify(pushcart.getToken()); if (success) { cartResult.setStatus(0); User user = regLogServiceImp.getUserByUserName(pushcart.getUsername().trim()); String userid = user.getUserid(); CartGood cartGood = goodServiceImp.getGoodByid(userid, pushcart.getProductId()); if (cartGood == null) { int goodcount = 1; CartGoodInsert goodByidinsert = goodServiceImp.getGoodByidinsert(pushcart.getProductId()); goodServiceImp.insCartGood(userid, pushcart.getProductId(), goodByidinsert.getName(), goodByidinsert.getPrice(), goodcount, goodByidinsert.getSubtitle(), goodByidinsert.getProductStock(), goodByidinsert.getStatus(), true); } else { goodServiceImp.updateCartGood(userid, cartGood.getCount() + 1, pushcart.getProductId(), (cartGood.getCount() + 1) * cartGood.getPrice()); } cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid); int cartTotalPrice = 0; boolean selectedAll = true; int cartTotalQuantity = 0; for (cartProduct cartProduct : cartProductVoList.getList()) { cartTotalPrice += cartProduct.getProductTotalPrice(); if (!cartProduct.isProductSelected()) { selectedAll = false; } cartTotalQuantity += cartProduct.getCount(); } cartResult.setStatus(0); cartResult.setCartTotalPrice(cartTotalPrice); cartResult.setCartTotalQuantity(cartTotalQuantity); cartResult.setData(cartProductVoList); cartResult.setImageHost("www.mi.com"); cartResult.setSelectedAll(selectedAll); } else { cartResult.setStatus(10); } return cartResult; } @GetMapping("/sum") public CartResult getCartSum(@RequestParam("username") String username) throws IOException { CartResult cartResult = new CartResult(); User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid); if(cartProductVoList==null){ cartResult.setStatus(0); cartResult.setCartTotalQuantity(0); } else { int cartTotalQuantity=0; for(cartProduct cartProduct:cartProductVoList.getList()){ cartTotalQuantity+=cartProduct.getCount(); } cartResult.setStatus(0); cartResult.setCartTotalQuantity(cartTotalQuantity); } return cartResult; } @RequestMapping("/del") public CartResult delCarts(@RequestParam("id") int goodid, @RequestParam("username") String username) throws IOException { User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); goodServiceImp.delGoodByid(userid,goodid); CartResult cartResult = getCarts(username); return cartResult; } @RequestMapping("/getcarts") public CartResult getCarts (@RequestParam("username") String username) throws IOException { CartResult cartResult = new CartResult(); User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid); if(cartProductVoList==null){ cartResult.setStatus(0); cartResult.setCartTotalQuantity(0); cartResult.setSelectedAll(false); cartResult.setImageHost("www.mi.com"); cartResult.setCartTotalQuantity(0); } else { int carttotalPrice=0; boolean selectedall=true; int carttotalQuantity=0; for(cartProduct cartProduct:cartProductVoList.getList()){ if(cartProduct.isProductSelected()) carttotalPrice+=cartProduct.getProductTotalPrice(); if(!cartProduct.isProductSelected()){ selectedall=false; } carttotalQuantity+=cartProduct.getCount(); } cartResult.setStatus(0); cartResult.setCartTotalPrice(carttotalPrice); cartResult.setCartTotalQuantity(carttotalQuantity); cartResult.setData(cartProductVoList); cartResult.setImageHost("www.mi.com"); cartResult.setSelectedAll(selectedall); } return cartResult; } @GetMapping("/updatecart") public CartResult getCarts ( @RequestParam("goodid") int goodid, @RequestParam("username") String username, @RequestParam("quantity") int count, @RequestParam("selected") boolean selected ) throws IOException { User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); CartGood goodByid = goodServiceImp.getGoodByid(userid, goodid); goodServiceImp.updaCartNumSel(userid,goodid,count,selected,goodByid.getPrice()*count); CartResult carts = getCarts(username); return carts; } @GetMapping("/selectAll") public CartResult SelectAllCart(@RequestParam("username") String username) throws IOException { User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); goodServiceImp.updaCartSelect(userid); CartResult cartResult = getCarts(username); return cartResult; } @GetMapping("/unSelectAll") public CartResult unSelectAllCart(@RequestParam("username") String username) throws IOException { User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); goodServiceImp.updaCartunSelect(userid); CartResult cartResult = getCarts(username); cartResult.setCartTotalQuantity(0); cartResult.setCartTotalPrice(0); return cartResult; } }
后臺(tái)登錄控制層
@CrossOrigin @RestController @RequestMapping("Login") public class LoginController { @Autowired private LoginServiceImp loginServiceImp; Map<String, String> keyMap = RSAUtils.createKeys(512); // String publicKey = keyMap.get("publicKey"); // String privateKey = keyMap.get("privateKey"); // private String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIS-9P6aiWK-mNIJxz0R_XXIbHM21pS_ZncpQcE8T5Mu6P6sJfoi5Cw6S4jcSqxNbRs5FSUc59GAkU1Ek9onrz8CAwEAAQ"; private String privateKey = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAhL70_pqJYr6Y0gnHPRH9dchsczbWlL9mdylBwTxPky7o_qwl-iLkLDpLiNxKrE1tGzkVJRzn0YCRTUST2ievPwIDAQABAkAviOHaOiRwQ6gdrnq2F7cXcknDiCOW6GMc0J1HQP2Nyn52HKtc9E9Ailm-eQesTw6P-qTsvHMyfuVYz8fLhfkhAiEAvhvoG2Dz6qSN6IHeuPboJP7YHK9zTt6M_NGCJKAenasCIQCywU7eStITcHFTRDjjShH0CfO-vR6q-zgWQPjtNI_YvQIgY8UNiODW4bu-ZdlSY8vghRnhnRxO7YNKhpwFKueFacUCIQCZ-P65ZVNs4ScMZTBnP48VWVk2S-rVto0KRi7lC6h4NQIgEa_GhBO6U2p6G5cGAR25ZiQVH9dFnrMVyPxY7P7-WsA"; @PostMapping("/login") public LoginResult Login(@RequestBody User adminUser) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException { User user = loginServiceImp.getUserByUserName(adminUser.getUsername()); LoginResult result = new LoginResult(); LoginData loginData = new LoginData(); if (user == null) { result.setMsg("無此用戶,請(qǐng)重新輸入正確用戶名"); result.setStatus(2008); } else { if (RSAUtils.privateDecrypt(user.getPwd(), RSAUtils.getPrivateKey(privateKey)).equals(adminUser.getPwd())){ result.setStatus(0); String token = TokenUtil.token(user.getId().trim()); loginData.setToken(token); result.setMsg("登錄成功"); result.setStatus(1010); result.setData(loginData); }else{ result.setStatus(2007); result.setMsg("密碼錯(cuò)誤"); } } return result; } }
后臺(tái)商品管理控制層
@CrossOrigin @RestController @RequestMapping("Good") public class GoodController { @Autowired private GoodServiceImp goodServiceImp; @GetMapping("/getGood") private GoodResult getGood(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize, @RequestParam("name") String goodname ) throws IOException { GoodResult goodResult = goodServiceImp.getGood(pageIndex,pageSize,goodname); return goodResult; } @GetMapping("/getGoodById") private GoodResult getGoodById(@RequestParam("category") int pageIndex, @RequestParam("pageSize") int pageSize ) throws IOException { GoodResult goodResult = goodServiceImp.getGoodById(pageIndex,pageSize); return goodResult; } @RequestMapping("/getGoodByName") private GoodResult getGoodByName(@RequestParam("name") String goodname) throws IOException { GoodResult goodResult = goodServiceImp.getGoodByName(goodname); return goodResult; } @RequestMapping("/updGood") private GoodResult getGoodByName(@RequestParam("good_id") int goodid, @RequestParam("name") String goodname, @RequestParam("newhot") int newhot) throws IOException { GoodResult goodResult = goodServiceImp.updGood(goodid,goodname,newhot); return goodResult; } @GetMapping("/getGoodPicById") private GoodPicResult getGoodPicById(@RequestParam("category") int pageIndex, @RequestParam("pageSize") int pageSize ) throws IOException { GoodPicResult goodpicResult = goodServiceImp.getGoodPic(pageIndex,pageSize); return goodpicResult; } @RequestMapping("/getGoodPicByName") private GoodPicResult getGoodPicByName(@RequestParam("name") String goodname) throws IOException { // int categor = Integer.parseInt(category); GoodPicResult goodResult = goodServiceImp.getGoodPicByName(goodname); return goodResult; } @PostMapping("/pushGood") private GoodPushResult pushGood(@RequestBody good good) throws IOException { GoodPushResult goodPushResult = goodServiceImp.getGoodPush(good); return goodPushResult; } @PostMapping("/delGood") private void delGood(@RequestBody good good) throws IOException { goodServiceImp.delGood(good); } @PostMapping("/delMulGood") private void delMulGood(@RequestBody List<good> goods) throws IOException { goodServiceImp.delMulGood(goods); } @GetMapping("/getGoodPic") private GoodPicResult getGoodPic(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) throws IOException { GoodPicResult goodPicResult = goodServiceImp.getGoodPic(pageIndex,pageSize); return goodPicResult; } @PostMapping("/updGoodPic") private void upGoodPic(@RequestBody GoodPic goodPic) throws IOException { int goodid= goodPic.getGood_id(); String icon= goodPic.getIcon(); String imageHead = goodPic.getImageHead(); String imageFoot = goodPic.getImageFoot(); goodServiceImp.updGoodPic(goodid,icon,1); goodServiceImp.updGoodPic(goodid,imageHead,2); goodServiceImp.updGoodPic(goodid,imageFoot,3); } }
后臺(tái)品類控制層
@CrossOrigin @RestController @RequestMapping("category") public class CategoryController { @Autowired private CategServiceImp categServiceImp; @GetMapping("/getCategory") private CateResult getCategory(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) throws IOException { CateResult cateResult = categServiceImp.getCategory(pageIndex, pageSize); return cateResult; } @PostMapping("/updateCategory") private void updateCategory(@RequestBody Category category) throws IOException { categServiceImp.updCategory(category.getName(),category.getCategoryId()); } }
以上就是Java實(shí)戰(zhàn)之小米交易商城系統(tǒng)的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Java交易商城系統(tǒng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之健身器材商城系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之仿小米電子產(chǎn)品售賣商城系統(tǒng)的實(shí)現(xiàn)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)項(xiàng)目之在線服裝銷售商城系統(tǒng)的實(shí)現(xiàn)流程
- Java 仿天貓服裝商城系統(tǒng)的實(shí)現(xiàn)流程
- Java女裝商城系統(tǒng)的實(shí)現(xiàn)流程
- Java 實(shí)戰(zhàn)項(xiàng)目錘煉之在線蛋糕商城系統(tǒng)的實(shí)現(xiàn)
- Java 實(shí)戰(zhàn)項(xiàng)目錘煉之網(wǎng)上商城系統(tǒng)的實(shí)現(xiàn)流程
相關(guān)文章
詳解Spring boot/Spring 統(tǒng)一錯(cuò)誤處理方案的使用
這篇文章主要介紹了詳解Spring boot/Spring 統(tǒng)一錯(cuò)誤處理方案的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶
這篇文章主要介紹了JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06StackTraceElement獲取方法調(diào)用棧信息實(shí)例詳解
這篇文章主要介紹了StackTraceElement獲取方法調(diào)用棧信息實(shí)例詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Java Spring 控制反轉(zhuǎn)(IOC)容器詳解
這篇文章主要為大家詳細(xì)介紹了Spring控制反轉(zhuǎn)IoC入門使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10JMS簡(jiǎn)介與ActiveMQ實(shí)戰(zhàn)代碼分享
這篇文章主要介紹了JMS簡(jiǎn)介與ActiveMQ實(shí)戰(zhàn)代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12如何解決項(xiàng)目中java heap space的問題
這篇文章主要介紹了如何解決項(xiàng)目中java heap space的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07spring boot整合RabbitMQ實(shí)例詳解(Fanout模式)
這篇文章主要介紹了spring boot整合RabbitMQ的實(shí)例講解(Fanout模式),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04