基于SSM的新能源汽车在线租赁系统

news2024/11/20 11:36:32

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用Vue技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是


前言

随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用为开发背景,运用软件工程开发方法,采用SSM技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。

本新能源汽车在线租赁采用的数据库是Mysql,使用SSM框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

数据库设计原则

学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还为系统提供了添加、删除、修改和检查等操作模块,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。

通过新能源汽车在线租赁的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:

管理员信息属性图

 用户信息实体属性图

站点管理员信息实体属性图

 汽车信息实体属性图

还车信息实体属性图

sql语句

/*
SQLyog Ultimate v11.3 (64 bit)
MySQL - 5.7.32-log : Database - ssm73156
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`ssm73156` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `ssm73156`;

/*Table structure for table `config` */

DROP TABLE IF EXISTS `config`;

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=7 DEFAULT CHARSET=utf8 COMMENT='配置文件';

/*Data for the table `config` */

insert  into `config`(`id`,`name`,`value`) values (1,'picture1','http://localhost:8080/ssm73156/upload/picture1.jpg');
insert  into `config`(`id`,`name`,`value`) values (2,'picture2','http://localhost:8080/ssm73156/upload/picture2.jpg');
insert  into `config`(`id`,`name`,`value`) values (3,'picture3','http://localhost:8080/ssm73156/upload/picture3.jpg');
insert  into `config`(`id`,`name`,`value`) values (6,'homepage',NULL);

/*Table structure for table `dingdanxinxi` */

DROP TABLE IF EXISTS `dingdanxinxi`;

