计算机毕业设计 SpringBoot的停车场管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

目录

1.技术选型

2.数据库表结构

3.开发工具

4.功能

4.1【角色】

4.2【前台功能模块】

4.3【后台功能模块】

5.项目演示截图

5.1 首页

5.2  立即预订

5.3 预约详情

5.4 个人中心

5.5 车位管理

5.6 车位预订管理

5.7 违规管理

5.8 员工管理

5.9 车辆管理

5.10 基础数据管理

6.数据库文件设计

7.核心代码 

7.1 车位预订Controller

7.2 车位预订Service

7.3 车位预订ServiceImpl

7.4 车位预订DAO

8.参考文档


1.技术选型

springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8

2.数据库表结构

11张 

3.开发工具

idea、navicat、vscode

4.功能

4.1【角色】

超级管理员、管理员、用户

4.2【前台功能模块】

  • 登录注册
  • 首页
  • 车位
  • 公告
  • 个人中心(个人中心、车辆、车位预定、违规)

4.3【后台功能模块】

  • 登录
  • 首页
  • 个人中心
  • 管理员管理
  • 员工管理
  • 用户管理
  • 车辆管理
  • 车位管理
  • 车位预订管理
  • 公告管理
  • 违规管理
  • 基础数据管理
  • 轮播图管理

5.项目演示截图


5.1 首页

5.2  立即预订

5.3 预约详情

 

5.4 个人中心

 

5.5 车位管理

 

5.6 车位预订管理

 

5.7 违规管理

 

5.8 员工管理

 

5.9 车辆管理

 

5.10 基础数据管理

 

6.数据库文件设计

CREATE TABLE `cheliang` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`cheliang_name` varchar(200) DEFAULT NULL COMMENT '车辆名称  Search111 ',`cheliang_uuid_number` varchar(200) DEFAULT NULL COMMENT '车辆编号',`cheliang_photo` varchar(200) DEFAULT NULL COMMENT '车辆照片',`cheliang_paizhao` varchar(200) DEFAULT NULL COMMENT '车辆牌照',`cheliang_file` varchar(200) DEFAULT NULL COMMENT '车牌',`cheliang_types` int(11) DEFAULT NULL COMMENT '车辆类型 Search111',`cheliang_content` longtext COMMENT '车辆介绍 ',`cheliang_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='车辆';CREATE TABLE `chewei` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`chewei_name` varchar(200) DEFAULT NULL COMMENT '车位名称  Search111 ',`chewei_uuid_number` varchar(200) DEFAULT NULL COMMENT '车位编号',`chewei_photo` varchar(200) DEFAULT NULL COMMENT '车位照片',`chewei_address` varchar(200) DEFAULT NULL COMMENT '车位地点',`chewei_tingchefei` decimal(10,2) DEFAULT NULL COMMENT '金额/小时 ',`chewei_types` int(11) DEFAULT NULL COMMENT '车位类型 Search111',`chewei_content` longtext COMMENT '车位介绍 ',`shangxia_types` int(11) DEFAULT NULL COMMENT '是否上架 ',`chewei_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',PRIMARY KEY (`id`)
)CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';CREATE TABLE `dictionary` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`dic_code` varchar(200) DEFAULT NULL COMMENT '字段',`dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',`code_index` int(11) DEFAULT NULL COMMENT '编码',`index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',`super_id` int(11) DEFAULT NULL COMMENT '父字段id',`beizhu` varchar(200) DEFAULT NULL COMMENT '备注',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='字典';CREATE TABLE `gonggao` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`gonggao_name` varchar(200) DEFAULT NULL COMMENT '公告名称 Search111  ',`gonggao_photo` varchar(200) DEFAULT NULL COMMENT '公告图片 ',`gonggao_types` int(11) NOT NULL COMMENT '公告类型 Search111 ',`insert_time` timestamp NULL DEFAULT NULL COMMENT '发布时间',`gonggao_content` longtext COMMENT '公告详情 ',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告';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=5 DEFAULT CHARSET=utf8 COMMENT='token表';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='管理员';CREATE TABLE `weigui` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`cheliang_id` int(11) DEFAULT NULL COMMENT '车辆',`weigui_name` varchar(200) DEFAULT NULL COMMENT '违规名称  Search111 ',`weigui_uuid_number` varchar(200) DEFAULT NULL COMMENT '违规编号',`weigui_photo` varchar(200) DEFAULT NULL COMMENT '违规照片',`weigui_address` varchar(200) DEFAULT NULL COMMENT '违规地点',`weigui_types` int(11) DEFAULT NULL COMMENT '违规类型 Search111',`weigui_content` longtext COMMENT '违规介绍 ',`weigui_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='违规';CREATE TABLE `yonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账户',`password` varchar(200) DEFAULT NULL COMMENT '密码',`yonghu_uuid_number` varchar(200) DEFAULT NULL COMMENT '用户编号 Search111 ',`yonghu_name` varchar(200) DEFAULT NULL COMMENT '用户姓名 Search111 ',`yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',`yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号',`yonghu_photo` varchar(200) DEFAULT NULL COMMENT '用户头像',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`yonghu_email` varchar(200) DEFAULT NULL COMMENT '用户邮箱',`new_money` decimal(10,2) DEFAULT NULL COMMENT '余额 ',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户';CREATE TABLE `yuangong` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账户',`password` varchar(200) DEFAULT NULL COMMENT '密码',`yuangong_uuid_number` varchar(200) DEFAULT NULL COMMENT '员工编号 Search111 ',`yuangong_name` varchar(200) DEFAULT NULL COMMENT '员工姓名 Search111 ',`yuangong_phone` varchar(200) DEFAULT NULL COMMENT '员工手机号',`yuangong_id_number` varchar(200) DEFAULT NULL COMMENT '员工身份证号',`yuangong_photo` varchar(200) DEFAULT NULL COMMENT '员工头像',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`yuangong_email` varchar(200) DEFAULT NULL COMMENT '员工邮箱',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 ',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='员工';

