计算机毕业设计 基于SpringBoot产业园区智慧公寓管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

编程入门 行业动态 更新时间:2024-10-25 16:19:04

计算机毕业设计 基于SpringBoot产业园区智慧公寓管理系统的设计与实现 Javaweb<a href=https://www.elefans.com/category/jswz/34/1771421.html style=项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试"/>

计算机毕业设计 基于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.数据库表结构

16张 

3.开发工具

idea、navicat

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 `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) DEFAULT 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=38 DEFAULT CHARSET=utf8 COMMENT='字典';CREATE TABLE `fangwu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`qiyeyonghu_id` int(11) DEFAULT NULL COMMENT '企业用户',`fangwu_name` varchar(200) DEFAULT NULL COMMENT '房屋名称  Search111 ',`fangwu_photo` varchar(200) DEFAULT NULL COMMENT '房屋照片',`zan_number` int(11) DEFAULT NULL COMMENT '赞',`cai_number` int(11) DEFAULT NULL COMMENT '踩',`fangwu_types` int(11) DEFAULT NULL COMMENT '房屋类型 Search111',`fangwu_clicknum` int(11) DEFAULT NULL COMMENT '房屋热度',`fangwu_new_money` decimal(10,2) DEFAULT NULL COMMENT '租金/月',`fangwu_content` longtext COMMENT '房屋介绍 ',`data_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`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='房屋信息';CREATE TABLE `fangwu_collection` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`fangwu_id` int(11) DEFAULT NULL COMMENT '房屋',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`fangwu_collection_types` int(11) DEFAULT NULL COMMENT '类型',`insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='房屋收藏';CREATE TABLE `fangwu_liuyan` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`fangwu_id` int(11) DEFAULT NULL COMMENT '房屋',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`fangwu_liuyan_text` longtext COMMENT '留言内容',`insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',`reply_text` longtext COMMENT '回复内容',`update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COMMENT='房屋留言';CREATE TABLE `fangwu_order` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`fangwu_order_uuid_number` varchar(200) DEFAULT NULL COMMENT '订单编号 Search111 ',`fangwu_id` int(11) DEFAULT NULL COMMENT '房屋',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`fangwu_order_time` timestamp NULL DEFAULT NULL COMMENT '预约日期',`fangwu_order_numb` int(11) DEFAULT NULL COMMENT '租期/月',`fangwu_order_true_price` decimal(10,2) DEFAULT NULL COMMENT '实付价格',`fangwu_order_types` int(11) DEFAULT NULL COMMENT '订单类型 Search111 ',`fangwu_order_payment_types` 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=3 DEFAULT CHARSET=utf8 COMMENT='房屋租赁订单';CREATE TABLE `forum` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`forum_name` varchar(200) DEFAULT NULL COMMENT '帖子标题  Search111 ',`qiyeyonghu_id` int(11) DEFAULT NULL COMMENT '企业用户',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`users_id` int(11) DEFAULT NULL COMMENT '管理员',`forum_content` longtext COMMENT '发布内容',`super_ids` int(11) DEFAULT NULL COMMENT '父id',`forum_state_types` int(11) DEFAULT NULL COMMENT '帖子状态',`insert_time` timestamp NULL DEFAULT NULL COMMENT '发帖时间',`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show2',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COMMENT='交流论坛';CREATE TABLE `jiaofei` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`jiaofei_uuid_number` varchar(200) DEFAULT NULL COMMENT '缴费编号',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`jiaofei_name` varchar(200) DEFAULT NULL COMMENT '缴费标题  Search111 ',`jiaofei_types` int(11) DEFAULT NULL COMMENT '缴费类型 Search111',`jiaofei_new_money` decimal(10,2) DEFAULT NULL COMMENT '缴费金额',`zhuangtai_types` int(11) DEFAULT NULL COMMENT '缴费状态 Search111',`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 `news` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`news_name` varchar(200) DEFAULT NULL COMMENT '公告标题  Search111 ',`news_types` int(11) DEFAULT NULL COMMENT '公告类型  Search111 ',`news_photo` varchar(200) DEFAULT NULL COMMENT '公告图片',`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',`news_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 `qiye` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`qiyeyonghu_id` int(11) DEFAULT NULL COMMENT '企业用户',`qiye_name` varchar(200) DEFAULT NULL COMMENT '企业名称 Search111 ',`qiye_types` int(11) DEFAULT NULL COMMENT '企业类型',`qiye_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',`qiye_email` varchar(200) DEFAULT NULL COMMENT '邮箱',`qiye_photo` varchar(200) DEFAULT NULL COMMENT '企业封面',`qiye_content` longtext COMMENT '企业简介 ',`data_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow ',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='企业';CREATE TABLE `qiyeyonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账户',`password` varchar(200) DEFAULT NULL COMMENT '密码',`qiyeyonghu_name` varchar(200) DEFAULT NULL COMMENT '企业用户名称 Search111 ',`qiyeyonghu_phone` varchar(200) DEFAULT NULL COMMENT '企业用户手机号',`qiyeyonghu_photo` varchar(200) DEFAULT NULL COMMENT '企业用户头像',`sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111',`qiyeyonghu_email` varchar(200) DEFAULT NULL COMMENT '企业用户邮箱',`data_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='企业用户';CREATE TABLE `sheshiyuyue` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`sheshiyuyue_uuid_number` varchar(200) DEFAULT NULL COMMENT '预约编号 Search111 ',`sheshiyuyue_name` varchar(200) DEFAULT NULL COMMENT '预约标题  Search111 ',`sheshiyuyue_sheshi` varchar(200) DEFAULT NULL COMMENT '设施名称  Search111 ',`sheshiyuyue_types` int(11) DEFAULT NULL COMMENT '设施类型  Search111 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`sheshiyuyue_text` longtext COMMENT '预约理由',`insert_time` timestamp NULL DEFAULT NULL COMMENT '房屋预约时间',`sheshiyuyue_yesno_types` int(11) DEFAULT NULL COMMENT '预约状态 Search111 ',`sheshiyuyue_yesno_text` longtext COMMENT '审核回复',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 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=4 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 `weixiubaobei` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`weixiubaobei_name` varchar(200) DEFAULT NULL COMMENT '报备标题 Search111 ',`weixiubaobei_text` longtext COMMENT '报备缘由',`weixiubaobei_types` int(11) DEFAULT NULL COMMENT '报备类型 Search111',`insert_time` timestamp NULL DEFAULT NULL COMMENT '申请时间',`weixiubaobei_time` timestamp NULL DEFAULT NULL COMMENT '报备时间',`weixiubaobei_yesno_types` int(11) DEFAULT NULL COMMENT '报备状态 Search111 ',`weixiubaobei_yesno_text` longtext COMMENT '处理结果',`weixiubaobei_shenhe_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_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 '性别 Search111',`yonghu_email` varchar(200) DEFAULT NULL COMMENT '用户邮箱',`new_money` decimal(10,2) DEFAULT NULL COMMENT '现有余额',`data_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`insert_time` timestamp NULL 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("/fangwuOrder")
public class FangwuOrderController {private static final Logger logger = LoggerFactory.getLogger(FangwuOrderController.class);private static final String TABLE_NAME = "fangwuOrder";@Autowiredprivate FangwuOrderService fangwuOrderService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//字典@Autowiredprivate FangwuService fangwuService;//房屋信息@Autowiredprivate FangwuCollectionService fangwuCollectionService;//房屋收藏@Autowiredprivate FangwuLiuyanService fangwuLiuyanService;//房屋留言@Autowiredprivate ForumService forumService;//交流论坛@Autowiredprivate JiaofeiService jiaofeiService;//缴费@Autowiredprivate NewsService newsService;//公告通知@Autowiredprivate QiyeService qiyeService;//企业@Autowiredprivate QiyeyonghuService qiyeyonghuService;//企业用户@Autowiredprivate SheshiyuyueService sheshiyuyueService;//设施预约@Autowiredprivate WeixiubaobeiService weixiubaobeiService;//维修报备@Autowiredprivate YonghuService yonghuService;//用户@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("qiyeyonghuId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = fangwuOrderService.queryPage(params);//字典表数据转换List<FangwuOrderView> list =(List<FangwuOrderView>)page.getList();for(FangwuOrderView 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);FangwuOrderEntity fangwuOrder = fangwuOrderService.selectById(id);if(fangwuOrder !=null){//entity转viewFangwuOrderView view = new FangwuOrderView();BeanUtils.copyProperties( fangwuOrder , view );//把实体数据重构到view中//级联表 房屋信息//级联表FangwuEntity fangwu = fangwuService.selectById(fangwuOrder.getFangwuId());if(fangwu != null){BeanUtils.copyProperties( fangwu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setFangwuId(fangwu.getId());}//级联表 用户//级联表YonghuEntity yonghu = yonghuService.selectById(fangwuOrder.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody FangwuOrderEntity fangwuOrder, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,fangwuOrder:{}",this.getClass().getName(),fangwuOrder.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("用户".equals(role))fangwuOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));fangwuOrder.setCreateTime(new Date());fangwuOrder.setInsertTime(new Date());fangwuOrderService.insert(fangwuOrder);return R.ok();}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody FangwuOrderEntity fangwuOrder, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,fangwuOrder:{}",this.getClass().getName(),fangwuOrder.toString());FangwuOrderEntity oldFangwuOrderEntity = fangwuOrderService.selectById(fangwuOrder.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));fangwuOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));fangwuOrderService.updateById(fangwuOrder);//根据id更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<FangwuOrderEntity> oldFangwuOrderList =fangwuOrderService.selectBatchIds(Arrays.asList(ids));//要删除的数据fangwuOrderService.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<FangwuOrderEntity> fangwuOrderList = 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){//循环FangwuOrderEntity fangwuOrderEntity = new FangwuOrderEntity();fangwuOrderList.add(fangwuOrderEntity);//把要查询是否重复的字段放入map中//订单编号if(seachFields.containsKey("fangwuOrderUuidNumber")){List<String> fangwuOrderUuidNumber = seachFields.get("fangwuOrderUuidNumber");fangwuOrderUuidNumber.add(data.get(0));//要改的}else{List<String> fangwuOrderUuidNumber = new ArrayList<>();fangwuOrderUuidNumber.add(data.get(0));//要改的seachFields.put("fangwuOrderUuidNumber",fangwuOrderUuidNumber);}}//查询是否重复//订单编号List<FangwuOrderEntity> fangwuOrderEntities_fangwuOrderUuidNumber = fangwuOrderService.selectList(new EntityWrapper<FangwuOrderEntity>().in("fangwu_order_uuid_number", seachFields.get("fangwuOrderUuidNumber")));if(fangwuOrderEntities_fangwuOrderUuidNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(FangwuOrderEntity s:fangwuOrderEntities_fangwuOrderUuidNumber){repeatFields.add(s.getFangwuOrderUuidNumber());}return R.error(511,"数据库的该表中的 [订单编号] 字段已经存在 存在数据为:"+repeatFields.toString());}fangwuOrderService.insertBatch(fangwuOrderList);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 = fangwuOrderService.queryPage(params);//字典表数据转换List<FangwuOrderView> list =(List<FangwuOrderView>)page.getList();for(FangwuOrderView 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);FangwuOrderEntity fangwuOrder = fangwuOrderService.selectById(id);if(fangwuOrder !=null){//entity转viewFangwuOrderView view = new FangwuOrderView();BeanUtils.copyProperties( fangwuOrder , view );//把实体数据重构到view中//级联表FangwuEntity fangwu = fangwuService.selectById(fangwuOrder.getFangwuId());if(fangwu != null){BeanUtils.copyProperties( fangwu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段view.setFangwuId(fangwu.getId());}//级联表YonghuEntity yonghu = yonghuService.selectById(fangwuOrder.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "username", "password", "newMoney", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody FangwuOrderEntity fangwuOrder, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,fangwuOrder:{}",this.getClass().getName(),fangwuOrder.toString());FangwuEntity fangwuEntity = fangwuService.selectById(fangwuOrder.getFangwuId());if(fangwuEntity == null){return R.error(511,"查不到该房屋信息");}// Double fangwuNewMoney = fangwuEntity.getFangwuNewMoney();if(false){}else if(fangwuEntity.getFangwuNewMoney() == null){return R.error(511,"租金/月不能为空");}//计算所获得积分Double buyJifen =0.0;Integer userId = (Integer) request.getSession().getAttribute("userId");YonghuEntity yonghuEntity = yonghuService.selectById(userId);if(yonghuEntity == null)return R.error(511,"用户不能为空");if(yonghuEntity.getNewMoney() == null)return R.error(511,"用户金额不能为空");double balance = yonghuEntity.getNewMoney() - fangwuEntity.getFangwuNewMoney()*fangwuOrder.getFangwuOrderNumb();//余额if(balance<0)return R.error(511,"余额不够支付");fangwuOrder.setFangwuOrderTypes(101); //设置订单状态为已支付fangwuOrder.setFangwuOrderTruePrice(fangwuEntity.getFangwuNewMoney()*fangwuOrder.getFangwuOrderNumb()); //设置实付价格fangwuOrder.setYonghuId(userId); //设置订单支付人idfangwuOrder.setFangwuOrderUuidNumber(String.valueOf(new Date().getTime()));fangwuOrder.setFangwuOrderPaymentTypes(1);fangwuOrder.setInsertTime(new Date());fangwuOrder.setCreateTime(new Date());fangwuOrderService.insert(fangwuOrder);//新增订单//更新第一注册表yonghuEntity.setNewMoney(balance);//设置金额yonghuService.updateById(yonghuEntity);return R.ok();}/*** 退房*/@RequestMapping("/refund")public R refund(Integer id, HttpServletRequest request){logger.debug("refund方法:,,Controller:{},,id:{}",this.getClass().getName(),id);String role = String.valueOf(request.getSession().getAttribute("role"));FangwuOrderEntity fangwuOrder = fangwuOrderService.selectById(id);//当前表serviceInteger fangwuOrderPaymentTypes = fangwuOrder.getFangwuOrderPaymentTypes();Integer fangwuId = fangwuOrder.getFangwuId();if(fangwuId == null)return R.error(511,"查不到该房屋信息");FangwuEntity fangwuEntity = fangwuService.selectById(fangwuId);if(fangwuEntity == null)return R.error(511,"查不到该房屋信息");Double fangwuNewMoney = fangwuEntity.getFangwuNewMoney();if(fangwuNewMoney == null)return R.error(511,"房屋信息价格不能为空");Integer userId = (Integer) request.getSession().getAttribute("userId");YonghuEntity yonghuEntity = yonghuService.selectById(userId);if(yonghuEntity == null)return R.error(511,"用户不能为空");if(yonghuEntity.getNewMoney() == null)return R.error(511,"用户金额不能为空");Double zhekou = 1.0;//判断是什么支付方式 1代表余额 2代表积分if(fangwuOrderPaymentTypes == 1){//余额支付//计算金额Double money = fangwuEntity.getFangwuNewMoney() * fangwuOrder.getFangwuOrderNumb()  * zhekou;//计算所获得积分Double buyJifen = 0.0;yonghuEntity.setNewMoney(yonghuEntity.getNewMoney() + money); //设置金额}fangwuOrder.setFangwuOrderTypes(102);//设置订单状态为已退房fangwuOrderService.updateAllColumnById(fangwuOrder);//根据id更新yonghuService.updateById(yonghuEntity);//更新用户信息fangwuService.updateById(fangwuEntity);//更新订单中房屋信息的信息return R.ok();}/*** 完成*/@RequestMapping("/deliver")public R deliver(Integer id  , HttpServletRequest request){logger.debug("refund:,,Controller:{},,ids:{}",this.getClass().getName(),id.toString());FangwuOrderEntity  fangwuOrderEntity = fangwuOrderService.selectById(id);fangwuOrderEntity.setFangwuOrderTypes(103);//设置订单状态为已完成fangwuOrderService.updateById( fangwuOrderEntity);return R.ok();}}

7.2 房屋租赁订单Service

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

 7.3 房屋租赁订单ServiceImpl

package com.service.impl;
/*** 房屋租赁订单 服务实现类*/
@Service("fangwuOrderService")
@Transactional
public class FangwuOrderServiceImpl extends ServiceImpl<FangwuOrderDao, FangwuOrderEntity> implements FangwuOrderService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<FangwuOrderView> page =new Query<FangwuOrderView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

 7.4 房屋租赁订单DAO

package com.dao;import com.entity.FangwuOrderEntity;
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.FangwuOrderView;/*** 房屋租赁订单 Dao 接口** @author */
public interface FangwuOrderDao extends BaseMapper<FangwuOrderEntity> {List<FangwuOrderView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

8.参考文档

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

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

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

更多推荐

计算机毕业设计 基于SpringBoot产业园区智慧公寓管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

本文发布于:2023-12-06 23:16:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1669300.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目   管理系统   毕业设计   园区   实战

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!