Java项目:仿小米电子产品售卖商城系统(java+SpringBoot+Vue+MySQL+Redis+ElementUI)
源码获取:博客首页 "资源" 里下载!
项目描述:这是一个基于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
后台管理员订单管理:
@CrossOrigin
@RestController
@RequestMapping("orders")
public class OrderController {@Autowiredprivate OrderServiceImp orderServiceImp;@Autowiredprivate 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<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;}
}
后台商品信息管理:
@CrossOrigin
@RestController
@RequestMapping("goods")
public class GoodController {@Autowiredprivate GoodServiceImp goodServiceImp;@RequestMapping("getGoodsAll")private GoodsAll getGoodByCategory() {GoodsAll goodsAll = new GoodsAll();ArrayList<GoodAll> goodAlls = new ArrayList<>();for (int i = 1; i <= 9; i++) {List<Good> 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;}
}
用户信息控制层:
import java.io.IOException;@CrossOrigin
@RestController
@RequestMapping("User")
public class UserController {@Autowiredprivate UserServiceImp userServiceImp;@RequestMapping("/getUsers")public UserResult getUsers() throws IOException {UserResult userResult = userServiceImp.getUsers();return userResult;}
}
登录控制层:
@CrossOrigin
@RestController
@RequestMapping("Login")
public class LoginController {@Autowiredprivate 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("无此用户,请重新输入正确用户名");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;}
}
源码获取:博客首页 "资源" 里下载!
相关文章:

在js中使用createElement创建HTML对象和元素
1.创建链接 <script language"javascript"> var o document.body; //创建链接 function createA(url,text) { var a document.createElement("a"); a.href url; a.innerHTML text; a.style.color "red"; o.appendChild(a); …

Leetcode | 3Sum
Given an array S of n integers, are there elements a, b, c in S such that a b c 0? Find all unique triplets in the array which gives the sum of zero. Note:Elements in a triplet (a,b,c) must be in non-descending order. (ie, a ≤ b ≤ c)The solution set …

玩转 JavaScript 面试:何为函数式编程?
函数式编程在 JavaScript 领域着实已经成为一个热门话题。就在几年前,很多 JavaScript 程序员甚至都不知道啥是函数式编程,但是就在近三年里我看到过的每一个大型应用的代码库中都包含了函数式编程思想的大规模使用。 函数式编程(缩写为 FP)是一种通过组…

正则表达式分类 区别
原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html 正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用…

