博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————计算机毕业设计题目《1000套》
目录
一.前言介绍及开发环境
二.功能设计
三.功能截图
3.1管理员功能模块
3.2销售员功能模块
3.3维修员功能模块
四.数据库表结构设计
五.关键代码
六.论文目录参考
七.源码获取
一.前言介绍及开发环境
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,4S店车辆系统就是其中之一。任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了4S店车辆系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。
二.功能设计
通过市场调研及咨询研究,了解了使用者及管理者的使用需求,于是制定了管理员、销售员和维修员等模块。管理员主要包括首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能模块。销售员主要包括首页、个人中心、客户管理、供应商信息管理、保险公司管理、车辆信息管理、车辆销售管理等功能模块。维修员主要包括首页、个人中心、客户管理、供应商信息管理、保险公司管理、物资信息管理、车辆维修管理等功能模块。
三.功能截图
系统登录,用户通过填写注册时输入的用户名、密码、选择角色等信息进行登录操作。
3.1管理员功能模块
管理员登录进入4S店车辆系统可以查看首页、个人中心、销售员管理、维修员管理、客户管理、供应商信息管理、保险公司管理、车辆信息管理、物资信息管理、车辆销售管理、车辆维修管理、营业统计管理、销售统计管理等功能进行详细操作。
销售员管理;在销售员管理页面中可以对索引、销售账号、销售姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作。
维修员管理;在维修员管理页面中可以对索引、维修账号、维修姓名、性别、年龄、手机、住址等内容进行详情、修改和删除操作。
客户管理;在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情、修改和删除操作。
供应商信息管理;在供应商信息管理页面中可以对索引、供应商名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作。
保险公司管理;在保险公司管理页面中可以对索引、公司编号、公司名称、地址、负责人、联系方式、备注等内容进行详情、修改和删除操作。
车辆信息管理;在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、修改和删除操作。
物资信息管理;在物资信息管理页面中可以对索引、物资编号、物资名称、规格、数量、单价、供应商、物资图片等内容进行详情、修改和删除操作。
车辆销售管理;在车辆销售管理页面中可以对索引、订单编号、车辆编号、车辆品牌、数量、售价、是否支付、支付方式、客户姓名、预计交车时间、销售日期、销售账号、销售姓名等内容进行详情、修改操作。
车辆维修管理;在车辆维修管理页面中可以对索引、维修单号、维修车辆、客户姓名、维修状态、维修费用、维修时间、结束时间、维修账号、维修姓名等内容进行详情、删除操作。
营业统计管理;在营业统计管理页面中可以对索引、统计月份、统计类型、总销额、备注等内容进行详情、修改和删除操作。
销售统计管理;在销售统计管理页面中可以对索引、销售账号、销售姓名、统计月份、统计类型、销售金额、备注等内容进行详情、修改或删除操作。
3.2销售员功能模块
销售员登录进入4S店车辆系统可以查看首页、个人中心、客户管理、供应商信息管理、保险公司管理、车辆信息管理、车辆销售管理等功能,并进行详细操作。
个人中心;在个人信息页面通过填写销售账号、性别、手机、销售姓名、年龄、住址等内容进行个人信息修改。
客户管理;在客户管理页面中可以对索引、客户编号、客户姓名、联系方式、车辆品牌、购车方式、交车时间、保险年限等内容进行详情操作。
车辆信息管理;在车辆信息管理页面中可以对索引、车辆编号、车辆品牌、座位数、换挡方式、数量、售价、供应商、车辆图片等内容进行详情、销售操作。
车辆销售管理;在车辆销售管理页面中可以对索引、订单编号、车辆编号、车辆品牌、数量、售价、是否支付、支付方式、客户姓名、预计交车时间、销售日期、销售账号、销售姓名等内容进行详情、修改和删除操作。
3.3维修员功能模块
维修员登录进入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();
}
}
六.论文目录参考
七.源码获取
感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!
喜欢文章可以点赞、收藏、关注、评论啦 、👇🏻获取源码+V:jsjbysj88👇🏻