CREATE TABLE `dingdanxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `dingdanbianhao` varchar(200) NOT NULL COMMENT '订单编号',
  `qichemingcheng` varchar(200) DEFAULT NULL COMMENT '汽车名称',
  `qicheleixing` varchar(200) DEFAULT NULL COMMENT '汽车类型',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `chepaihao` varchar(200) DEFAULT NULL COMMENT '车牌号',
  `zongjiage` varchar(200) DEFAULT NULL COMMENT '总价格',
  `yajin` varchar(200) DEFAULT NULL COMMENT '押金',
  `zongji` varchar(200) DEFAULT NULL COMMENT '总计',
  `zulinriqi` date DEFAULT NULL COMMENT '租赁日期',
  `yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付',
  PRIMARY KEY (`id`),
  UNIQUE KEY `dingdanbianhao` (`dingdanbianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COMMENT='订单信息';

/*Data for the table `dingdanxinxi` */

insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (61,'2021-01-20 17:22:35','订单编号1','汽车名称1','汽车类型1','账号1','车牌号1','总价格1','押金1','总计1','2021-01-20','用户名1','姓名1','未支付');
insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (62,'2021-01-20 17:22:35','订单编号2','汽车名称2','汽车类型2','账号2','车牌号2','总价格2','押金2','总计2','2021-01-20','用户名2','姓名2','未支付');
insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (63,'2021-01-20 17:22:35','订单编号3','汽车名称3','汽车类型3','账号3','车牌号3','总价格3','押金3','总计3','2021-01-20','用户名3','姓名3','未支付');
insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (64,'2021-01-20 17:22:35','订单编号4','汽车名称4','汽车类型4','账号4','车牌号4','总价格4','押金4','总计4','2021-01-20','用户名4','姓名4','未支付');
insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (65,'2021-01-20 17:22:35','订单编号5','汽车名称5','汽车类型5','账号5','车牌号5','总价格5','押金5','总计5','2021-01-20','用户名5','姓名5','未支付');
insert  into `dingdanxinxi`(`id`,`addtime`,`dingdanbianhao`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`chepaihao`,`zongjiage`,`yajin`,`zongji`,`zulinriqi`,`yonghuming`,`xingming`,`ispay`) values (66,'2021-01-20 17:22:35','订单编号6','汽车名称6','汽车类型6','账号6','车牌号6','总价格6','押金6','总计6','2021-01-20','用户名6','姓名6','未支付');

/*Table structure for table `discussqichexinxi` */

DROP TABLE IF EXISTS `discussqichexinxi`;

CREATE TABLE `discussqichexinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `refid` bigint(20) NOT NULL COMMENT '关联表id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `content` longtext NOT NULL COMMENT '评论内容',
  `reply` longtext COMMENT '回复内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8 COMMENT='汽车信息评论表';

/*Data for the table `discussqichexinxi` */

insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (101,'2021-01-20 17:22:35',1,1,'评论内容1','回复内容1');
insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (102,'2021-01-20 17:22:35',2,2,'评论内容2','回复内容2');
insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (103,'2021-01-20 17:22:35',3,3,'评论内容3','回复内容3');
insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (104,'2021-01-20 17:22:35',4,4,'评论内容4','回复内容4');
insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (105,'2021-01-20 17:22:35',5,5,'评论内容5','回复内容5');
insert  into `discussqichexinxi`(`id`,`addtime`,`refid`,`userid`,`content`,`reply`) values (106,'2021-01-20 17:22:35',6,6,'评论内容6','回复内容6');

/*Table structure for table `haichexinxi` */

DROP TABLE IF EXISTS `haichexinxi`;

CREATE TABLE `haichexinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `qichemingcheng` varchar(200) DEFAULT NULL COMMENT '汽车名称',
  `qicheleixing` varchar(200) DEFAULT NULL COMMENT '汽车类型',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `pinpai` varchar(200) DEFAULT NULL COMMENT '品牌',
  `chepaihao` varchar(200) DEFAULT NULL COMMENT '车牌号',
  `zhaopian` varchar(200) NOT NULL COMMENT '照片',
  `haichezhuangkuang` longtext COMMENT '还车状况',
  `haicheriqi` date DEFAULT NULL COMMENT '还车日期',
  `yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核',
  `shhf` longtext COMMENT '审核回复',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='还车信息';

/*Data for the table `haichexinxi` */

insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (71,'2021-01-20 17:22:35','汽车名称1','汽车类型1','账号1','品牌1','车牌号1','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian1.jpg','还车状况1','2021-01-20','用户名1','姓名1','否','');
insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (72,'2021-01-20 17:22:35','汽车名称2','汽车类型2','账号2','品牌2','车牌号2','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian2.jpg','还车状况2','2021-01-20','用户名2','姓名2','否','');
insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (73,'2021-01-20 17:22:35','汽车名称3','汽车类型3','账号3','品牌3','车牌号3','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian3.jpg','还车状况3','2021-01-20','用户名3','姓名3','否','');
insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (74,'2021-01-20 17:22:35','汽车名称4','汽车类型4','账号4','品牌4','车牌号4','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian4.jpg','还车状况4','2021-01-20','用户名4','姓名4','否','');
insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (75,'2021-01-20 17:22:35','汽车名称5','汽车类型5','账号5','品牌5','车牌号5','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian5.jpg','还车状况5','2021-01-20','用户名5','姓名5','否','');
insert  into `haichexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`zhanghao`,`pinpai`,`chepaihao`,`zhaopian`,`haichezhuangkuang`,`haicheriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (76,'2021-01-20 17:22:35','汽车名称6','汽车类型6','账号6','品牌6','车牌号6','http://localhost:8080/ssm73156/upload/haichexinxi_zhaopian6.jpg','还车状况6','2021-01-20','用户名6','姓名6','否','');

/*Table structure for table `jiechexinxi` */

DROP TABLE IF EXISTS `jiechexinxi`;

CREATE TABLE `jiechexinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `qichemingcheng` varchar(200) DEFAULT NULL COMMENT '汽车名称',
  `qicheleixing` varchar(200) DEFAULT NULL COMMENT '汽车类型',
  `pinpai` varchar(200) DEFAULT NULL COMMENT '品牌',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `chepaihao` varchar(200) DEFAULT NULL COMMENT '车牌号',
  `shijiage` int(11) DEFAULT NULL COMMENT '时价格',
  `zulinshijian` int(11) NOT NULL COMMENT '租赁时间',
  `zongjiage` int(11) DEFAULT NULL COMMENT '总价格',
  `yajin` varchar(200) DEFAULT NULL COMMENT '押金',
  `zulinriqi` date DEFAULT NULL COMMENT '租赁日期',
  `yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核',
  `shhf` longtext COMMENT '审核回复',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='借车信息';

/*Data for the table `jiechexinxi` */

insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (51,'2021-01-20 17:22:35','汽车名称1','汽车类型1','品牌1','账号1','车牌号1',1,1,1,'押金1','2021-01-20','用户名1','姓名1','否','');
insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (52,'2021-01-20 17:22:35','汽车名称2','汽车类型2','品牌2','账号2','车牌号2',2,2,2,'押金2','2021-01-20','用户名2','姓名2','否','');
insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (53,'2021-01-20 17:22:35','汽车名称3','汽车类型3','品牌3','账号3','车牌号3',3,3,3,'押金3','2021-01-20','用户名3','姓名3','否','');
insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (54,'2021-01-20 17:22:35','汽车名称4','汽车类型4','品牌4','账号4','车牌号4',4,4,4,'押金4','2021-01-20','用户名4','姓名4','否','');
insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (55,'2021-01-20 17:22:35','汽车名称5','汽车类型5','品牌5','账号5','车牌号5',5,5,5,'押金5','2021-01-20','用户名5','姓名5','否','');
insert  into `jiechexinxi`(`id`,`addtime`,`qichemingcheng`,`qicheleixing`,`pinpai`,`zhanghao`,`chepaihao`,`shijiage`,`zulinshijian`,`zongjiage`,`yajin`,`zulinriqi`,`yonghuming`,`xingming`,`sfsh`,`shhf`) values (56,'2021-01-20 17:22:35','汽车名称6','汽车类型6','品牌6','账号6','车牌号6',6,6,6,'押金6','2021-01-20','用户名6','姓名6','否','');

/*Table structure for table `news` */

DROP TABLE IF EXISTS `news`;

CREATE TABLE `news` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) NOT NULL COMMENT '标题',
  `picture` varchar(200) NOT NULL COMMENT '图片',
  `content` longtext NOT NULL COMMENT '内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8 COMMENT='公告信息';

