计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

这篇具有很好参考价值的文章主要介绍了计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————

计算机毕业设计题目《1000套》

目录

一.前言介绍及开发环境

二.功能设计

三.功能截图

 3.1管理员功能模块

3.2销售员功能模块

3.3维修员功能模块 

四.数据库表结构设计

五.关键代码

六.论文目录参考

七.源码获取

一.前言介绍及开发环境

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,4S店车辆系统就是其中之一。任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了4S店车辆系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。

二.功能设计

 通过市场调研及咨询研究,了解了使用者及管理者的使用需求,于是制定了管理员、销售员和维修员等模块。管理员主要包括首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能模块。销售员主要包括首页、个人中心、客户管理、供应商信息管理、保险公司管理、车辆信息管理、车辆销售管理等功能模块。维修员主要包括首页、个人中心、客户管理、供应商信息管理、保险公司管理、物资信息管理、车辆维修管理等功能模块。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

三.功能截图

系统登录,用户通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 3.1管理员功能模块

管理员登录进入4S店车辆系统可以查看首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能进行详细操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 销售员管理;在销售员管理页面中可以对索引、销售账号、销售姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 维修员管理;在维修员管理页面中可以对索引、维修账号、维修姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 客户管理;在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 供应商信息管理;在供应商信息管理页面中可以对索引、供应商名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 保险公司管理;在保险公司管理页面中可以对索引、公司编号、公司名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 车辆信息管理;在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 物资信息管理;在物资信息管理页面中可以对索引、物资编号、物资名称、规格、数量、单价、供应商、物资图片等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 车辆销售管理;在车辆销售管理页面中可以对索引、订单编号、车辆编号、车辆品牌、数量、售价、是否支付、支付方式、客户姓名、预计交车时间、销售日期、销售账号、销售姓名等内容进行详情、修改操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 车辆维修管理;在车辆维修管理页面中可以对索引、维修单号、维修车辆、客户姓名、维修状态、维修费用、维修时间、结束时间、维修账号、维修姓名等内容进行详情、删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 营业统计管理;在营业统计管理页面中可以对索引、统计月份、统计类型、总销额、备注等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 销售统计管理;在销售统计管理页面中可以对索引、销售账号、销售姓名、统计月份、统计类型、销售金额、备注等内容进行详情、修改或删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

3.2销售员功能模块

 销售员登录进入4S店车辆系统可以查看首页、个人中心、客户管理、供应商信息管理、保险公司管理、车辆信息管理、车辆销售管理等功能,并进行详细操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 个人中心;在个人信息页面通过填写销售账号、性别、手机、销售姓名、年龄、住址等内容进行个人信息修改。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 客户管理;在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 车辆信息管理;在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、销售操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 车辆销售管理;在车辆销售管理页面中可以对索引、订单编号、车辆编号、车辆品牌、数量、售价、是否支付、支付方式、客户姓名、预计交车时间、销售日期、销售账号、销售姓名等内容进行详情、修改和删除操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

3.3维修员功能模块 

 维修员登录进入4S店车辆系统可以查看首页、个人中心、客户管理、供应商信息管理、保险公司管理、物资信息管理、车辆维修管理等功能,并进行详细操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 个人中心;在个人信息页面通过填写维修账号、性别、手机、维修姓名、年龄、住址等内容进行个人信息修改操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 物资信息管理;在物资信息管理页面中可以对索引、物资编号、物资名称、规格、数量、单价、供应商、物资图片等内容进行详情操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

 保险公司管理;在保险公司管理页面中可以对索引、公司编号、公司名称、地址、负责人、联系方式、备注等内容进行详情操作。

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

四.数据库表结构设计

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboot4n9r4` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springboot4n9r4`;

--
-- Table structure for table `baoxiangongsi`
--

DROP TABLE IF EXISTS `baoxiangongsi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `baoxiangongsi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gongsibianhao` varchar(200) DEFAULT NULL COMMENT '公司编号',
  `gongsimingcheng` varchar(200) DEFAULT NULL COMMENT '公司名称',
  `dizhi` varchar(200) DEFAULT NULL COMMENT '地址',
  `fuzeren` varchar(200) DEFAULT NULL COMMENT '负责人',
  `lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831746192 DEFAULT CHARSET=utf8 COMMENT='保险公司';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `baoxiangongsi`
