基于javaweb的前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm)

主要模块设计如下: 前后端主要技术:Java springboot  springMVC  mybatis  mysql  vue  jquery  node.js redis

  1. 用户注册和登录功能:。

2) 用户信息的管理以及角色的管理、不同用户角色具有不同的功能权限操作。

  1. 商品的操作、包括商品列表信息、商品的分离、商品的详情、品牌和规格等操作。

4) 购物车的管理操作:

5) 订单管理操作:

6)用户退货管理

7)手机商品类型的管理

8)手机商品信息的预览、查看、搜索

9)修改密码、退出登录等功能

给大家截一部分效果图吧

系统首页:

加入购物车:

后台主要功能:

商品信息操作:

@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 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);

订单业务管理:

@CrossOrigin

@RestController

@RequestMapping(“orders”)

public class OrderController {

@Autowired

private OrderServiceImp orderServiceImp;

@Autowired

private RegLogServiceImp regLogServiceImp;

@PostMapping(“/createorder”)

public OrderResult createOrder(@RequestBody OrdCreaParm ordCreaParm) throws IOException {

OrderResult orderResult = new OrderResult();

orderResult.setStatus(0);

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 orderList = orderServiceImp.getOrderList(userid);

for(UserOrdList userOrdList:orderList){

int orderNo = userOrdList.getOrderNo();

List 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 orderItems = orderServiceImp.getOrderItems(userid);

OrdFinaResult orderResult = new OrdFinaResult();

orderResult.setStatus(0);

orderResult.setLists(orderItems);

return orderResult;

注册登录验证:

@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(“注册成功!”);

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();

if(user==null){

result.setMsg(“无此用户,请重新输入正确用户名”);

result.setStatus(2008);

else {

if(RSAUtils.privateDecrypt(user.getPwd(), RSAUtils.getPrivateKey(user.getPrivatekey().trim())).equals(password)){

result.setStatus(0);

String token = TokenUtil.token(user.getUserid().trim());

loginData.setToken(token);

result.setMsg(“登录成功”);

result.setData(loginData);

else {

result.setStatus(2007);

result.setMsg(“密码错误”);

return result;

购物车业务操作:

@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;


基于javaweb的前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm)相关推荐

  1. Java项目:前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm)

    源码获取:博客首页 "资源" 里下载! 主要模块设计如下: 前后端主要技术:Java springboot  springMVC  mybatis  mysql  vue  jqu ...

  2. Java Springboot+VUE前后端分离网上手机商城平台系统设计和实现以及论文报告

  3. 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)【转】

    随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求 ...

  4. 基于SpringBoot+Vue前后端分离的在线教育平台项目

    基于SpringBoot+Vue前后端分离的在线教育平台项目 赠给有缘人,希望能帮助到你!也请不要吝惜你的大拇指,你的Star.点赞将是对我最大的鼓励与支持! 开源传送门: 后台:Gitee | Gi ...

  5. 基于web的前后端分离nodejs和vue.js医院分诊系统

    (1)系统设置模块:包括权限管理和用户信息管理.此模块主要功能包括:添加.修改.删除和查看用户信息,给用户分配权限进行角色管理. (2)用户管理:用户进行登录和注册,进行挂号 (3)患者管理模块:此模 ...

  6. 基于vue springboot的前后端分离的化妆品商城

    基于vue springboot的前后端分离的化妆品商城 技术介绍 后端: springboot mybatis ORM框架 mysql数据库 redis分布式缓存 Druid数据库连接池 前端: V ...

  7. 计算机毕业设计-springboot企业考勤管理系统(前后端分离)员工考勤管理系统-公司日常管理系统java代码

    计算机毕业设计-springboot企业考勤管理系统(前后端分离)员工考勤管理系统-公司日常管理系统java代码 注意:该项目只展示部分功能,如需了解,联系咨询即可. 作者:IT跃迁谷 1.开发环境 ...

  8. springboot毕设项目基于微服务的闪聚支付系统设计vwt4i(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目基于微服务的闪聚支付系统设计vwt4i(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysq ...

  9. 基于Java+SpringBoot+Vue前后端分离网上银行系统设计与实现(视频讲解)

    博主介绍:✌全网粉丝3W+,全栈开发工程师,从事多年软件开发,在大厂呆过.持有软件中级.六级等证书.可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作 ...

最新文章

  1. 第五节 RabbitMQ在C#端的应用-消息收发
  2. python26 调用mysql 5.1
  3. sql server xp_readerrorlog SQL语句查看错误日志
  4. 人月神话阅读笔记02
  5. 阿里RocketMQ是怎样孵化成Apache顶级项目的?
  6. Android studio 开发中 用git实现批量忽略特定文件的方法
  7. LeetCode 第 32 场双周赛(983/2957,前33.2%)
  8. JS数据结构学习之排序
  9. swing怎么监听其他类的按钮_舍得酒因资金违规占用被ST,“其他类风险”爆雷到底怎么防?...
  10. 深度神经网络基本问题的原理详细分析和推导
  11. react手机机端css_create-react-app创建react项目 css模块化处理
  12. 网吧操作系统制作和优化的经验
  13. 2019大前端浪潮下的年度终结
  14. JQuery-datetimepicker日期时间选择器,增加时分秒
  15. 逻辑地址、物理地址、线性地址、虚拟地址、段基地址偏移地址的联系和区别
  16. UID PID PPID 分别是什么
  17. 解决 cp: omitting directory ‘./dist’ ( 拷贝失败 )
  18. Kotlin语言内置函数学习2:with,also,takeIf,takeUnless
  19. 纪念日+小游戏+工具小软件
  20. 关于InnoDB存储引擎 text blob 大字段的存储和优化--转载

热门文章

  1. python实验报告范文及模板_网络工程师-简历自我评价怎么写(范文)
  2. html中文本不自动换行,CSS禁止文本自动换行代码
  3. [网游加速器原理、技术与实现]
  4. C51单片机-共阳极数码管循环显示数字0至9,共阴极数码管循环显示5201314(动态)
  5. G冰分布(0.0以上)
  6. 世界上什么样的菜放多少盐也不咸
  7. VR校园欺凌安全教育系统进入校园|广州华锐互动
  8. Altium Designer(AD) 输出Gerber文件
  9. 歌颂Spring,我太爱它了
  10. 都江堰市建成区块链场景创新实验室!