Java项目:嘟嘟校园一卡通系统(java+JSP+Servlet+html+css+JavaScript+JQuery+Ajax+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能:卡管理,卡消费,卡充值,图书借阅,消费,记录,注销等等功能。 二、项目运行 环境配置: Jdk…

OC与C语言的区别
C语言是面向过程的编程语言,而OC则是面向对象的编程语言。面向对象:打个比方,就是你做一次菜,让老婆做个菜,吃饭,这就是面向对象,效率高面向过程,就是每一个细节:比如你要先把或开到合适的位置.然后还要洗菜 ,等油热了,才能开始炒菜,然后调料,...,起锅,到碗里,吃饭.…

Hutool之集合工具——CollectionUtil
为什么80%的码农都做不了架构师?>>> 集合工具 CollectionUtil 这个工具主要增加了对数组、集合类的操作。 1. join 方法 将集合转换为字符串,这个方法还是挺常用,是StrUtil.split的反方法。这个方法的参数支持各种类型对象的集合…

15:解决IntelliJ IDEA的乱码问题
1. -Dfile-encodingsUTF-8 ,全局: 转载于:https://www.cnblogs.com/gzhbk/p/10991335.html

C++ 和C 语言混合代码导致的问题
C语言中操作字符串用C运行时函数:strtok, strcmp, strcpy等等,直接操作内存。在c引入的字符串操作类std:string ,string类中必有一个私有成员,其是一个char*,用户记录从堆上分配内存的地址,其在构造时分配内…

SVN详细使用教程
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。 Subversion是什么? 它是一…

Java项目:药店信息管理系统(java+SSM+JSP+layui+maven+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 环境配置: Jdk1.8 Tomcat8.5 mysql Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP Spring SpringMVC MyBatis ht…

MongoDB简单操作
MongoDB简单操作 Hadoop核心技术厂商Cloudera将在2014/06推出hadoop Ecosystem与MongoDB的整合产品,届时MongoDB与ipmala及hbase,hive一起用; 开源linux领军企业RHEL也宣布RHEL将整合MongoDB用于简化用户账号管理与LDAP一起用; 数据仓库之MPP技术 领军者莫非 Vertica,exterdata…

Windows Presentation Foundation(介绍外连接)
Windows Presentation Foundation 2011/08/12更新:2010 年 12 月 Windows Presentation Foundation (WPF) 为开发人员提供了统一的编程模型,可用于构建合并了 UI、媒体和文档的丰富 Windows 智能客户端用户体验。 欢迎使用 WPF 了解 WPF: WP…

Linux中与进程终止相关的信号SIGTERM,SIGKILL,SIGINT
1. SIGTERM “kill pid” 会发送SIGTERM到进程pid. This is the termination signal sent by killcommand by default. 2. SIGINT 在终端中敲入interrupt key(DELETE或ctrlc)会产生SIGINT信号。这个信号会被发送到进程(inforeground proc…

Java项目:嘟嘟二手书商城系统(java+JSP+Springboot+maven+mysql+ThymeLeaf+FTP)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 主页显示商品; 所有二手书商品展示,可进行商品搜索; 点击商品进入商品详情页,具有立即购买和加入购物车功能,可增减…

SQL用法总结
1、创建数据库语句 create table persons(id INT NOT NULL AUTO_INCREMENT,lastname VARCHAR(255) NOT NULL,firstname VARCHAR(255) NOT NULL,PRIMARY KEY (ID)) DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; 2、创建数据库时,PK、NN、UQ、BIN、UN、…

[leetcode] Binary Tree Preorder Traversal
Given a binary tree, return the preorder traversal of its nodes values. For example:Given binary tree {1,#,2,3}, 1\2/3return [1,2,3]. Note: Recursive solution is trivial, could you do it iteratively? 给定一棵二叉树,使用非递归的方法进行先序遍历。…

error C2065: “M_PI”: 未声明的标识符
1.首先,程序中头文件的选择,要选择<math.h>头文件,在<cmath>文件中是没有对M_PI 的定义的(现在的<cmath>中对M_PI好像已有定义)。2.选择:项目——>”XXX属性"——>配置属性—…

区分HPUX是Itanium还是PA-RISC
转自:http://blog.csdn.net/nbzll0920/article/details/7961232 pa-risc的产品号以rp打头,itanium的产品号以rx打头 用model或者uname -a命令看一下就知道了 PS: Intel安腾处理器构建在IA-64(Intel Architecture 64),…

Java项目:食品溯源系统(java+Springboot+Maven+mybatis+Vue+mysql+wd)
源码获取:博客首页 "资源" 里下载! 一、项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

使用sqlite保存数据返回主键
/// <summary>/// 返回insert后的主键值/// </summary>/// <param name"SQLString"></param>/// <param name"para"></param>/// <returns></returns>public static int ExecuteSql(string SQLString, Li…

Pycharm初始创建项目和环境搭建(解决aconda库文件引入不全等问题)
1.新建工程 1.选择新建一个Pure Python项目,新建项目路径可以在Location处选择。 2.Project Interpreter部分是选择新建项目所依赖的python库,第一个选项会在项目中简历一个venv(virtualenv)目录,这里存放…

Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

android插件化-apkplug中以监听方式获取OSGI服务-09
2019独角兽企业重金招聘Python工程师标准>>> 我们提供 apkplug 下OSGI使用demo 源码托管地址为 http://git.oschina.net/plug/OSGIService 一 需求 通过 <<apkplug中OSGI服务基本原理-08>>我们知道怎样注册于查询OSGI Service。但查询方式必须在Servi…

网页失去焦点事件 visibilitychange
当网页失去焦点事件时会触发 visibilitychange 事件,可进行相关逻辑处理 如失去焦点需暂停播放 或 变更title吸引用户回来.. eg: <script>document.addEventListener(visibilitychange, function () {var isHidden document.hidden;if (isHidden) {//失去焦点…

UML类图符号 各种关系说明以及举例
UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛…

Java项目:医院预约挂号系统(java+SpringBoot+Maven+Vue+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

《暗时间》读后感
什么是暗时间 什么是暗时间?你走路、买菜、洗脸洗手、坐公车、逛街、出游、吃饭、睡觉,所有这些时间都可以称为“暗时间”。我理解暗时间就是把自己平时在不知不觉中度过的,看不到它流逝的时光充分利用起来的时间。这些时间在作者的眼里是可以…

AbstractMap详解
/ 包:java.util// 包:java.util package java . util;Map.Entry;同 SimpleEntry 一样,都继承了 Map.Entry 和 序列化接口。

OpenGL渲染流水中的处理步骤
显示列表:不管数据描述的是几何体还是像素,都可以被存储在显示列表中,供现在或以后使用;也可以不将数据存储在显示列表中,而是立刻对数据进行处理,这被称为直接模式.显示列表被执行时,其中存储的数据被发送出去,就像在应用程序中用直接模式发送一样.求值程序:所有的几何图元最终…