基于ssm+vue的新能源汽车在线租赁管理系统源码和论文PPT

基于ssm+vue的新能源汽车在线租赁管理系统源码和论文PPT010

开发环境:

开发工具:idea 

 数据库mysql5.7+(mysql5.7最佳)

 数据库链接工具:navcat,小海豚等

开发技术:java  ssm tomcat8.5

摘  要

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

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

关键词:新能源汽车在线租赁,SSM框架,Mysql 数据库

 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.ZhandianguanliyuanEntity;
import com.entity.view.ZhandianguanliyuanView;import com.service.ZhandianguanliyuanService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 站点管理员* 后端接口* @author * @email * @date 2023-01-20 17:21:57*/
@RestController
@RequestMapping("/zhandianguanliyuan")
public class ZhandianguanliyuanController {@Autowiredprivate ZhandianguanliyuanService zhandianguanliyuanService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectOne(new EntityWrapper<ZhandianguanliyuanEntity>().eq("zhanghao", username));if(user==null || !user.getMima().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(), username,"zhandianguanliyuan",  "站点管理员" );return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody ZhandianguanliyuanEntity zhandianguanliyuan){//ValidatorUtils.validateEntity(zhandianguanliyuan);ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectOne(new EntityWrapper<ZhandianguanliyuanEntity>().eq("zhanghao", zhandianguanliyuan.getZhanghao()));if(user!=null) {return R.error("注册用户已存在");}Long uId = new Date().getTime();zhandianguanliyuan.setId(uId);zhandianguanliyuanService.insert(zhandianguanliyuan);return R.ok();}/*** 退出*/@RequestMapping("/logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectById(id);return R.ok().put("data", user);}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectOne(new EntityWrapper<ZhandianguanliyuanEntity>().eq("zhanghao", username));if(user==null) {return R.error("账号不存在");}user.setMima("123456");zhandianguanliyuanService.updateById(user);return R.ok("密码已重置为:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ZhandianguanliyuanEntity zhandianguanliyuan, HttpServletRequest request){EntityWrapper<ZhandianguanliyuanEntity> ew = new EntityWrapper<ZhandianguanliyuanEntity>();PageUtils page = zhandianguanliyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhandianguanliyuan), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ZhandianguanliyuanEntity zhandianguanliyuan, HttpServletRequest request){EntityWrapper<ZhandianguanliyuanEntity> ew = new EntityWrapper<ZhandianguanliyuanEntity>();PageUtils page = zhandianguanliyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhandianguanliyuan), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ZhandianguanliyuanEntity zhandianguanliyuan){EntityWrapper<ZhandianguanliyuanEntity> ew = new EntityWrapper<ZhandianguanliyuanEntity>();ew.allEq(MPUtil.allEQMapPre( zhandianguanliyuan, "zhandianguanliyuan")); return R.ok().put("data", zhandianguanliyuanService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ZhandianguanliyuanEntity zhandianguanliyuan){EntityWrapper< ZhandianguanliyuanEntity> ew = new EntityWrapper< ZhandianguanliyuanEntity>();ew.allEq(MPUtil.allEQMapPre( zhandianguanliyuan, "zhandianguanliyuan")); ZhandianguanliyuanView zhandianguanliyuanView =  zhandianguanliyuanService.selectView(ew);return R.ok("查询站点管理员成功").put("data", zhandianguanliyuanView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ZhandianguanliyuanEntity zhandianguanliyuan = zhandianguanliyuanService.selectById(id);return R.ok().put("data", zhandianguanliyuan);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ZhandianguanliyuanEntity zhandianguanliyuan = zhandianguanliyuanService.selectById(id);return R.ok().put("data", zhandianguanliyuan);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ZhandianguanliyuanEntity zhandianguanliyuan, HttpServletRequest request){zhandianguanliyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(zhandianguanliyuan);ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectOne(new EntityWrapper<ZhandianguanliyuanEntity>().eq("zhanghao", zhandianguanliyuan.getZhanghao()));if(user!=null) {return R.error("用户已存在");}zhandianguanliyuan.setId(new Date().getTime());zhandianguanliyuanService.insert(zhandianguanliyuan);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ZhandianguanliyuanEntity zhandianguanliyuan, HttpServletRequest request){zhandianguanliyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(zhandianguanliyuan);ZhandianguanliyuanEntity user = zhandianguanliyuanService.selectOne(new EntityWrapper<ZhandianguanliyuanEntity>().eq("zhanghao", zhandianguanliyuan.getZhanghao()));if(user!=null) {return R.error("用户已存在");}zhandianguanliyuan.setId(new Date().getTime());zhandianguanliyuanService.insert(zhandianguanliyuan);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody ZhandianguanliyuanEntity zhandianguanliyuan, HttpServletRequest request){//ValidatorUtils.validateEntity(zhandianguanliyuan);zhandianguanliyuanService.updateById(zhandianguanliyuan);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){zhandianguanliyuanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<ZhandianguanliyuanEntity> wrapper = new EntityWrapper<ZhandianguanliyuanEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = zhandianguanliyuanService.selectCount(wrapper);return R.ok().put("count", count);}}

 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.DingdanxinxiEntity;
import com.entity.view.DingdanxinxiView;import com.service.DingdanxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 订单信息* 后端接口* @author * @email * @date 2021-01-20 17:21:57*/
@RestController
@RequestMapping("/dingdanxinxi")
public class DingdanxinxiController {@Autowiredprivate DingdanxinxiService dingdanxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DingdanxinxiEntity dingdanxinxi, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("zhandianguanliyuan")) {dingdanxinxi.setZhanghao((String)request.getSession().getAttribute("username"));}if(tableName.equals("yonghu")) {dingdanxinxi.setYonghuming((String)request.getSession().getAttribute("username"));}EntityWrapper<DingdanxinxiEntity> ew = new EntityWrapper<DingdanxinxiEntity>();PageUtils page = dingdanxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dingdanxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DingdanxinxiEntity dingdanxinxi, HttpServletRequest request){EntityWrapper<DingdanxinxiEntity> ew = new EntityWrapper<DingdanxinxiEntity>();PageUtils page = dingdanxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dingdanxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DingdanxinxiEntity dingdanxinxi){EntityWrapper<DingdanxinxiEntity> ew = new EntityWrapper<DingdanxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( dingdanxinxi, "dingdanxinxi")); return R.ok().put("data", dingdanxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DingdanxinxiEntity dingdanxinxi){EntityWrapper< DingdanxinxiEntity> ew = new EntityWrapper< DingdanxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( dingdanxinxi, "dingdanxinxi")); DingdanxinxiView dingdanxinxiView =  dingdanxinxiService.selectView(ew);return R.ok("查询订单信息成功").put("data", dingdanxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DingdanxinxiEntity dingdanxinxi = dingdanxinxiService.selectById(id);return R.ok().put("data", dingdanxinxi);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DingdanxinxiEntity dingdanxinxi = dingdanxinxiService.selectById(id);return R.ok().put("data", dingdanxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DingdanxinxiEntity dingdanxinxi, HttpServletRequest request){dingdanxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dingdanxinxi);dingdanxinxiService.insert(dingdanxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DingdanxinxiEntity dingdanxinxi, HttpServletRequest request){dingdanxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dingdanxinxi);dingdanxinxiService.insert(dingdanxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DingdanxinxiEntity dingdanxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(dingdanxinxi);dingdanxinxiService.updateById(dingdanxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){dingdanxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<DingdanxinxiEntity> wrapper = new EntityWrapper<DingdanxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("zhandianguanliyuan")) {wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));}if(tableName.equals("yonghu")) {wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));}int count = dingdanxinxiService.selectCount(wrapper);return R.ok().put("count", count);}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整版:TCP、UDP报文格式

