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


    末尾获取源码
    开发语言: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','

    这里可以发布一些公告内容,比如谁今天借了什么车

    ');
    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','

    详情1

    ','地址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、表名、收藏名称、收藏图片等信息,并可根据需要对我的收藏管理进行详情、修改、删除操作

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

     论文截图参考

     


    登录模块核心代码

    1. package com.controller;
    2. import java.util.Arrays;
    3. import java.util.Calendar;
    4. import java.util.Date;
    5. import java.util.Map;
    6. import javax.servlet.http.HttpServletRequest;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.stereotype.Controller;
    9. import org.springframework.web.bind.annotation.GetMapping;
    10. import org.springframework.web.bind.annotation.PathVariable;
    11. import org.springframework.web.bind.annotation.PostMapping;
    12. import org.springframework.web.bind.annotation.RequestBody;
    13. import org.springframework.web.bind.annotation.RequestMapping;
    14. import org.springframework.web.bind.annotation.RequestParam;
    15. import org.springframework.web.bind.annotation.ResponseBody;
    16. import org.springframework.web.bind.annotation.RestController;
    17. import com.annotation.IgnoreAuth;
    18. import com.baomidou.mybatisplus.mapper.EntityWrapper;
    19. import com.entity.TokenEntity;
    20. import com.entity.UserEntity;
    21. import com.service.TokenService;
    22. import com.service.UserService;
    23. import com.utils.CommonUtil;
    24. import com.utils.MD5Util;
    25. import com.utils.MPUtil;
    26. import com.utils.PageUtils;
    27. import com.utils.R;
    28. import com.utils.ValidatorUtils;
    29. /**
    30. * 登录相关
    31. */
    32. @RequestMapping("users")
    33. @RestController
    34. public class UserController{
    35. @Autowired
    36. private UserService userService;
    37. @Autowired
    38. private TokenService tokenService;
    39. /**
    40. * 登录
    41. */
    42. @IgnoreAuth
    43. @PostMapping(value = "/login")
    44. public R login(String username, String password, String captcha, HttpServletRequest request) {
    45. UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    46. if(user==null || !user.getPassword().equals(password)) {
    47. return R.error("账号或密码不正确");
    48. }
    49. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    50. return R.ok().put("token", token);
    51. }
    52. /**
    53. * 注册
    54. */
    55. @IgnoreAuth
    56. @PostMapping(value = "/register")
    57. public R register(@RequestBody UserEntity user){
    58. // ValidatorUtils.validateEntity(user);
    59. if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    60. return R.error("用户已存在");
    61. }
    62. userService.insert(user);
    63. return R.ok();
    64. }
    65. /**
    66. * 退出
    67. */
    68. @GetMapping(value = "logout")
    69. public R logout(HttpServletRequest request) {
    70. request.getSession().invalidate();
    71. return R.ok("退出成功");
    72. }
    73. /**
    74. * 密码重置
    75. */
    76. @IgnoreAuth
    77. @RequestMapping(value = "/resetPass")
    78. public R resetPass(String username, HttpServletRequest request){
    79. UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    80. if(user==null) {
    81. return R.error("账号不存在");
    82. }
    83. user.setPassword("123456");
    84. userService.update(user,null);
    85. return R.ok("密码已重置为:123456");
    86. }
    87. /**
    88. * 列表
    89. */
    90. @RequestMapping("/page")
    91. public R page(@RequestParam Map params,UserEntity user){
    92. EntityWrapper ew = new EntityWrapper();
    93. PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
    94. return R.ok().put("data", page);
    95. }
    96. /**
    97. * 列表
    98. */
    99. @RequestMapping("/list")
    100. public R list( UserEntity user){
    101. EntityWrapper ew = new EntityWrapper();
    102. ew.allEq(MPUtil.allEQMapPre( user, "user"));
    103. return R.ok().put("data", userService.selectListView(ew));
    104. }
    105. /**
    106. * 信息
    107. */
    108. @RequestMapping("/info/{id}")
    109. public R info(@PathVariable("id") String id){
    110. UserEntity user = userService.selectById(id);
    111. return R.ok().put("data", user);
    112. }
    113. /**
    114. * 获取用户的session用户信息
    115. */
    116. @RequestMapping("/session")
    117. public R getCurrUser(HttpServletRequest request){
    118. Long id = (Long)request.getSession().getAttribute("userId");
    119. UserEntity user = userService.selectById(id);
    120. return R.ok().put("data", user);
    121. }
    122. /**
    123. * 保存
    124. */
    125. @PostMapping("/save")
    126. public R save(@RequestBody UserEntity user){
    127. // ValidatorUtils.validateEntity(user);
    128. if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    129. return R.error("用户已存在");
    130. }
    131. userService.insert(user);
    132. return R.ok();
    133. }
    134. /**
    135. * 修改
    136. */
    137. @RequestMapping("/update")
    138. public R update(@RequestBody UserEntity user){
    139. // ValidatorUtils.validateEntity(user);
    140. userService.updateById(user);//全部更新
    141. return R.ok();
    142. }
    143. /**
    144. * 删除
    145. */
    146. @RequestMapping("/delete")
    147. public R delete(@RequestBody Long[] ids){
    148. userService.deleteBatchIds(Arrays.asList(ids));
    149. return R.ok();
    150. }
    151. }

    文件上传核心代码

    1. package com.controller;
    2. import java.io.File;
    3. import java.io.FileNotFoundException;
    4. import java.io.IOException;
    5. import java.util.Arrays;
    6. import java.util.Date;
    7. import java.util.HashMap;
    8. import java.util.List;
    9. import java.util.Map;
    10. import java.util.Random;
    11. import java.util.UUID;
    12. import org.apache.commons.io.FileUtils;
    13. import org.apache.commons.lang3.StringUtils;
    14. import org.springframework.beans.factory.annotation.Autowired;
    15. import org.springframework.http.HttpHeaders;
    16. import org.springframework.http.HttpStatus;
    17. import org.springframework.http.MediaType;
    18. import org.springframework.http.ResponseEntity;
    19. import org.springframework.util.ResourceUtils;
    20. import org.springframework.web.bind.annotation.PathVariable;
    21. import org.springframework.web.bind.annotation.RequestBody;
    22. import org.springframework.web.bind.annotation.RequestMapping;
    23. import org.springframework.web.bind.annotation.RequestParam;
    24. import org.springframework.web.bind.annotation.RestController;
    25. import org.springframework.web.multipart.MultipartFile;
    26. import com.annotation.IgnoreAuth;
    27. import com.baomidou.mybatisplus.mapper.EntityWrapper;
    28. import com.entity.ConfigEntity;
    29. import com.entity.EIException;
    30. import com.service.ConfigService;
    31. import com.utils.R;
    32. /**
    33. * 上传文件映射表
    34. */
    35. @RestController
    36. @RequestMapping("file")
    37. @SuppressWarnings({"unchecked","rawtypes"})
    38. public class FileController{
    39. @Autowired
    40. private ConfigService configService;
    41. /**
    42. * 上传文件
    43. */
    44. @RequestMapping("/upload")
    45. public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
    46. if (file.isEmpty()) {
    47. throw new EIException("上传文件不能为空");
    48. }
    49. String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
    50. File path = new File(ResourceUtils.getURL("classpath:static").getPath());
    51. if(!path.exists()) {
    52. path = new File("");
    53. }
    54. File upload = new File(path.getAbsolutePath(),"/upload/");
    55. if(!upload.exists()) {
    56. upload.mkdirs();
    57. }
    58. String fileName = new Date().getTime()+"."+fileExt;
    59. File dest = new File(upload.getAbsolutePath()+"/"+fileName);
    60. file.transferTo(dest);
    61. FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
    62. if(StringUtils.isNotBlank(type) && type.equals("1")) {
    63. ConfigEntity configEntity = configService.selectOne(new EntityWrapper().eq("name", "faceFile"));
    64. if(configEntity==null) {
    65. configEntity = new ConfigEntity();
    66. configEntity.setName("faceFile");
    67. configEntity.setValue(fileName);
    68. } else {
    69. configEntity.setValue(fileName);
    70. }
    71. configService.insertOrUpdate(configEntity);
    72. }
    73. return R.ok().put("file", fileName);
    74. }
    75. /**
    76. * 下载文件
    77. */
    78. @IgnoreAuth
    79. @RequestMapping("/download")
    80. public ResponseEntity<byte[]> download(@RequestParam String fileName) {
    81. try {
    82. File path = new File(ResourceUtils.getURL("classpath:static").getPath());
    83. if(!path.exists()) {
    84. path = new File("");
    85. }
    86. File upload = new File(path.getAbsolutePath(),"/upload/");
    87. if(!upload.exists()) {
    88. upload.mkdirs();
    89. }
    90. File file = new File(upload.getAbsolutePath()+"/"+fileName);
    91. if(file.exists()){
    92. /*if(!fileService.canRead(file, SessionManager.getSessionUser())){
    93. getResponse().sendError(403);
    94. }*/
    95. HttpHeaders headers = new HttpHeaders();
    96. headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    97. headers.setContentDispositionFormData("attachment", fileName);
    98. return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
    99. }
    100. } catch (IOException e) {
    101. e.printStackTrace();
    102. }
    103. return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
    104. }
    105. }

     封装代码

    1. package com.utils;
    2. import java.util.HashMap;
    3. import java.util.Map;
    4. /**
    5. * 返回数据
    6. */
    7. public class R extends HashMap {
    8. private static final long serialVersionUID = 1L;
    9. public R() {
    10. put("code", 0);
    11. }
    12. public static R error() {
    13. return error(500, "未知异常,请联系管理员");
    14. }
    15. public static R error(String msg) {
    16. return error(500, msg);
    17. }
    18. public static R error(int code, String msg) {
    19. R r = new R();
    20. r.put("code", code);
    21. r.put("msg", msg);
    22. return r;
    23. }
    24. public static R ok(String msg) {
    25. R r = new R();
    26. r.put("msg", msg);
    27. return r;
    28. }
    29. public static R ok(Map map) {
    30. R r = new R();
    31. r.putAll(map);
    32. return r;
    33. }
    34. public static R ok() {
    35. return new R();
    36. }
    37. public R put(String key, Object value) {
    38. super.put(key, value);
    39. return this;
    40. }
    41. }

  • 相关阅读:
    el-switch组件在分页情况下的使用
    P1996 约瑟夫问题 题解
    在linux系统中使用WoeUSB工具制作U盘启动盘
    电拖基础JIAOXUE
    docker部署tomcat
    整数转罗马数字
    详解TCP/IP协议第三篇:通信数据在OSI通信模型的上下传输
    通过S2B2C供应链电商平台网站解决方案,实现大宗商品万亿产业数字化转型
    电脑安装双系统-linux系统上安装windows系统
    虚拟DOM,diff
  • 原文地址:https://blog.csdn.net/weixin_52721608/article/details/132678997