广告位联系
返回顶部
分享到

Java毕业设计实战之仿小米电子产品售卖商城系统的实现

java 来源:互联网 作者:秩名 发布时间:2022-01-26 18:39:30 人浏览
摘要

项目描述:这是一个基于SpringBoot+Vue框架开发的仿小米电子产品售卖商城系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细。其次,这项目功能丰富,具有一个电

项目描述:这是一个基于SpringBoot+Vue框架开发的仿小米电子产品售卖商城系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细。其次,这项目功能丰富,具有一个电子产品售卖商城系统该有的所有功能。

项目功能:此项目分为两个角色:普通用户和管理员。普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、查看收益数据图表等等功能。

应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI

运行环境:IntelliJ IDEA2019.3.5+ MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6.3+ Node14.16.1

Java技术迷

后台管理员订单管理:

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

54

55

56

57

58

59

60

61

62

63

64

65

66

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

    }

}

后台商品信息管理:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

@CrossOrigin

@RestController

@RequestMapping("goods")

public class GoodController {

        @Autowired

        private GoodServiceImp goodServiceImp;

  

        @RequestMapping("getGoodsAll")

        private GoodsAll getGoodByCategory() {

                GoodsAll goodsAll = new GoodsAll();

                ArrayList goodAlls = new ArrayList<>();

                for (int i = 1; i <= 9; i++) {

                        List good = goodServiceImp.getGood(i);

                        GoodCategory goodCategory = goodServiceImp.getGoodCategory(i);

                        GoodAll goodAll = new GoodAll();

                        goodAll.setName(goodCategory.getName());

                        goodAll.setFoods(good);

                        goodAlls.add(goodAll);

                }

                goodsAll.setData(goodAlls);

                return goodsAll;

        }

}

用户信息控制层:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import java.io.IOException;

  

@CrossOrigin

@RestController

@RequestMapping("User")

public class UserController {

  

    @Autowired

    private UserServiceImp userServiceImp;

  

    @RequestMapping("/getUsers")

    public UserResult getUsers() throws IOException {

        UserResult userResult = userServiceImp.getUsers();

        return userResult;

    }

}

登录控制层:

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

@CrossOrigin

@RestController

@RequestMapping("Login")

public class LoginController {

  

    @Autowired

    private LoginServiceImp loginServiceImp;

  

    Map 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("无此用户,请重新输入正确用户名");

            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("密码错误");

            }

        }

        return result;

    }

}


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/pastclouds/article/details/121788293
相关文章
  • SpringBoot自定义错误处理逻辑介绍

    SpringBoot自定义错误处理逻辑介绍
    1. 自定义错误页面 将自定义错误页面放在 templates 的 error 文件夹下,SpringBoot 精确匹配错误信息,使用 4xx.html 或者 5xx.html 页面可以打印错误
  • Java实现手写一个线程池的代码

    Java实现手写一个线程池的代码
    线程池技术想必大家都不陌生把,相信在平时的工作中没有少用,而且这也是面试频率非常高的一个知识点,那么大家知道它的实现原理和
  • Java实现断点续传功能的代码

    Java实现断点续传功能的代码
    题目实现:网络资源的断点续传功能。 二、解题思路 获取要下载的资源网址 显示网络资源的大小 上次读取到的字节位置以及未读取的字节
  • 你可知HashMap为什么是线程不安全的
    HashMap 的线程不安全 HashMap 的线程不安全主要体现在下面两个方面 在 jdk 1.7 中,当并发执行扩容操作时会造成环形链和数据丢失的情况 在
  • ArrayList的动态扩容机制的介绍

    ArrayList的动态扩容机制的介绍
    对于 ArrayList 的动态扩容机制想必大家都听说过,之前的文章中也谈到过,不过由于时间久远,早已忘却。 所以利用这篇文章做做笔记,加
  • JVM基础之字节码的增强技术介绍

    JVM基础之字节码的增强技术介绍
    字节码增强技术 在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字
  • Java中的字节码增强技术

    Java中的字节码增强技术
    1.字节码增强技术 字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术。 参考地址 2.常见技术 技术分类 类
  • Redis BloomFilter布隆过滤器原理与实现

    Redis BloomFilter布隆过滤器原理与实现
    Bloom Filter 概念 布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射
  • Java C++算法题解leetcode801使序列递增的最小交换次

    Java C++算法题解leetcode801使序列递增的最小交换次
    题目要求 思路:状态机DP 实现一:状态机 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public int minSwap(int[] nums1, int[] nums2) { int n
  • Mybatis结果集映射与生命周期介绍

    Mybatis结果集映射与生命周期介绍
    一、ResultMap结果集映射 1、设计思想 对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了 2、resultMap的应用场
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计