目录 TCP报文格式 报文格式 报文示例 UDP报文格式 报文格式 报文示例 TCP报文格式 报文格式 图1 TCP首部格式 字段长度含义Source Port16比特源端口&#xff0c;标识哪个应用程序发送。Destination Port16比特目的端口&#xff0c;标识哪个应用程序接收。Sequence Numb…

如何在iPhone手机上修改手机定位和模拟导航?

如何在iPhone手机上修改手机定位和模拟导航&#xff1f; English 首先&#xff0c;你需要在Mac电脑上下载安装 Location Simulator/定位模拟工具 和 Runner 这两款应用程序。 完成安装后&#xff0c;打开软件&#xff0c;并用USB连接手机设备 修改iPhone手机定位和模拟导航 …

第二部分:AOP

一、AOP简介 AOP(Aspect Oriented Programming)面向切面编程&#xff0c;一种编程范式&#xff0c;指导开发者如何组织程序结构。 AOP是OOP&#xff08;面向对象编程&#xff09;的进阶版。 作用&#xff1a;在不改变原始设计的基础上为其进行功能增强。 spring理念&#x…

嵌入式Linux驱动开发系列五:Linux系统和HelloWorld

三个问题 了解Hello World程序的执行过程有什么用? 编译和执行&#xff1a;Hello World程序的执行分为两个主要步骤&#xff1a;编译和执行。编译器将源代码转换为可执行文件&#xff0c;然后计算机执行该文件并输出相应的结果。了解这个过程可以帮助我们理解如何将代码转化…