/*Data for the table `news` */

insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (91,'2021-01-20 17:22:35','公告信息','http://localhost:8080/ssm73156/upload/news_picture1.jpg','<p>这里可以发布一些公告内容,比如谁今天借了什么车</p>');
insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (92,'2021-01-20 17:22:35','标题2','http://localhost:8080/ssm73156/upload/news_picture2.jpg','内容2');
insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (93,'2021-01-20 17:22:35','标题3','http://localhost:8080/ssm73156/upload/news_picture3.jpg','内容3');
insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (94,'2021-01-20 17:22:35','标题4','http://localhost:8080/ssm73156/upload/news_picture4.jpg','内容4');
insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (95,'2021-01-20 17:22:35','标题5','http://localhost:8080/ssm73156/upload/news_picture5.jpg','内容5');
insert  into `news`(`id`,`addtime`,`title`,`picture`,`content`) values (96,'2021-01-20 17:22:35','标题6','http://localhost:8080/ssm73156/upload/news_picture6.jpg','内容6');

/*Table structure for table `qichexinxi` */

DROP TABLE IF EXISTS `qichexinxi`;

CREATE TABLE `qichexinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `mendianmingcheng` varchar(200) DEFAULT NULL COMMENT '门店名称',
  `qichebianhao` varchar(200) DEFAULT NULL COMMENT '汽车编号',
  `qichemingcheng` varchar(200) DEFAULT NULL COMMENT '汽车名称',
  `qicheleixing` varchar(200) DEFAULT NULL COMMENT '汽车类型',
  `pinpai` varchar(200) DEFAULT NULL COMMENT '品牌',
  `yanse` varchar(200) DEFAULT NULL COMMENT '颜色',
  `chepaihao` varchar(200) DEFAULT NULL COMMENT '车牌号',
  `tupian` varchar(200) DEFAULT NULL COMMENT '图片',
  `xiangqing` longtext COMMENT '详情',
  `dizhi` varchar(200) DEFAULT NULL COMMENT '地址',
  `shijiage` int(11) DEFAULT NULL COMMENT '时价格',
  `yajin` varchar(200) DEFAULT NULL COMMENT '押金',
  `chuzuzhuangtai` varchar(200) DEFAULT NULL COMMENT '出租状态',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `qichebianhao` (`qichebianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='汽车信息';

