——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Node.js≥14
开发工具 后端:eclipse/idea/myeclipse/sts等均可配置运行 前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot仿小米商城系统(前后端分离+java+vue+springboot+ssm+mysql+maven+redis)
一、项目简述
本系统功能包括: 基于vue + Springboot前后端分离项目精简版仿小米商城 系统,注册登录,首页展示,商品展示,商品购买,下单支 付(支付有点小问题仅支持单个商品支付)后台维护等 等。
二、项目运行
环境配置: Jdk1.8 + Mysql + HBuilderX ( Webstorm也 行)+ Eclispe ( IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。
项目技术: Springboot + Maven + Mybatis + Vue + Redis, B/S 模式+ Maven等等。
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 @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("无此用户,请重新输入正确用户名" ); result.setStatus(2008 ); } else { if (user.getPwd().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("密码错误" ); } } return result; } } package com.zty.xiaomi.server.Controller;@CrossOrigin @RestController
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 @CrossOrigin @RestController @RequestMapping("login") public class LogRegController { @Autowired private RegLogServiceImp regLogServiceImp; @RequestMapping("/getRegister") public RegResult Register (@RequestParam("username") String username, @RequestParam("email") String email, @RequestParam("password") String password, @RequestParam("phone") String phone) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException { RegResult result = new RegResult(); System.out.println(username.length()); if (username.equals("" ) || email.equals("" ) || password.equals("" ) || phone.equals("" )){ result.setStatus(404 ); result.setMsg("填写信息不全" ); return result; } User user = regLogServiceImp.getUserByName(username); if (user != null ) { result.setStatus(2002 ); result.setMsg("账号已存在,注册失败!" ); } else { String userid = UUID.randomUUID().toString(); Map<String, String> keyMap = RSAUtils.createKeys(512 ); String publicKey = keyMap.get("publicKey" ); String privateKey = keyMap.get("privateKey" ); String encodedData = RSAUtils.publicEncrypt(password,RSAUtils.getPublicKey(publicKey)); String date = DateUtil.ptfDate(); regLogServiceImp.insertUser(userid,username,email,encodedData,phone,"可用" ,date,privateKey); result.setStatus(200 ); result.setMsg("注册成功!" ); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 OrderList orderList = orderServiceImp.creatOrder(ordCreaParm); orderResult.setData(orderList); return orderResult; } @RequestMapping("/getorderlist") public UserOrdListResult getUserOrdList (String username) throws IOException { UserOrdListResult userOrdListResult = new UserOrdListResult(); User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); List<UserOrdList> orderList = orderServiceImp.getOrderList(userid); for (UserOrdList userOrdList:orderList){ int orderNo = userOrdList.getOrderNo(); List<UserOrdItemList> orderListItems = orderServiceImp.getOrderListItems(orderNo); userOrdList.setItems(orderListItems); } userOrdListResult.setStatus(0 ); userOrdListResult.setTotal(orderList.size()); userOrdListResult.setList(orderList); return userOrdListResult; } @RequestMapping("/getorder") public OrdFinaResult getOrder (@RequestParam("id") int id) throws IOException { OrdFinaResult orderResult = new OrdFinaResult(); orderResult.setStatus(0 ); OrdFina orderList = orderServiceImp.getOrderById(id); orderResult.setOrdFina(orderList); return orderResult; } @RequestMapping("/getorderdetail") public OrdFinaResult getOrderDetail (@RequestParam("username") String username) throws IOException { User user = regLogServiceImp.getUserByUserName(username); String userid = user.getUserid(); List<orderItemVoList> orderItems = orderServiceImp.getOrderItems(userid); OrdFinaResult orderResult = new OrdFinaResult(); orderResult.setStatus(0 ); orderResult.setLists(orderItems); return orderResult; } } package com.zty.xiaomiadmin.server.Controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 @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()); } } package com.zty.xiaomi.server.Controller;@CrossOrigin @RestController @RequestMapping("product") public class ProductController { @Autowired private ProdServiceImp prodServiceImp; @RequestMapping("getinfo") public ProductResult getProductInfo (@RequestParam("id") int id) throws IOException { ProductResult productResult = new ProductResult(); productResult.setStatus(0 ); productResult.setData(prodServiceImp.getProductInfo(id)); return productResult; } } package com.zty.xiaomiadmin.server.Controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 @RequestParam("password") String password, @RequestParam("phone") String phone) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException { RegResult result = new RegResult(); System.out.println(username.length()); if (username.equals("" ) || email.equals("" ) || password.equals("" ) || phone.equals("" )){ result.setStatus(404 ); result.setMsg("填写信息不全" ); return result; } User user = regLogServiceImp.getUserByName(username); if (user != null ) { result.setStatus(2002 ); result.setMsg("账号已存在,注册失败!" ); } else { String userid = UUID.randomUUID().toString(); Map<String, String> keyMap = RSAUtils.createKeys(512 ); String publicKey = keyMap.get("publicKey" ); String privateKey = keyMap.get("privateKey" ); String encodedData = RSAUtils.publicEncrypt(password,RSAUtils.getPublicKey(publicKey)); String date = DateUtil.ptfDate(); regLogServiceImp.insertUser(userid,username,email,encodedData,phone,"可用" ,date,privateKey); result.setStatus(200 ); result.setMsg("注册成功!" ); } return result; } @RequestMapping("/UserLogin") public LoginResult Login (@RequestParam("username") String username, @RequestParam("password") String password) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException { User user = regLogServiceImp.getUserByUserName(username); LoginResult result = new LoginResult(); LoginData loginData = new LoginData();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 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(); }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=451222052008200vn https://javayms.pages.dev?id=451222052008200vn