TIOBE2023年8月榜单发布,Python超越老将C/C++蝉联冠军

TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标&#xff0c;评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎&#xff0c;TIOBE 官网近日公布了 2023 年 8 月的编程语言排行榜。 此次的榜单中&#xff0c;Python依旧稳居第一&#xff0c;占比达到了13.33%。…

【BASH】回顾与知识点梳理(二十三)

【BASH】回顾与知识点梳理 二十三 二十三. Linux 账号管理&#xff08;二&#xff09;23.1 账号管理新增与移除使用者&#xff1a; useradd, 相关配置文件, passwd, usermod, userdelusermoduserdel 23.2 用户功能&#xff08;普通用户可使用&#xff09;idfingerchfnchsh 23.3…

【2023年11月第四版教材】《第4章-信息系统管理(合集篇)》

第4章-信息系统管理之管理方法&#xff08;第四版新增章节&#xff09;&#xff08;第一部分&#xff09; 章节说明1 管理方法1.1 信息系统四个要素1.2 信息系统四大领域1.3 信息系统战略三角1.4 信息系统架构转换1.5 信息系统体系架构1.6 信息系统运行1.7 运行和监控1.8 管理和…

Tomcat日志中文乱码

修改安装目录下的日志配置 D:\ProgramFiles\apache-tomcat-9.0.78\conf\logging.properties java.util.logging.ConsoleHandler.encoding GBK

【Windows 11】安装 Android子系统 和 Linux子系统

本文使用电脑系统&#xff1a; 文章目录 一、安卓子系统1.1 安装 WSA1.2 使用 二、Linux子系统2.1 安装 WSL 以及WSL 相关概念2.2 安装一个Linux发行版2.21 从Microsoft Store 安装2.22 用命令安装 2.23 拓展 三、拓展3.1 存储位置3.2 虚拟化技术3.3 Windows 虚拟内存3.3 wsl …

02:STM32--EXTI外部中断

目录 一:中断 1:简历 2:AFIO 3:EXTI ​编辑 4:NVIC基本结构 5:使用步骤 二:中断的应用 A:对外式红外传感计数器 1:连接图​编辑 2:函数介绍 3:硬件介绍 4:计数代码 B;旋转编码计数器 1:连接图 2:硬件介绍 3:旋转编码器代码: 一:中断 1:简历 中断&#xff1a;在主程…

三、性能测试场景设计

性能测试场景设计 一、引言&#xff1a;如果公司要求你去做性能测试&#xff0c;遇到这些场景&#xff0c;我们要如何设计&#xff1f;二、6种常见设计方法1、普通性能场景设计2、负载测试性能场景 一、引言&#xff1a;如果公司要求你去做性能测试&#xff0c;遇到这些场景&am…

用 oneAPI 实现 AI 欺诈检测:一款智能图像识别工具

简介 虚假图像和视频日益成为社交媒体、新闻报道以及在线内容中的一大隐患。在这个信息爆炸的时代&#xff0c;如何准确地识别和应对这些虚假内容已经成为一个迫切的问题。为了帮助用户更好地辨别虚假内容&#xff0c;我开发了一款基于 oneAPI、TensorFlow 和 Neural Compress…