/*Data for the table `qichexinxi` */

insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (41,'2021-01-20 17:22:35','门店名称1','汽车编号1','汽车名称1','小轿车','品牌1','颜色1','车牌号1','http://localhost:8080/ssm73156/upload/qichexinxi_tupian1.jpg','<p>详情1</p>','地址1',1,'押金1','已出租','001');
insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (42,'2021-01-20 17:22:35','门店名称2','汽车编号2','汽车名称2','小轿车','品牌2','颜色2','车牌号2','http://localhost:8080/ssm73156/upload/qichexinxi_tupian2.jpg','详情2','地址2',2,'押金2','已出租','账号2');
insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (43,'2021-01-20 17:22:35','门店名称3','汽车编号3','汽车名称3','小轿车','品牌3','颜色3','车牌号3','http://localhost:8080/ssm73156/upload/qichexinxi_tupian3.jpg','详情3','地址3',3,'押金3','已出租','账号3');
insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (44,'2021-01-20 17:22:35','门店名称4','汽车编号4','汽车名称4','小轿车','品牌4','颜色4','车牌号4','http://localhost:8080/ssm73156/upload/qichexinxi_tupian4.jpg','详情4','地址4',4,'押金4','已出租','账号4');
insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (45,'2021-01-20 17:22:35','门店名称5','汽车编号5','汽车名称5','小轿车','品牌5','颜色5','车牌号5','http://localhost:8080/ssm73156/upload/qichexinxi_tupian5.jpg','详情5','地址5',5,'押金5','已出租','账号5');
insert  into `qichexinxi`(`id`,`addtime`,`mendianmingcheng`,`qichebianhao`,`qichemingcheng`,`qicheleixing`,`pinpai`,`yanse`,`chepaihao`,`tupian`,`xiangqing`,`dizhi`,`shijiage`,`yajin`,`chuzuzhuangtai`,`zhanghao`) values (46,'2021-01-20 17:22:35','门店名称6','汽车编号6','汽车名称6','小轿车','品牌6','颜色6','车牌号6','http://localhost:8080/ssm73156/upload/qichexinxi_tupian6.jpg','详情6','地址6',6,'押金6','已出租','账号6');

/*Table structure for table `storeup` */

DROP TABLE IF EXISTS `storeup`;

CREATE TABLE `storeup` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `refid` bigint(20) DEFAULT NULL COMMENT '收藏id',
  `tablename` varchar(200) DEFAULT NULL COMMENT '表名',
  `name` varchar(200) NOT NULL COMMENT '收藏名称',
  `picture` varchar(200) NOT NULL COMMENT '收藏图片',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='收藏表';

/*Data for the table `storeup` */

/*Table structure for table `token` */

DROP TABLE IF EXISTS `token`;

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=3 DEFAULT CHARSET=utf8 COMMENT='token表';

/*Data for the table `token` */

insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'abo','users','管理员','ukbfmwrcea3i6t5v6m8fxurhujqwclac','2021-01-20 17:24:41','2021-01-20 18:24:42');
insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (2,21,'001','zhandianguanliyuan','站点管理员','sebvsy2ugb03zqj9poejai7u71qyuhcv','2021-01-20 17:25:08','2021-01-20 18:25:08');

/*Table structure for table `users` */

DROP TABLE IF EXISTS `users`;

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='用户表';

/*Data for the table `users` */

insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'abo','abo','管理员','2021-01-20 17:22:35');

/*Table structure for table `yonghu` */

DROP TABLE IF EXISTS `yonghu`;

CREATE TABLE `yonghu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `yonghuming` varchar(200) NOT NULL COMMENT '用户名',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `touxiang` varchar(200) DEFAULT NULL COMMENT '头像',
  `shenfenzheng` varchar(200) DEFAULT NULL COMMENT '身份证',
  `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
  PRIMARY KEY (`id`),
  UNIQUE KEY `yonghuming` (`yonghuming`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='用户';

/*Data for the table `yonghu` */

insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (11,'2021-01-20 17:22:35','001','001','姓名1','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang1.jpg','440300199101010001','13823888881');
insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (12,'2021-01-20 17:22:35','用户2','123456','姓名2','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang2.jpg','440300199202020002','13823888882');
insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (13,'2021-01-20 17:22:35','用户3','123456','姓名3','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang3.jpg','440300199303030003','13823888883');
insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (14,'2021-01-20 17:22:35','用户4','123456','姓名4','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang4.jpg','440300199404040004','13823888884');
insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (15,'2021-01-20 17:22:35','用户5','123456','姓名5','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang5.jpg','440300199505050005','13823888885');
insert  into `yonghu`(`id`,`addtime`,`yonghuming`,`mima`,`xingming`,`xingbie`,`touxiang`,`shenfenzheng`,`shouji`) values (16,'2021-01-20 17:22:35','用户6','123456','姓名6','男','http://localhost:8080/ssm73156/upload/yonghu_touxiang6.jpg','440300199606060006','13823888886');

/*Table structure for table `zhandianguanliyuan` */

DROP TABLE IF EXISTS `zhandianguanliyuan`;

CREATE TABLE `zhandianguanliyuan` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `zhanghao` varchar(200) NOT NULL COMMENT '账号',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `touxiang` varchar(200) DEFAULT NULL COMMENT '头像',
  `lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',
  `dizhi` varchar(200) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`),
  UNIQUE KEY `zhanghao` (`zhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='站点管理员';

/*Data for the table `zhandianguanliyuan` */

insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (21,'2021-01-20 17:22:35','001','001','姓名1','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang1.jpg','13823888881','地址1');
insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (22,'2021-01-20 17:22:35','站点管理员2','123456','姓名2','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang2.jpg','13823888882','地址2');
insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (23,'2021-01-20 17:22:35','站点管理员3','123456','姓名3','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang3.jpg','13823888883','地址3');
insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (24,'2021-01-20 17:22:35','站点管理员4','123456','姓名4','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang4.jpg','13823888884','地址4');
insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (25,'2021-01-20 17:22:35','站点管理员5','123456','姓名5','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang5.jpg','13823888885','地址5');
insert  into `zhandianguanliyuan`(`id`,`addtime`,`zhanghao`,`mima`,`xingming`,`xingbie`,`touxiang`,`lianxidianhua`,`dizhi`) values (26,'2021-01-20 17:22:35','站点管理员6','123456','姓名6','男','http://localhost:8080/ssm73156/upload/zhandianguanliyuan_touxiang6.jpg','13823888886','地址6');

/*Table structure for table `zujiedian` */

DROP TABLE IF EXISTS `zujiedian`;

CREATE TABLE `zujiedian` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `mendianmingcheng` varchar(200) NOT NULL COMMENT '门店名称',
  `tupian` varchar(200) DEFAULT NULL COMMENT '图片',
  `fuwushijian` varchar(200) DEFAULT NULL COMMENT '服务时间',
  `zixundianhua` varchar(200) DEFAULT NULL COMMENT '咨询电话',
  `xiangxidizhi` varchar(200) DEFAULT NULL COMMENT '详细地址',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='租借点';

/*Data for the table `zujiedian` */

insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (31,'2021-01-20 17:22:35','门店名称1','http://localhost:8080/ssm73156/upload/zujiedian_tupian1.jpg','服务时间1','020-89819991','详细地址1','001','姓名1');
insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (32,'2021-01-20 17:22:35','门店名称2','http://localhost:8080/ssm73156/upload/zujiedian_tupian2.jpg','服务时间2','020-89819992','详细地址2','账号2','姓名2');
insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (33,'2021-01-20 17:22:35','门店名称3','http://localhost:8080/ssm73156/upload/zujiedian_tupian3.jpg','服务时间3','020-89819993','详细地址3','账号3','姓名3');
insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (34,'2021-01-20 17:22:35','门店名称4','http://localhost:8080/ssm73156/upload/zujiedian_tupian4.jpg','服务时间4','020-89819994','详细地址4','账号4','姓名4');
insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (35,'2021-01-20 17:22:35','门店名称5','http://localhost:8080/ssm73156/upload/zujiedian_tupian5.jpg','服务时间5','020-89819995','详细地址5','账号5','姓名5');
insert  into `zujiedian`(`id`,`addtime`,`mendianmingcheng`,`tupian`,`fuwushijian`,`zixundianhua`,`xiangxidizhi`,`zhanghao`,`xingming`) values (36,'2021-01-20 17:22:35','门店名称6','http://localhost:8080/ssm73156/upload/zujiedian_tupian6.jpg','服务时间6','020-89819996','详细地址6','账号6','姓名6');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 

 

页面展示

新能源汽车在线租赁,在新能源汽车在线租赁可以查看首页、汽车信息、个人中心、后台管理等内容

 

登录、用户注册,通过用户注册获取用户名、密码、姓名、性别、头像、身份证、手机等信息进行注册、登录

 

汽车信息,在汽车信息页面可以填写汽车编号、汽车名称、汽车类型、品牌、颜色、车牌号、图片、租借点地址、日价格、出租状态等信息进行借车 

我的收藏,在我的收藏页面可以填写收藏名称、收藏图片等信息进行提交 

 

管理员登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入新能源汽车在线租赁

管理员登录进入新能源汽车在线租赁进行查看首页、个人中心、用户管理,站点管理员管理、汽车信息管理,借车信息管理,我的收藏管理、系统管理等内容 

站点管理员管理,在站点管理员管理页面可以查看账号、密码、姓名、性别、头像、联系电话、地址等信息,并可根据需要对站点管理员管理进行详情,修改,删除操作

 管理员在汽车信息管理页面可以查看汽车编号、汽车名称、汽车类型、品牌、颜色、车牌号、图片、租借点地址、日价格、出租状态等信息,并可根据需要对汽车信息管理进行详情、修改、删除操作

我的收藏管理,在我的收藏管理页面可以查看收藏ID、表名、收藏名称、收藏图片等信息,并可根据需要对我的收藏管理进行详情、修改、删除操作

 轮播图;该页面为轮播图管理界面。管理员可以在此页面进行首页轮播图的管理,通过新建操作可在轮播图中加入新的图片,还可以对以上传的图片进行修改操作,以及图片的删除操作

 论文截图参考

 


登录模块核心代码


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);
        userService.updateById(user);//全部更新
        return R.ok();
    }

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

文件上传核心代码

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

 封装代码

package com.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回数据
 */
public class R extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;
	
	public R() {
		put("code", 0);
	}
	
	public static R error() {
		return error(500, "未知异常,请联系管理员");
	}
	
	public static R error(String msg) {
		return error(500, msg);
	}
	
	public static R error(int code, String msg) {
		R r = new R();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static R ok(String msg) {
		R r = new R();
		r.put("msg", msg);
		return r;
	}
	
	public static R ok(Map<String, Object> map) {
		R r = new R();
		r.putAll(map);
		return r;
	}
	
	public static R ok() {
		return new R();
	}

	public R put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/971403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql 高阶语句

高阶语句 对 MySQL 数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理&#xff1b; 例如只取 10 条数据、对查询结果进行排序或分组等&#xff0c;来获取想要有用的数据 无非还是对于MySQL —— 增、删、改、查 的操作 升降序 SELECT…

电压互感器倍频感应耐压试验方法

试验方法 升压设备的容器应足够&#xff0c; 试验前应确认高压升压等设备功能正常&#xff1b; 按上图接好线&#xff0c; 三倍频发生器、 高压器外壳必须可靠接地。 将三倍频电源发生装置的输出线与被试电压互感器的一组二次绕组接线端连接好&#xff08;如 a-n 端&#xff0…

人体呼吸存在传感器成品,毫米波雷达探测感知技术,引领智能家居新潮流

随着科技的不断进步和人们生活质量的提高&#xff0c;智能化家居逐渐成为一种时尚和生活方式。 人体存在传感器作为智能家居中的重要组成部分&#xff0c;能够实时监测环境中人体是否存在&#xff0c;为智能家居系统提供更加精准的控制和联动。 在这个充满创新的时代&#xf…

测试靶场bWAPP安装部署

bWAPP&#xff08;Buggy Web Application&#xff09;是一个用于学习和练习网络应用安全的漏洞测试平台。它是一个开源的虚拟机或Docker映像&#xff0c;旨在为安全研究人员、开发人员和学生提供一个实践和演示各种Web应用漏洞的环境。 bWAPP包含了许多已知的Web应用程序漏洞&…

PAT 1164 Good in C 测试点3,4

个人学习记录&#xff0c;代码难免不尽人意。 When your interviewer asks you to write “Hello World” using C, can you do as the following figure shows? Input Specification: Each input file contains one test case. For each case, the first part gives the 26 …

「解析」YOLOv5 classify分类模板

学习深度学习有些时间了&#xff0c;相信很多小伙伴都已经接触 图像分类、目标检测甚至图像分割(语义分割)等算法了&#xff0c;相信大部分小伙伴都是从分类入门&#xff0c;接触各式各样的 Backbone算法开启自己的炼丹之路。 但是炼丹并非全是 Backbone&#xff0c;更多的是各…

Redis——数据结构介绍

Redis是一个key-value的数据库&#xff0c;key一般是String类型&#xff0c;不过value的类型是多样的&#xff1a; String&#xff1a;hello wordHash&#xff1a;{name:"Jack",age:21}List&#xff1a;[A -> B -> C -> D]Set&#xff1a;{A,B,C}SortedSet…

盖子的c++小课堂——第二十二讲:2维dp

前言 大家好&#xff0c;我又来更新了&#xff0c;今天终于有时间了aaaaaaaa 破500粉了&#xff0c;我太高兴了哈哈哈哈哈哈&#xff08;别看IP地址&#xff0c;我去北京旅游回来了&#xff0c;他没改回来&#xff09;&#xff0c;然后我马上就成为创作者一年了&#xff0c;希…

航空货运站AAT EDI 解决方案

Asia Airfreight Terminal (AAT)是一个航空货运站&#xff0c;总部设在香港国际机场&#xff0c;是亚洲首屈一指的运输枢纽。 AAT旨在成为世界上最好的航空货运站&#xff0c;将围绕成本竞争力和服务效率&#xff0c;客户服务&#xff0c;创新和员工承诺的业务战略来构建。 | 业…

Gradle下载安装教程

1、Gradle 入门 1.1、Gradle 简介 Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具&#xff0c;支持 Maven&#xff0c;JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件&#xff0c;转而使用简洁的、支持多种语言(例如&#xff1a;java、groo…

grpc + springboot + mybatis-plus 动态配置数据源

前言 这是我在这个网站整理的笔记&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 grpc springboot mybatis-plus 动态配置数据源 一. 源码解析1.1 项目初始化1.2 接口请求时候 二. web应用三. grpc应用程序 一. 源码解析 1.1 项目初…

Logback日志记录只在控制台输出sql,未写入日志文件【解决】

原因&#xff1a;持久层框架对于Log接口实现方式不一样&#xff0c;日记记录的位置及展示方式也也不一样 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # sql只会打印到控制台不会输出到日志文件种mybatis-plus:configuration:log-impl…

链路追踪Skywalking应用实战

目录 1 Skywalking应用2 agent下载3 agent应用3.1 应用名配置3.2 IDEA集成使用agent3.3 生产环境使用agent 4 Rocketbot4.1 Rocketbot-仪表盘4.2 Rocketbot-拓扑图4.3 追踪4.4 性能分析4.5 告警4.5.1 警告规则详解4.5.2 Webhook规则4.5.3 自定义Webhook消息接收 1 Skywalking应…

微服务·架构组件之服务注册与发现-Nacos

微服务组件架构之服务注册与发现之Nacos Nacos服务注册与发现流程 服务注册&#xff1a;Nacos 客户端会通过发送REST请求的方式向Nacos Server注册自己的服务&#xff0c;提供自身的元数据&#xff0c;比如ip地址、端口等信息。 Nacos Server接收到注册请求后&#xff0c;就会…

ChatGPT 案例实战趋势分析面积图制作

面积图使用HTML,JS,Echarts 来完成代码可以使用ChatGPT AIGC 来实现代码编写。 完整的代码复制如下: <!DOCTYPE html> <html> <head><meta charset="utf-8"><script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.2/echa…

EasyPOI处理excel、CSV导入导出

1 简介 使用POI在导出导出excel、导出csv、word时代码有点过于繁琐&#xff0c;好消息是近两年在开发市场上流行一种简化POI开发的类库&#xff1a;easyPOI。从名称上就能发现就是为了简化开发。 能干什么&#xff1f; Excel的快速导入导出,Excel模板导出,Word模板导出,可以…

【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor

私有仓库Harbor https://goharbor.io/ 内容学习于马士兵云原生课程 Harbor部署 部署docker及docker-compose 略 获取Harbor安装文件 https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz tar -zxvf harbor-offline-installe…

线程安全缓存ConcurrentLinkedHashMap,Kotlin

线程安全缓存ConcurrentLinkedHashMap&#xff0c;Kotlin LinkedHashMap实现LRU缓存cache机制&#xff0c;Kotlin_zhangphil的博客-CSDN博客* * 基于Java LinkedList,实现Android大数据缓存策略 * 作者&#xff1a;Zhang Phil * 原文出处&#xff1a;http://blog.csdn.net/zha…

无法将类型为“Newtonsoft.Json.Linq.JObject”的对象转换为类型“Newtonsoft.Json.Linq.JArray”解决方法

对于“Newtonsoft.Json.Linq.JObject”的对象强制类型转换为类型“Newtonsoft.Json.Linq.JArray”报错 第一的图为对象{“*************”:“********”} 第二个图片为数组[{“…”:“…”}] 在我这里进行强制转换对象转换为类型“Newtonsoft.Json.Linq.JArray”报错. 那我们…

【java】【项目实战】[外卖十一]项目优化(Ngnix)

目录 一、Nginx概述 1、Nginx介绍 2、Nginx下载和安装 3、Nginx目录结构 二、Nginx命令 1、查看版本 2、检查配置文件正确性 3、启动和停止 4、重新加载配置文件 三、Nginx配置文件结构 1、全局块 2、events块 3、http块 四、Nginx具体应用 1、部署静态资源 2、…