7.核心代码 

7.1 车位预订Controller


package com.controller;/*** 车位预订* 后端接口* @author 计算机编程-吉哥* @email
*/
@RestController
@Controller
@RequestMapping("/cheweiYuyue")
public class CheweiYuyueController {private static final Logger logger = LoggerFactory.getLogger(CheweiYuyueController.class);private static final String TABLE_NAME = "cheweiYuyue";@Autowiredprivate CheweiYuyueService cheweiYuyueService;@Autowiredprivate TokenService tokenService;@Autowiredprivate CheliangService cheliangService;//车辆@Autowiredprivate CheweiService cheweiService;//车位@Autowiredprivate DictionaryService dictionaryService;//字典@Autowiredprivate GonggaoService gonggaoService;//公告@Autowiredprivate WeiguiService weiguiService;//违规@Autowiredprivate YonghuService yonghuService;//用户@Autowiredprivate YuangongService yuangongService;//员工@Autowiredprivate UsersService usersService;//管理员/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("用户".equals(role))params.put("yonghuId",request.getSession().getAttribute("userId"));else if("员工".equals(role))params.put("yuangongId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = cheweiYuyueService.queryPage(params);//字典表数据转换List<CheweiYuyueView> list =(List<CheweiYuyueView>)page.getList();for(CheweiYuyueView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);CheweiYuyueEntity cheweiYuyue = cheweiYuyueService.selectById(id);if(cheweiYuyue !=null){//entity转viewCheweiYuyueView view = new CheweiYuyueView();BeanUtils.copyProperties( cheweiYuyue , view );//把实体数据重构到view中//级联表 车位//级联表CheweiEntity chewei = cheweiService.selectById(cheweiYuyue.getCheweiId());if(chewei != null){BeanUtils.copyProperties( chewei , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setCheweiId(chewei.getId());}//级联表 车辆//级联表CheliangEntity cheliang = cheliangService.selectById(cheweiYuyue.getCheliangId());if(cheliang != null){BeanUtils.copyProperties( cheliang , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setCheliangId(cheliang.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody CheweiYuyueEntity cheweiYuyue, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,cheweiYuyue:{}",this.getClass().getName(),cheweiYuyue.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");Wrapper<CheweiYuyueEntity> queryWrapper = new EntityWrapper<CheweiYuyueEntity>().eq("chewei_id", cheweiYuyue.getCheweiId()).eq("cheliang_id", cheweiYuyue.getCheliangId()).eq("chewei_yuyue_shichang", cheweiYuyue.getCheweiYuyueShichang()).in("chewei_yuyue_yesno_types", new Integer[]{1,2});logger.info("sql语句:"+queryWrapper.getSqlSegment());CheweiYuyueEntity cheweiYuyueEntity = cheweiYuyueService.selectOne(queryWrapper);if(cheweiYuyueEntity==null){cheweiYuyue.setInsertTime(new Date());cheweiYuyue.setCheweiYuyueYesnoTypes(1);cheweiYuyue.setCreateTime(new Date());cheweiYuyueService.insert(cheweiYuyue);return R.ok();}else {if(cheweiYuyueEntity.getCheweiYuyueYesnoTypes()==1)return R.error(511,"有相同的待审核的数据");else if(cheweiYuyueEntity.getCheweiYuyueYesnoTypes()==2)return R.error(511,"有相同的审核通过的数据");elsereturn R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody CheweiYuyueEntity cheweiYuyue, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,cheweiYuyue:{}",this.getClass().getName(),cheweiYuyue.toString());CheweiYuyueEntity oldCheweiYuyueEntity = cheweiYuyueService.selectById(cheweiYuyue.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");if("".equals(cheweiYuyue.getCheweiYuyueText()) || "null".equals(cheweiYuyue.getCheweiYuyueText())){cheweiYuyue.setCheweiYuyueText(null);}if("".equals(cheweiYuyue.getCheweiYuyueFile()) || "null".equals(cheweiYuyue.getCheweiYuyueFile())){cheweiYuyue.setCheweiYuyueFile(null);}if("".equals(cheweiYuyue.getCheweiYuyueYesnoText()) || "null".equals(cheweiYuyue.getCheweiYuyueYesnoText())){cheweiYuyue.setCheweiYuyueYesnoText(null);}cheweiYuyueService.updateById(cheweiYuyue);//根据id更新return R.ok();}/*** 审核*/@RequestMapping("/shenhe")public R shenhe(@RequestBody CheweiYuyueEntity cheweiYuyueEntity, HttpServletRequest request){logger.debug("shenhe方法:,,Controller:{},,cheweiYuyueEntity:{}",this.getClass().getName(),cheweiYuyueEntity.toString());CheweiYuyueEntity oldCheweiYuyue = cheweiYuyueService.selectById(cheweiYuyueEntity.getId());//查询原先数据CheweiEntity cheweiEntity = cheweiService.selectById(oldCheweiYuyue.getCheweiId());if(cheweiYuyueEntity.getCheweiYuyueYesnoTypes() == 2){//通过cheweiEntity.setShangxiaTypes(2);cheweiService.updateById(cheweiEntity);cheweiYuyueEntity.setCheweiYuyueShenheTime(new Date());//审核时间cheweiYuyueService.updateById(cheweiYuyueEntity);//审核return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<CheweiYuyueEntity> oldCheweiYuyueList =cheweiYuyueService.selectBatchIds(Arrays.asList(ids));//要删除的数据cheweiYuyueService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName, HttpServletRequest request){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//.eq("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))try {List<CheweiYuyueEntity> cheweiYuyueList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环CheweiYuyueEntity cheweiYuyueEntity = new CheweiYuyueEntity();//把要查询是否重复的字段放入map中//报名编号if(seachFields.containsKey("cheweiYuyueUuidNumber")){List<String> cheweiYuyueUuidNumber = seachFields.get("cheweiYuyueUuidNumber");cheweiYuyueUuidNumber.add(data.get(0));//要改的}else{List<String> cheweiYuyueUuidNumber = new ArrayList<>();cheweiYuyueUuidNumber.add(data.get(0));//要改的seachFields.put("cheweiYuyueUuidNumber",cheweiYuyueUuidNumber);}}//查询是否重复//报名编号List<CheweiYuyueEntity> cheweiYuyueEntities_cheweiYuyueUuidNumber = cheweiYuyueService.selectList(new EntityWrapper<CheweiYuyueEntity>().in("chewei_yuyue_uuid_number", seachFields.get("cheweiYuyueUuidNumber")));if(cheweiYuyueEntities_cheweiYuyueUuidNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(CheweiYuyueEntity s:cheweiYuyueEntities_cheweiYuyueUuidNumber){repeatFields.add(s.getCheweiYuyueUuidNumber());}return R.error(511,"数据库的该表中的 [报名编号] 字段已经存在 存在数据为:"+repeatFields.toString());}cheweiYuyueService.insertBatch(cheweiYuyueList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));CommonUtil.checkMap(params);PageUtils page = cheweiYuyueService.queryPage(params);//字典表数据转换List<CheweiYuyueView> list =(List<CheweiYuyueView>)page.getList();for(CheweiYuyueView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put("data", page);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Integer id, HttpServletRequest request){logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);CheweiYuyueEntity cheweiYuyue = cheweiYuyueService.selectById(id);if(cheweiYuyue !=null){//entity转viewCheweiYuyueView view = new CheweiYuyueView();BeanUtils.copyProperties( cheweiYuyue , view );//把实体数据重构到view中//级联表CheweiEntity chewei = cheweiService.selectById(cheweiYuyue.getCheweiId());if(chewei != null){BeanUtils.copyProperties( chewei , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney"});//把级联的数据添加到view中,并排除id和创建时间字段view.setCheweiId(chewei.getId());}//级联表CheliangEntity cheliang = cheliangService.selectById(cheweiYuyue.getCheliangId());if(cheliang != null){BeanUtils.copyProperties( cheliang , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney"});//把级联的数据添加到view中,并排除id和创建时间字段view.setCheliangId(cheliang.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody CheweiYuyueEntity cheweiYuyue, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,cheweiYuyue:{}",this.getClass().getName(),cheweiYuyue.toString());Wrapper<CheweiYuyueEntity> queryWrapper = new EntityWrapper<CheweiYuyueEntity>().eq("chewei_yuyue_uuid_number", cheweiYuyue.getCheweiYuyueUuidNumber()).eq("chewei_id", cheweiYuyue.getCheweiId()).eq("cheliang_id", cheweiYuyue.getCheliangId()).eq("chewei_yuyue_text", cheweiYuyue.getCheweiYuyueText()).eq("chewei_yuyue_shichang", cheweiYuyue.getCheweiYuyueShichang()).in("chewei_yuyue_yesno_types", new Integer[]{1,2}).eq("chewei_yuyue_yesno_text", cheweiYuyue.getCheweiYuyueYesnoText())cheweiYuyue.setInsertTime(new Date());cheweiYuyue.setCheweiYuyueYesnoTypes(1);cheweiYuyue.setCreateTime(new Date());cheweiYuyueService.insert(cheweiYuyue);return R.ok();}/*** 入库*/@RequestMapping("/ruku")public R ruku(Integer id , HttpServletRequest request){logger.debug("refund:,,Controller:{},,ids:{}",this.getClass().getName(),id.toString());CheweiYuyueEntity cheweiYuyueEntity = cheweiYuyueService.selectById(id);cheweiYuyueEntity.setCheweiYuyueYesnoTypes(4);cheweiYuyueService.updateById(cheweiYuyueEntity);return R.ok();}/*** 出库*/@RequestMapping("/chuku")public R chuku(Integer id , HttpServletRequest request){logger.debug("refund:,,Controller:{},,ids:{}",this.getClass().getName(),id.toString());CheweiYuyueEntity cheweiYuyueEntity = cheweiYuyueService.selectById(id);cheweiYuyueEntity.setCheweiYuyueYesnoTypes(5);cheweiYuyueService.updateById(cheweiYuyueEntity);return R.ok();}/*** 缴费*/@RequestMapping("/jiaofei")public R jiaofei(Integer id , HttpServletRequest request){logger.debug("refund:,,Controller:{},,ids:{}",this.getClass().getName(),id.toString());CheweiYuyueEntity cheweiYuyueEntity = cheweiYuyueService.selectById(id);CheweiEntity cheweiEntity = cheweiService.selectById(cheweiYuyueEntity.getCheweiId());CheliangEntity cheliangEntity = cheliangService.selectById(cheweiYuyueEntity.getCheliangId());YonghuEntity yonghuEntity = yonghuService.selectById(cheliangEntity.getYonghuId());Double newMoney = yonghuEntity.getNewMoney();Integer cheweiYuyueShichang = cheweiYuyueEntity.getCheweiYuyueShichang();Double cheweiTingchefei = cheweiEntity.getCheweiTingchefei();double v = cheweiTingchefei * cheweiYuyueShichang;if(newMoney<v)return R.error("用户余额不足请充值后在缴费");yonghuEntity.setNewMoney(newMoney-v);cheweiYuyueEntity.setCheweiYuyueYesnoTypes(6);cheweiEntity.setShangxiaTypes(1);cheweiService.updateById(cheweiEntity);cheweiYuyueService.updateById(cheweiYuyueEntity);yonghuService.updateById(yonghuEntity);return R.ok();}}

7.2 车位预订Service

package com.service;import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.CheweiYuyueEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;/*** 车位预订 服务类*/
public interface CheweiYuyueService extends IService<CheweiYuyueEntity> {/*** @param params 查询参数* @return 带分页的查询出来的数据*/PageUtils queryPage(Map<String, Object> params);}

7.3 车位预订ServiceImpl

package com.service.impl;/*** 车位预订 服务实现类* author 计算机编程-吉哥*/
@Service("cheweiYuyueService")
@Transactional
public class CheweiYuyueServiceImpl extends ServiceImpl<CheweiYuyueDao, CheweiYuyueEntity> implements CheweiYuyueService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<CheweiYuyueView> page =new Query<CheweiYuyueView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

7.4 车位预订DAO

package com.dao;import com.entity.CheweiYuyueEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;import org.apache.ibatis.annotations.Param;
import com.entity.view.CheweiYuyueView;/*** 车位预订 Dao 接口** @author */
public interface CheweiYuyueDao extends BaseMapper<CheweiYuyueEntity> {List<CheweiYuyueView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

8.参考文档

 

 

你可能还有感兴趣的项目👇🏻👇🏻👇🏻

更多项目推荐:计算机毕业设计项目

如果大家有任何疑虑,请在下方咨询或评论

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

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

相关文章

堆排序 Heapsort

堆排序&#xff08;Heapsort&#xff09;是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。堆排序可以说是一种利用堆的概…

简易机器学习笔记(四)初识卷积神经网络

前言 第一次写卷积神经网络&#xff0c;也是照着paddlepaddle的官方文档抄&#xff0c;这里简单讲解一下心得。 首先我们要知道之前写的那些东西都是什么&#xff0c;之前写的我们称之为简单神经网络&#xff0c;也就是简单一层连接输出和输出&#xff0c;通过前向计算和逆向…

Simple Facebook Sign-In

简单的Facebook登录为Android、iOS、Windows、Mac、通用Windows平台(UWP)和Unity制作的WebGL应用程序提供了基于OAuth 2.0的Facebook登录。 优点: ● 跨平台游戏和应用程序的跨平台用户身份验证 ● 无插件,无第三方库,无依赖● 对建筑规模没有影响 ● 客户端-服务器应…

solidity显示以太坊美元价格

看过以太坊白皮书的都知道&#xff0c;以太坊比较比特币而言所提升的地方中&#xff0c;我认为最重要的一点就是能够访问外部的数据&#xff0c;这一点在赌博、金融领域应用会很广泛&#xff0c;但是区块链是一个确定的系统&#xff0c;包括里面的所有数值包括交易ID等都是确定…

OS 7--DNS配置+Apache发布网站

环境准备 centOS 7 1.配置DNS 1.1 域名为lianxi.com 1.2 为WWW服务器、FTP服务器、NEWS服务器做域名解析 1)安装DNS yum -y install bind bind-utils (如果安装不上&#xff0c;就把磁盘在重洗挂载一下&#xff09; 2&#xff09;修改DNS配置文件 vim /etc/resolv.conf…

车载 Android之 核心服务 - CarPropertyService 解析

重要类的源码文件名及位置&#xff1a; CarPropertyManager.java packages/services/Car/car-lib/src/android/car/hardware/property/ CarPropertyService.java packages/services/Car/service/src/com/android/car/ 类的介绍&#xff1a; CarPropertyManager&#xff1a…

航芯ACM32G103开发板评测 02-GPIO输入输出

航芯ACM32G103开发板评测 02-GPIO输入输出 航芯ACM32G103开发板评测 GPIO输入输出应用 软硬件平台 ACM32G103 Board开发板 MDK-ARM Keil GPIO输出典型应用——点灯 GPIO输入典型应用——按键 GPIO 功能概述 GPIO 是通用输入/输出&#xff08;General Purpose I/O&#x…

[Flutter]WindowsOS中相关配置

Flutter项目在Windows平台上如何配置 目录 Flutter项目在Windows平台上如何配置 写在开头 正文 1、OS准备 2、编译环境准备 ① 下载AndroidStudio ② 下载dart ③ 下载flutter ④ 下载并安装VS ⑤ 在AS中配置dart和flutter 3、配置中遇到的问题 写在结尾 写在开头…

C++ stack使用、模拟实现、OJ题

目录 一、介绍 二、常用函数 三、模拟实现 四、OJ练习题 1、最小栈 2、栈的压入、弹出序列 3、逆波兰表达式(后缀转中缀) 4、中缀转后缀思路 5、用栈实现队列 一、介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除…

自动驾驶论文

文章目录 一、Convolutional Social Pooling for Vehicle Trajectory Prediction二、QCNet&#xff1a;Query-Centric Trajectory Prediction三、VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation 一、Convolutional Social Pooling for Vehicl…

iOS 小组件开发

iOS14之后Apple引入了新的WidgetKit&#xff0c;舍弃了原有额TodayExtension。 开发准备&#xff1a; 新的WidgetExtension只能通过SwiftUI进行开发&#xff1b; Widget有三种尺寸&#xff1a;systemSmall、 systemMedium、systemLarge&#xff0c;三种尺寸对应固定的UI类型布…

BIND-DNS配置介绍

一、主要配置文件 /etc/named.conf options { //Option 段全部配置 listen-on port 53 { 127.0.0.1; };//表示BIND将在53端口监听&#xff0c;若需要对所有IP进行监听&#xff0c;则修改为// listen-on port 53 { any; }; directory "/var/named"…

(六)数码管动态刷新

文章目录 如何实现利用人眼的余晖效应&#xff08;100hz无闪烁&#xff09;1ms刷一个数码管 8个看起来就是一块亮的 结合前面内容进行操作前面内容传送门&#xff1a;如何段选原理图代码写法这里借助isp复制共阴数码管码值 如何位选原理图代码写法 如何消隐在每次 段选 赋值之前…

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

Linux操作系统基础(3):Linux终端的使用

1. Linux终端的介绍 Linux 终端是指在 Linux 操作系统下用于与用户进行交互的命令行界面&#xff08;基于文本的交互&#xff09;。它是用户与操作系统进行直接交互的主要方式&#xff0c;可以通过输入命令来执行各种操作&#xff0c;如文件管理、进程控制、系统配置等。 Lin…

【WPF.NET开发】WPF中的输入

本文内容 输入 API事件路由处理输入事件文本输入触摸和操作侧重点鼠标位置鼠标捕获命令输入系统和基元素 Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API&#xff0c;用于从各种设备&#xff08;包括鼠标、键盘、触摸和触笔&#xff09;获取输入。 本…

CTF流量分析经典例题详解

目录 入门题型 题目&#xff1a;Cephalopod(图片提取) 题目&#xff1a;特殊后门(icmp协议信息传输) 题目&#xff1a;手机热点(蓝牙传输协议obex,数据提取) 题目&#xff1a;想蹭网先解开密码(无线密码破解) 进阶题型 题目&#xff1a;抓到一只苍蝇(数据包筛选,数据提…

蓝牙物联网智能车用语音控制系统模块设计

随着信息产业的快速发展&#xff0c;简单的控制操作机器已经不能满足人类的欲望&#xff0c;利用语音识别技术让机器理解人类的语言&#xff0c;以及实现人机交互成为新的研究内容。对用户来说&#xff0c;这种人机交互的方式当是最自然的一种方式。同时&#xff0c;使人们在车…

【Java开发岗面试】八股文—Java虚拟机(JVM)

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…