💕💕作者:计算机源码社
💕💕个人简介:本人七年开发经验,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、代码讲解、文档报告
1、绪论
1.1 项目背景
随着移动应用技术的发展,越来越多的用户借助于移动手机、电脑完成生活中的事务,许多的传统行业也更加重视与互联网的结合,以提高商家知名度和寻求更高的经济利益。针对传统汽车租赁系统,租赁信息、续租信息等问题,结合用户的实际需求,本课程设计了汽车租赁系统 ,用户可以此系统实现租赁信息查看,管理员通过后台会对此租赁信息进行审核,管理员在还可以进行管理员;首页、个人中心、汽车类型管理,汽车信息管理,租赁信息管理,用户管理、续租信息管理、归还信息管理、保险信息管理、违章记录管理、留言板管理、系统管理,用户前台;首页、汽车信息、新闻资讯、留言反馈、我的、转跳到后台,用户后台;首页、个人中心、租赁信息管理、续租信息管理、归还信息管理、违章记录管理、我的收藏管理等操作。此系统的开发对比旧传统的手工记录方式,不仅方便了需求用户,也提高了汽车租赁系统人员的工作效率。
1.2 项目主要任务
在目前所使用的软件开发主要是应用的Java,基于SSM+Vue汽车租赁管理系统开发来看它具有很大的意义,具体该系统的主要任务是:
1、提高汽车租赁系统信息管理的效率,实现管理上的井井有条。
2、实现用户通过计算机平台及时进行更新网站信息,查看信息等。
3、解决汽车租赁系统,保险信息管理存在的弊端。
计算机技术在现代管理中的应用,使计算机成为用户应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。
2、核心功能模块
2.1 系统功能模块分析
本系统主要实现基于SSM+Vue的汽车租赁管理系统,采用Java语言,B/S的结构,同时也使用JavaWeb技术在动态页面上进行了设计,后台上采用Mysql数据库。
汽车租赁管理系统的主要使用者分为管理员和用户,实现功能包括:
①管理员:个人中心、汽车类型管理,汽车信息管理,租赁信息管理,用户管理、续租信息管理、归还信息管理、保险信息管理、违章记录管理、留言板管理、系统管理。
②用户:汽车信息、新闻资讯、留言反馈、个人中心、租赁信息管理、续租信息管理、归还信息管理、违章记录管理、我的收藏。
2.2 系统功能结构图
2.3 文档报告目录
3、项目页面展示
4、 核心代码
/**
* 租赁信息
* 后端接口
*/
@RestController
@RequestMapping("/zulinxinxi")
public class ZulinxinxiController {
@Autowired
private ZulinxinxiService zulinxinxiService;
/**
* 后端汽车租赁列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,ZulinxinxiEntity zulinxinxi, HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
zulinxinxi.setYonghuming((String)request.getSession().getAttribute("username"));
}
EntityWrapper<ZulinxinxiEntity> ew = new EntityWrapper<ZulinxinxiEntity>();
PageUtils page = zulinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zulinxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 前端汽车租赁列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,ZulinxinxiEntity zulinxinxi, HttpServletRequest request){
EntityWrapper<ZulinxinxiEntity> ew = new EntityWrapper<ZulinxinxiEntity>();
PageUtils page = zulinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zulinxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 汽车租赁列表
*/
@RequestMapping("/lists")
public R list( ZulinxinxiEntity zulinxinxi){
EntityWrapper<ZulinxinxiEntity> ew = new EntityWrapper<ZulinxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( zulinxinxi, "zulinxinxi"));
return R.ok().put("data", zulinxinxiService.selectListView(ew));
}
/**
* 查询汽车租赁
*/
@RequestMapping("/query")
public R query(ZulinxinxiEntity zulinxinxi){
EntityWrapper< ZulinxinxiEntity> ew = new EntityWrapper< ZulinxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( zulinxinxi, "zulinxinxi"));
ZulinxinxiView zulinxinxiView = zulinxinxiService.selectView(ew);
return R.ok("查询租赁信息成功").put("data", zulinxinxiView);
}
/**
* 后端汽车租赁详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
ZulinxinxiEntity zulinxinxi = zulinxinxiService.selectById(id);
return R.ok().put("data", zulinxinxi);
}
/**
* 前端汽车租赁详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") String id){
ZulinxinxiEntity zulinxinxi = zulinxinxiService.selectById(id);
return R.ok().put("data", zulinxinxi);
}
/**
* 后端保存汽车租赁
*/
@RequestMapping("/save")
public R save(@RequestBody ZulinxinxiEntity zulinxinxi, HttpServletRequest request){
zulinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zulinxinxi);
zulinxinxiService.insert(zulinxinxi);
return R.ok();
}
/**
* 前端保存汽车租赁
*/
@RequestMapping("/add")
public R add(@RequestBody ZulinxinxiEntity zulinxinxi, HttpServletRequest request){
zulinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zulinxinxi);
zulinxinxiService.insert(zulinxinxi);
return R.ok();
}
/**
* 修改汽车租赁
*/
@RequestMapping("/update")
public R update(@RequestBody ZulinxinxiEntity zulinxinxi, HttpServletRequest request){
//ValidatorUtils.validateEntity(zulinxinxi);
zulinxinxiService.updateById(zulinxinxi);//全部更新
return R.ok();
}
/**
* 删除汽车租赁
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
zulinxinxiService.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<ZulinxinxiEntity> wrapper = new EntityWrapper<ZulinxinxiEntity>();
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("yonghu")) {
wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
int count = zulinxinxiService.selectCount(wrapper);
return R.ok().put("count", count);
}