--

LOCK TABLES `baoxiangongsi` WRITE;
/*!40000 ALTER TABLE `baoxiangongsi` DISABLE KEYS */;
INSERT INTO `baoxiangongsi` VALUES (51,'2022-05-06 10:06:24','公司编号1','公司名称1','地址1','负责人1','13823888881','备注1'),(52,'2022-05-06 10:06:24','公司编号2','公司名称2','地址2','负责人2','13823888882','备注2'),(53,'2022-05-06 10:06:24','公司编号3','公司名称3','地址3','负责人3','13823888883','备注3'),(54,'2022-05-06 10:06:24','公司编号4','公司名称4','地址4','负责人4','13823888884','备注4'),(55,'2022-05-06 10:06:24','公司编号5','公司名称5','地址5','负责人5','13823888885','备注5'),(56,'2022-05-06 10:06:24','公司编号6','公司名称6','地址6','负责人6','13823888886','备注6'),(1651831746191,'2022-05-06 10:09:05','666666','xxxx','xxxx','李四','18154541454','XXXX');
/*!40000 ALTER TABLE `baoxiangongsi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `cheliangweixiu`
--

DROP TABLE IF EXISTS `cheliangweixiu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cheliangweixiu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `weixiudanhao` varchar(200) DEFAULT NULL COMMENT '维修单号',
  `weixiucheliang` varchar(200) DEFAULT NULL COMMENT '维修车辆',
  `kehuxingming` varchar(200) DEFAULT NULL COMMENT '客户姓名',
  `weixiuzhuangtai` varchar(200) DEFAULT NULL COMMENT '维修状态',
  `weixiufeiyong` int(11) DEFAULT NULL COMMENT '维修费用',
  `weixiushijian` datetime DEFAULT NULL COMMENT '维修时间',
  `jieshushijian` datetime DEFAULT NULL COMMENT '结束时间',
  `haocai` longtext COMMENT '耗材',
  `weixiuzhanghao` varchar(200) DEFAULT NULL COMMENT '维修账号',
  `weixiuxingming` varchar(200) DEFAULT NULL COMMENT '维修姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `weixiudanhao` (`weixiudanhao`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831935792 DEFAULT CHARSET=utf8 COMMENT='车辆维修';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `cheliangweixiu`
--

LOCK TABLES `cheliangweixiu` WRITE;
/*!40000 ALTER TABLE `cheliangweixiu` DISABLE KEYS */;
INSERT INTO `cheliangweixiu` VALUES (91,'2022-05-06 10:06:24','1111111111','维修车辆1','客户姓名1','待维修',1,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材1','维修账号1','维修姓名1'),(92,'2022-05-06 10:06:24','2222222222','维修车辆2','客户姓名2','待维修',2,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材2','维修账号2','维修姓名2'),(93,'2022-05-06 10:06:24','3333333333','维修车辆3','客户姓名3','待维修',3,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材3','维修账号3','维修姓名3'),(94,'2022-05-06 10:06:24','4444444444','维修车辆4','客户姓名4','待维修',4,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材4','维修账号4','维修姓名4'),(95,'2022-05-06 10:06:24','5555555555','维修车辆5','客户姓名5','待维修',5,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材5','维修账号5','维修姓名5'),(96,'2022-05-06 10:06:24','6666666666','维修车辆6','客户姓名6','待维修',6,'2022-05-06 18:06:24','2022-05-06 18:06:24','耗材6','维修账号6','维修姓名6'),(1651831935791,'2022-05-06 10:12:15','1651832171478','xxxx','客户姓名1','完成',5000,'2022-05-25 00:00:00','2022-05-27 00:00:00','xxxxxxxxxx','222','维修姓名1');
/*!40000 ALTER TABLE `cheliangweixiu` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `cheliangxiaoshou`
--

DROP TABLE IF EXISTS `cheliangxiaoshou`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cheliangxiaoshou` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `dingdanbianhao` varchar(200) DEFAULT NULL COMMENT '订单编号',
  `cheliangbianhao` varchar(200) DEFAULT NULL COMMENT '车辆编号',
  `cheliangpinpai` varchar(200) DEFAULT NULL COMMENT '车辆品牌',
  `shuliang` int(11) DEFAULT NULL COMMENT '数量',
  `shoujia` int(11) DEFAULT NULL COMMENT '售价',
  `shifouzhifu` varchar(200) DEFAULT NULL COMMENT '是否支付',
  `zhifufangshi` varchar(200) DEFAULT NULL COMMENT '支付方式',
  `kehuxingming` varchar(200) DEFAULT NULL COMMENT '客户姓名',
  `yujijiaocheshijian` datetime DEFAULT NULL COMMENT '预计交车时间',
  `xiaoshouriqi` date DEFAULT NULL COMMENT '销售日期',
  `xiaoshouzhanghao` varchar(200) DEFAULT NULL COMMENT '销售账号',
  `xiaoshouxingming` varchar(200) DEFAULT NULL COMMENT '销售姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `dingdanbianhao` (`dingdanbianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831879672 DEFAULT CHARSET=utf8 COMMENT='车辆销售';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `cheliangxiaoshou`
--

LOCK TABLES `cheliangxiaoshou` WRITE;
/*!40000 ALTER TABLE `cheliangxiaoshou` DISABLE KEYS */;
INSERT INTO `cheliangxiaoshou` VALUES (81,'2022-05-06 10:06:24','1111111111','车辆编号1','车辆品牌1',1,1,'是','定金','客户姓名1','2022-05-06 18:06:24','2022-05-06','销售账号1','销售姓名1'),(82,'2022-05-06 10:06:24','2222222222','车辆编号2','车辆品牌2',1,2,'是','定金','客户姓名2','2022-05-06 18:06:24','2022-05-06','销售账号2','销售姓名2'),(83,'2022-05-06 10:06:24','3333333333','车辆编号3','车辆品牌3',1,3,'是','定金','客户姓名3','2022-05-06 18:06:24','2022-05-06','销售账号3','销售姓名3'),(84,'2022-05-06 10:06:24','4444444444','车辆编号4','车辆品牌4',1,4,'是','定金','客户姓名4','2022-05-06 18:06:24','2022-05-06','销售账号4','销售姓名4'),(85,'2022-05-06 10:06:24','5555555555','车辆编号5','车辆品牌5',1,5,'是','定金','客户姓名5','2022-05-06 18:06:24','2022-05-06','销售账号5','销售姓名5'),(86,'2022-05-06 10:06:24','6666666666','车辆编号6','车辆品牌6',1,6,'是','定金','客户姓名6','2022-05-06 18:06:24','2022-05-06','销售账号6','销售姓名6'),(1651831879671,'2022-05-06 10:11:18','1651832121463','11111','宝马',1,800000,'是','全额支付','王五','2022-05-18 00:00:00','2022-05-06','111','销售姓名1');
/*!40000 ALTER TABLE `cheliangxiaoshou` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `cheliangxinxi`
--

DROP TABLE IF EXISTS `cheliangxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cheliangxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `cheliangbianhao` varchar(200) DEFAULT NULL COMMENT '车辆编号',
  `cheliangpinpai` varchar(200) DEFAULT NULL COMMENT '车辆品牌',
  `zuoweishu` int(11) DEFAULT NULL COMMENT '座位数',
  `huandangfangshi` varchar(200) DEFAULT NULL COMMENT '换挡方式',
  `shuliang` int(11) DEFAULT NULL COMMENT '数量',
  `shoujia` int(11) DEFAULT NULL COMMENT '售价',
  `gongyingshang` varchar(200) DEFAULT NULL COMMENT '供应商',
  `cheliangjieshao` longtext COMMENT '车辆介绍',
  `cheliangtupian` varchar(200) DEFAULT NULL COMMENT '车辆图片',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831771211 DEFAULT CHARSET=utf8 COMMENT='车辆信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `cheliangxinxi`
--

LOCK TABLES `cheliangxinxi` WRITE;
/*!40000 ALTER TABLE `cheliangxinxi` DISABLE KEYS */;
INSERT INTO `cheliangxinxi` VALUES (61,'2022-05-06 10:06:24','车辆编号1','车辆品牌1',1,'手动挡',1,1,'供应商1','车辆介绍1','upload/cheliangxinxi_cheliangtupian1.jpg'),(62,'2022-05-06 10:06:24','车辆编号2','车辆品牌2',2,'手动挡',2,2,'供应商2','车辆介绍2','upload/cheliangxinxi_cheliangtupian2.jpg'),(63,'2022-05-06 10:06:24','车辆编号3','车辆品牌3',3,'手动挡',3,3,'供应商3','车辆介绍3','upload/cheliangxinxi_cheliangtupian3.jpg'),(64,'2022-05-06 10:06:24','车辆编号4','车辆品牌4',4,'手动挡',4,4,'供应商4','车辆介绍4','upload/cheliangxinxi_cheliangtupian4.jpg'),(65,'2022-05-06 10:06:24','车辆编号5','车辆品牌5',5,'手动挡',5,5,'供应商5','车辆介绍5','upload/cheliangxinxi_cheliangtupian5.jpg'),(66,'2022-05-06 10:06:24','车辆编号6','车辆品牌6',6,'手动挡',6,6,'供应商6','车辆介绍6','upload/cheliangxinxi_cheliangtupian6.jpg'),(1651831771210,'2022-05-06 10:09:30','11111','宝马',6,'自动挡',19,800000,'供应商名称1','<p>xxxxxxxxx</p>','upload/1651831767725.png');
/*!40000 ALTER TABLE `cheliangxinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `config`
--

LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `gongyingshangxinxi`
--

DROP TABLE IF EXISTS `gongyingshangxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `gongyingshangxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gongyingshangbianhao` varchar(200) DEFAULT NULL COMMENT '供应商编号',
  `gongyingshangmingcheng` varchar(200) DEFAULT NULL COMMENT '供应商名称',
  `dizhi` varchar(200) DEFAULT NULL COMMENT '地址',
  `fuzeren` varchar(200) DEFAULT NULL COMMENT '负责人',
  `lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831728566 DEFAULT CHARSET=utf8 COMMENT='供应商信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `gongyingshangxinxi`
--

LOCK TABLES `gongyingshangxinxi` WRITE;
/*!40000 ALTER TABLE `gongyingshangxinxi` DISABLE KEYS */;
INSERT INTO `gongyingshangxinxi` VALUES (41,'2022-05-06 10:06:24','供应商编号1','供应商名称1','地址1','负责人1','13823888881','备注1'),(42,'2022-05-06 10:06:24','供应商编号2','供应商名称2','地址2','负责人2','13823888882','备注2'),(43,'2022-05-06 10:06:24','供应商编号3','供应商名称3','地址3','负责人3','13823888883','备注3'),(44,'2022-05-06 10:06:24','供应商编号4','供应商名称4','地址4','负责人4','13823888884','备注4'),(45,'2022-05-06 10:06:24','供应商编号5','供应商名称5','地址5','负责人5','13823888885','备注5'),(46,'2022-05-06 10:06:24','供应商编号6','供应商名称6','地址6','负责人6','13823888886','备注6'),(1651831728565,'2022-05-06 10:08:47','44444444','XXXX','XXX','张三','18154541454','XXX');
/*!40000 ALTER TABLE `gongyingshangxinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `kehu`
--

DROP TABLE IF EXISTS `kehu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `kehu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `kehubianhao` varchar(200) DEFAULT NULL COMMENT '客户编号',
  `kehuxingming` varchar(200) DEFAULT NULL COMMENT '客户姓名',
  `lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `cheliangpinpai` varchar(200) DEFAULT NULL COMMENT '车辆品牌',
  `gouchefangshi` varchar(200) DEFAULT NULL COMMENT '购车方式',
  `jiaocheshijian` date DEFAULT NULL COMMENT '交车时间',
  `baoxiannianxian` varchar(200) DEFAULT NULL COMMENT '保险年限',
  `weixiujilu` longtext COMMENT '维修记录',
  `baoyangjilu` longtext COMMENT '保养记录',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831706484 DEFAULT CHARSET=utf8 COMMENT='客户';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `kehu`
--

LOCK TABLES `kehu` WRITE;
/*!40000 ALTER TABLE `kehu` DISABLE KEYS */;
INSERT INTO `kehu` VALUES (31,'2022-05-06 10:06:24','客户编号1','客户姓名1','13823888881','车辆品牌1','分期','2022-05-06','保险年限1','维修记录1','保养记录1'),(32,'2022-05-06 10:06:24','客户编号2','客户姓名2','13823888882','车辆品牌2','分期','2022-05-06','保险年限2','维修记录2','保养记录2'),(33,'2022-05-06 10:06:24','客户编号3','客户姓名3','13823888883','车辆品牌3','分期','2022-05-06','保险年限3','维修记录3','保养记录3'),(34,'2022-05-06 10:06:24','客户编号4','客户姓名4','13823888884','车辆品牌4','分期','2022-05-06','保险年限4','维修记录4','保养记录4'),(35,'2022-05-06 10:06:24','客户编号5','客户姓名5','13823888885','车辆品牌5','分期','2022-05-06','保险年限5','维修记录5','保养记录5'),(36,'2022-05-06 10:06:24','客户编号6','客户姓名6','13823888886','车辆品牌6','分期','2022-05-06','保险年限6','维修记录6','保养记录6'),(1651831706483,'2022-05-06 10:08:25','33333','王五','18154541454','宝马','全款','2022-05-17','3年','xxxxxxx','xxxxxxxxxx');
/*!40000 ALTER TABLE `kehu` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `token`
--

DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(100) NOT NULL COMMENT '用户名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `token`
--

LOCK TABLES `token` WRITE;
/*!40000 ALTER TABLE `token` DISABLE KEYS */;
INSERT INTO `token` VALUES (1,1,'abo','users','管理员','ap782fkt6j63zmth4slfkjuk61ncm4bw','2022-05-06 10:07:39','2022-05-06 11:10:32'),(2,11,'111','xiaoshouyuan','销售员','dd2v0mi4mymhd0oxb46y8gak2eny1bmy','2022-05-06 10:10:42','2022-05-06 11:10:43'),(3,21,'222','weixiuyuan','维修员','hc6ruso6f1wvbtczs9wxzhcd1nty14la','2022-05-06 10:11:39','2022-05-06 11:11:39');
/*!40000 ALTER TABLE `token` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(100) NOT NULL COMMENT '用户名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'abo','abo','管理员','2022-05-06 10:06:24');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `weixiuyuan`
--

DROP TABLE IF EXISTS `weixiuyuan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `weixiuyuan` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `weixiuzhanghao` varchar(200) NOT NULL COMMENT '维修账号',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `weixiuxingming` varchar(200) NOT NULL COMMENT '维修姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `nianling` int(11) DEFAULT NULL COMMENT '年龄',
  `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
  `zhuzhi` varchar(200) DEFAULT NULL COMMENT '住址',
  PRIMARY KEY (`id`),
  UNIQUE KEY `weixiuzhanghao` (`weixiuzhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='维修员';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `weixiuyuan`
--

LOCK TABLES `weixiuyuan` WRITE;
/*!40000 ALTER TABLE `weixiuyuan` DISABLE KEYS */;
INSERT INTO `weixiuyuan` VALUES (21,'2022-05-06 10:06:24','222','222','维修姓名1','男',30,'13823888881','住址1'),(22,'2022-05-06 10:06:24','维修账号2','123456','维修姓名2','男',2,'13823888882','住址2'),(23,'2022-05-06 10:06:24','维修账号3','123456','维修姓名3','男',3,'13823888883','住址3'),(24,'2022-05-06 10:06:24','维修账号4','123456','维修姓名4','男',4,'13823888884','住址4'),(25,'2022-05-06 10:06:24','维修账号5','123456','维修姓名5','男',5,'13823888885','住址5'),(26,'2022-05-06 10:06:24','维修账号6','123456','维修姓名6','男',6,'13823888886','住址6');
/*!40000 ALTER TABLE `weixiuyuan` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `wuzixinxi`
--

DROP TABLE IF EXISTS `wuzixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `wuzixinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `wuzibianhao` varchar(200) DEFAULT NULL COMMENT '物资编号',
  `wuzimingcheng` varchar(200) DEFAULT NULL COMMENT '物资名称',
  `guige` varchar(200) DEFAULT NULL COMMENT '规格',
  `shuliang` int(11) DEFAULT NULL COMMENT '数量',
  `danjia` int(11) DEFAULT NULL COMMENT '单价',
  `gongyingshang` varchar(200) DEFAULT NULL COMMENT '供应商',
  `wuzijieshao` longtext COMMENT '物资介绍',
  `wuzitupian` varchar(200) DEFAULT NULL COMMENT '物资图片',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831786955 DEFAULT CHARSET=utf8 COMMENT='物资信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `wuzixinxi`
--

LOCK TABLES `wuzixinxi` WRITE;
/*!40000 ALTER TABLE `wuzixinxi` DISABLE KEYS */;
INSERT INTO `wuzixinxi` VALUES (71,'2022-05-06 10:06:24','物资编号1','物资名称1','规格1',1,1,'供应商1','物资介绍1','upload/wuzixinxi_wuzitupian1.jpg'),(72,'2022-05-06 10:06:24','物资编号2','物资名称2','规格2',2,2,'供应商2','物资介绍2','upload/wuzixinxi_wuzitupian2.jpg'),(73,'2022-05-06 10:06:24','物资编号3','物资名称3','规格3',3,3,'供应商3','物资介绍3','upload/wuzixinxi_wuzitupian3.jpg'),(74,'2022-05-06 10:06:24','物资编号4','物资名称4','规格4',4,4,'供应商4','物资介绍4','upload/wuzixinxi_wuzitupian4.jpg'),(75,'2022-05-06 10:06:24','物资编号5','物资名称5','规格5',5,5,'供应商5','物资介绍5','upload/wuzixinxi_wuzitupian5.jpg'),(76,'2022-05-06 10:06:24','物资编号6','物资名称6','规格6',6,6,'供应商6','物资介绍6','upload/wuzixinxi_wuzitupian6.jpg'),(1651831786954,'2022-05-06 10:09:46','22222222','xxx','xxxx',50,80,'供应商名称1','<p>xxxxxxxxxxxxxx</p>','upload/1651831784857.png');
/*!40000 ALTER TABLE `wuzixinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `xiaoshoutongji`
--

DROP TABLE IF EXISTS `xiaoshoutongji`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xiaoshoutongji` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `xiaoshouzhanghao` varchar(200) DEFAULT NULL COMMENT '销售账号',
  `xiaoshouxingming` varchar(200) DEFAULT NULL COMMENT '销售姓名',
  `tongjiyuefen` date DEFAULT NULL COMMENT '统计月份',
  `tongjileixing` varchar(200) DEFAULT NULL COMMENT '统计类型',
  `xiaoshoujine` int(11) DEFAULT NULL COMMENT '销售金额',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831823284 DEFAULT CHARSET=utf8 COMMENT='销售统计';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `xiaoshoutongji`
--

LOCK TABLES `xiaoshoutongji` WRITE;
/*!40000 ALTER TABLE `xiaoshoutongji` DISABLE KEYS */;
INSERT INTO `xiaoshoutongji` VALUES (111,'2022-05-06 10:06:24','销售账号1','销售姓名1','2022-05-06','分期',1,'备注1'),(112,'2022-05-06 10:06:24','销售账号2','销售姓名2','2022-05-06','分期',2,'备注2'),(113,'2022-05-06 10:06:24','销售账号3','销售姓名3','2022-05-06','分期',3,'备注3'),(114,'2022-05-06 10:06:24','销售账号4','销售姓名4','2022-05-06','分期',4,'备注4'),(115,'2022-05-06 10:06:24','销售账号5','销售姓名5','2022-05-06','分期',5,'备注5'),(116,'2022-05-06 10:06:24','销售账号6','销售姓名6','2022-05-06','分期',6,'备注6'),(1651831823283,'2022-05-06 10:10:22','111','销售姓名1','2022-05-10','全款',500000,'xxx');
/*!40000 ALTER TABLE `xiaoshoutongji` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `xiaoshouyuan`
--

DROP TABLE IF EXISTS `xiaoshouyuan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xiaoshouyuan` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `xiaoshouzhanghao` varchar(200) NOT NULL COMMENT '销售账号',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `xiaoshouxingming` varchar(200) NOT NULL COMMENT '销售姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `nianling` int(11) DEFAULT NULL COMMENT '年龄',
  `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
  `zhuzhi` varchar(200) DEFAULT NULL COMMENT '住址',
  PRIMARY KEY (`id`),
  UNIQUE KEY `xiaoshouzhanghao` (`xiaoshouzhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='销售员';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `xiaoshouyuan`
--

LOCK TABLES `xiaoshouyuan` WRITE;
/*!40000 ALTER TABLE `xiaoshouyuan` DISABLE KEYS */;
INSERT INTO `xiaoshouyuan` VALUES (11,'2022-05-06 10:06:24','111','111','销售姓名1','男',30,'13823888881','住址1'),(12,'2022-05-06 10:06:24','销售账号2','123456','销售姓名2','男',2,'13823888882','住址2'),(13,'2022-05-06 10:06:24','销售账号3','123456','销售姓名3','男',3,'13823888883','住址3'),(14,'2022-05-06 10:06:24','销售账号4','123456','销售姓名4','男',4,'13823888884','住址4'),(15,'2022-05-06 10:06:24','销售账号5','123456','销售姓名5','男',5,'13823888885','住址5'),(16,'2022-05-06 10:06:24','销售账号6','123456','销售姓名6','男',6,'13823888886','住址6');
/*!40000 ALTER TABLE `xiaoshouyuan` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `yingyetongji`
--

DROP TABLE IF EXISTS `yingyetongji`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `yingyetongji` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `tongjiyuefen` date DEFAULT NULL COMMENT '统计月份',
  `tongjileixing` varchar(200) DEFAULT NULL COMMENT '统计类型',
  `zongxiaoe` float DEFAULT NULL COMMENT '总销额',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1651831808708 DEFAULT CHARSET=utf8 COMMENT='营业统计';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `yingyetongji`
--

LOCK TABLES `yingyetongji` WRITE;
/*!40000 ALTER TABLE `yingyetongji` DISABLE KEYS */;
INSERT INTO `yingyetongji` VALUES (101,'2022-05-06 10:06:24','2022-05-06','分期',1,'备注1'),(102,'2022-05-06 10:06:24','2022-05-06','分期',2,'备注2'),(103,'2022-05-06 10:06:24','2022-05-06','分期',3,'备注3'),(104,'2022-05-06 10:06:24','2022-05-06','分期',4,'备注4'),(105,'2022-05-06 10:06:24','2022-05-06','分期',5,'备注5'),(106,'2022-05-06 10:06:24','2022-05-06','分期',6,'备注6'),(1651831808707,'2022-05-06 10:10:07','2022-05-18','分期',50000000,'xxx');
/*!40000 ALTER TABLE `yingyetongji` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2022-05-07 11:30:53

五.关键代码

package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六.论文目录参考

计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解,计算机毕业设计,课程设计,java,开发语言,毕业设计,spring boot,4S店车辆管理,计算机毕设

七.源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信文章来源地址https://www.toymoban.com/news/detail-730870.html

到了这里,关于计算机毕业设计 基于SpringBoot的4S店车辆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包