当前位置: 首页 > news >正文

计算机毕业设计 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 土地管理

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.数据库表结构

15张 

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 土地管理

 

6.数据库文件设计

CREATE TABLE `baojian` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yiliao_id` int(11) DEFAULT NULL COMMENT '医疗人员',`laoren_id` int(11) DEFAULT NULL COMMENT '老人',`baojian_name` varchar(200) DEFAULT NULL COMMENT '医疗保健名称  Search111 ',`baojian_uuid_number` varchar(200) DEFAULT NULL COMMENT '医疗保健编号',`baojian_photo` varchar(200) DEFAULT NULL COMMENT '医疗保健照片',`baojian_address` varchar(200) DEFAULT NULL COMMENT '医疗保健地点',`baojian_types` int(11) DEFAULT NULL COMMENT '医疗保健类型 Search111',`baojian_content` longtext COMMENT '注意事项 ',`baojian_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=16 DEFAULT CHARSET=utf8 COMMENT='医疗保健';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=33 DEFAULT CHARSET=utf8 COMMENT='字典';CREATE TABLE `huodong` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`huodong_name` varchar(200) DEFAULT NULL COMMENT '文娱活动名称  Search111 ',`huodong_uuid_number` varchar(200) DEFAULT NULL COMMENT '文娱活动编号',`huodong_photo` varchar(200) DEFAULT NULL COMMENT '文娱活动照片',`huodong_address` varchar(200) DEFAULT NULL COMMENT '文娱活动地点',`huodong_types` int(11) DEFAULT NULL COMMENT '文娱活动类型 Search111',`huodong_content` longtext COMMENT '文娱活动结束 ',`huodong_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 `jiankang` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yiliao_id` int(11) DEFAULT NULL COMMENT '医疗人员',`laoren_id` int(11) DEFAULT NULL COMMENT '老人',`jiankang_name` varchar(200) DEFAULT NULL COMMENT '健康档案名称  Search111 ',`jiankang_uuid_number` varchar(200) DEFAULT NULL COMMENT '健康档案编号',`jiankang_photo` varchar(200) DEFAULT NULL COMMENT '健康档案照片',`jiankang_address` varchar(200) DEFAULT NULL COMMENT '健康档案地点',`jiankang_types` int(11) DEFAULT NULL COMMENT '身体情况 Search111',`jiankang_content` longtext COMMENT '注意事项 ',`jiankang_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=16 DEFAULT CHARSET=utf8 COMMENT='健康档案';CREATE TABLE `laoren` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`username` varchar(200) DEFAULT NULL COMMENT '账户 ',`password` varchar(200) DEFAULT NULL COMMENT '密码 ',`laoren_name` varchar(200) DEFAULT NULL COMMENT '老人名称 Search111 ',`laoren_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',`laoren_email` varchar(200) DEFAULT NULL COMMENT '邮箱',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`new_money` decimal(10,2) DEFAULT NULL COMMENT '余额',`laoren_content` longtext COMMENT '老人介绍 ',`laoren_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 ',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='老人';CREATE TABLE `shenghuo_order` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`shenghuo_order_uuid_number` varchar(200) DEFAULT NULL COMMENT '订单编号 Search111 ',`shenghuo_id` int(11) DEFAULT NULL COMMENT '生活照料',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`shenghuo_order_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=5 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 `tudi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`laoren_id` int(11) DEFAULT NULL COMMENT '商家',`tudi_name` varchar(200) DEFAULT NULL COMMENT '土地名称  Search111 ',`tudi_uuid_number` varchar(200) DEFAULT NULL COMMENT '土地编号',`tudi_photo` varchar(200) DEFAULT NULL COMMENT '土地照片',`tudi_address` varchar(200) DEFAULT NULL COMMENT '土地地点',`tudi_types` int(11) DEFAULT NULL COMMENT '土地类型 Search111',`tudi_kucun_number` int(11) DEFAULT NULL COMMENT '多少亩',`tudi_new_money` decimal(10,2) DEFAULT NULL COMMENT '价格/年 ',`tudi_content` longtext COMMENT '土地介绍 ',`tudi_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 `tudi_order` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`tudi_order_uuid_number` varchar(200) DEFAULT NULL COMMENT '订单编号 Search111 ',`tudi_id` int(11) DEFAULT NULL COMMENT '土地',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`buy_number` int(11) DEFAULT NULL COMMENT '亩',`tudi_order_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=4 DEFAULT CHARSET=utf8 COMMENT='土地承包';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 `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 '志愿者头像',`new_money` decimal(10,2) DEFAULT NULL COMMENT '余额 ',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`yonghu_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("/huodongYuyue")
public class HuodongYuyueController {private static final Logger logger = LoggerFactory.getLogger(HuodongYuyueController.class);private static final String TABLE_NAME = "huodongYuyue";@Autowiredprivate HuodongYuyueService huodongYuyueService;@Autowiredprivate TokenService tokenService;@Autowiredprivate BaojianService baojianService;//医疗保健@Autowiredprivate DictionaryService dictionaryService;//字典@Autowiredprivate HuodongService huodongService;//文娱活动@Autowiredprivate JiankangService jiankangService;//健康档案@Autowiredprivate LaorenService laorenService;//老人@Autowiredprivate ShenghuoService shenghuoService;//生活照料@Autowiredprivate ShenghuoOrderService shenghuoOrderService;//生活照料订单@Autowiredprivate TudiService tudiService;//土地@Autowiredprivate TudiOrderService tudiOrderService;//土地承包@Autowiredprivate YiliaoService yiliaoService;//医疗人员@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("laorenId",request.getSession().getAttribute("userId"));else if("医疗人员".equals(role))params.put("yiliaoId",request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = huodongYuyueService.queryPage(params);//字典表数据转换List<HuodongYuyueView> list =(List<HuodongYuyueView>)page.getList();for(HuodongYuyueView 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);HuodongYuyueEntity huodongYuyue = huodongYuyueService.selectById(id);if(huodongYuyue !=null){//entity转viewHuodongYuyueView view = new HuodongYuyueView();BeanUtils.copyProperties( huodongYuyue , view );//把实体数据重构到view中//级联表 文娱活动//级联表HuodongEntity huodong = huodongService.selectById(huodongYuyue.getHuodongId());if(huodong != null){BeanUtils.copyProperties( huodong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "laorenId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setHuodongId(huodong.getId());}//级联表 老人//级联表LaorenEntity laoren = laorenService.selectById(huodongYuyue.getLaorenId());if(laoren != null){BeanUtils.copyProperties( laoren , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "laorenId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setLaorenId(laoren.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody HuodongYuyueEntity huodongYuyue, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,huodongYuyue:{}",this.getClass().getName(),huodongYuyue.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("老人".equals(role))huodongYuyue.setLaorenId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<HuodongYuyueEntity> queryWrapper = new EntityWrapper<HuodongYuyueEntity>().eq("huodong_id", huodongYuyue.getHuodongId()).eq("laoren_id", huodongYuyue.getLaorenId()).in("huodong_yuyue_yesno_types", new Integer[]{1,2});logger.info("sql语句:"+queryWrapper.getSqlSegment());HuodongYuyueEntity huodongYuyueEntity = huodongYuyueService.selectOne(queryWrapper);if(huodongYuyueEntity==null){huodongYuyue.setHuodongYuyueYesnoTypes(1);huodongYuyue.setInsertTime(new Date());huodongYuyue.setCreateTime(new Date());huodongYuyueService.insert(huodongYuyue);return R.ok();}else {if(huodongYuyueEntity.getHuodongYuyueYesnoTypes()==1)return R.error(511,"有相同的待审核的数据");else if(huodongYuyueEntity.getHuodongYuyueYesnoTypes()==2)return R.error(511,"有相同的审核通过的数据");elsereturn R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody HuodongYuyueEntity huodongYuyue, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,huodongYuyue:{}",this.getClass().getName(),huodongYuyue.toString());HuodongYuyueEntity oldHuodongYuyueEntity = huodongYuyueService.selectById(huodongYuyue.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
huodongYuyue.setLaorenId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));huodongYuyueService.updateById(huodongYuyue);//根据id更新return R.ok();}/*** 审核*/@RequestMapping("/shenhe")public R shenhe(@RequestBody HuodongYuyueEntity huodongYuyueEntity, HttpServletRequest request){logger.debug("shenhe方法:,,Controller:{},,huodongYuyueEntity:{}",this.getClass().getName(),huodongYuyueEntity.toString());HuodongYuyueEntity oldHuodongYuyue = huodongYuyueService.selectById(huodongYuyueEntity.getId());//查询原先数据huodongYuyueEntity.setHuodongYuyueShenheTime(new Date());//审核时间huodongYuyueService.updateById(huodongYuyueEntity);//审核return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());List<HuodongYuyueEntity> oldHuodongYuyueList =huodongYuyueService.selectBatchIds(Arrays.asList(ids));//要删除的数据huodongYuyueService.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");try {List<HuodongYuyueEntity> huodongYuyueList = 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){//循环HuodongYuyueEntity huodongYuyueEntity = new HuodongYuyueEntity();huodongYuyueList.add(huodongYuyueEntity);//把要查询是否重复的字段放入map中//报名编号if(seachFields.containsKey("huodongYuyueUuidNumber")){List<String> huodongYuyueUuidNumber = seachFields.get("huodongYuyueUuidNumber");huodongYuyueUuidNumber.add(data.get(0));//要改的}else{List<String> huodongYuyueUuidNumber = new ArrayList<>();huodongYuyueUuidNumber.add(data.get(0));//要改的seachFields.put("huodongYuyueUuidNumber",huodongYuyueUuidNumber);}}//查询是否重复//报名编号List<HuodongYuyueEntity> huodongYuyueEntities_huodongYuyueUuidNumber = huodongYuyueService.selectList(new EntityWrapper<HuodongYuyueEntity>().in("huodong_yuyue_uuid_number", seachFields.get("huodongYuyueUuidNumber")));if(huodongYuyueEntities_huodongYuyueUuidNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(HuodongYuyueEntity s:huodongYuyueEntities_huodongYuyueUuidNumber){repeatFields.add(s.getHuodongYuyueUuidNumber());}return R.error(511,"数据库的该表中的 [报名编号] 字段已经存在 存在数据为:"+repeatFields.toString());}huodongYuyueService.insertBatch(huodongYuyueList);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 = huodongYuyueService.queryPage(params);//字典表数据转换List<HuodongYuyueView> list =(List<HuodongYuyueView>)page.getList();for(HuodongYuyueView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put("data", page);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);HuodongYuyueEntity huodongYuyue = huodongYuyueService.selectById(id);if(huodongYuyue !=null){//entity转viewHuodongYuyueView view = new HuodongYuyueView();BeanUtils.copyProperties( huodongYuyue , view );//把实体数据重构到view中//级联表HuodongEntity huodong = huodongService.selectById(huodongYuyue.getHuodongId());if(huodong != null){BeanUtils.copyProperties( huodong , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setHuodongId(huodong.getId());}//级联表LaorenEntity laoren = laorenService.selectById(huodongYuyue.getLaorenId());if(laoren != null){BeanUtils.copyProperties( laoren , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setLaorenId(laoren.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody HuodongYuyueEntity huodongYuyue, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,huodongYuyue:{}",this.getClass().getName(),huodongYuyue.toString());Wrapper<HuodongYuyueEntity> queryWrapper = new EntityWrapper<HuodongYuyueEntity>().eq("huodong_yuyue_uuid_number", huodongYuyue.getHuodongYuyueUuidNumber()).eq("huodong_id", huodongYuyue.getHuodongId()).eq("laoren_id", huodongYuyue.getLaorenId()).eq("huodong_yuyue_text", huodongYuyue.getHuodongYuyueText()).in("huodong_yuyue_yesno_types", new Integer[]{1,2}).eq("huodong_yuyue_yesno_text", huodongYuyue.getHuodongYuyueYesnoText());logger.info("sql语句:"+queryWrapper.getSqlSegment());HuodongYuyueEntity huodongYuyueEntity = huodongYuyueService.selectOne(queryWrapper);if(huodongYuyueEntity==null){huodongYuyue.setHuodongYuyueYesnoTypes(1);huodongYuyue.setInsertTime(new Date());huodongYuyue.setCreateTime(new Date());huodongYuyueService.insert(huodongYuyue);return R.ok();}else {if(huodongYuyueEntity.getHuodongYuyueYesnoTypes()==1)return R.error(511,"有相同的待审核的数据");else if(huodongYuyueEntity.getHuodongYuyueYesnoTypes()==2)return R.error(511,"有相同的审核通过的数据");elsereturn R.error(511,"表中有相同数据");}}}

7.2 活动预约Service

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

7.3 活动预约ServiceImpl

package com.service.impl;/*** 活动报名 服务实现类*/
@Service("huodongYuyueService")
@Transactional
public class HuodongYuyueServiceImpl extends ServiceImpl<HuodongYuyueDao, HuodongYuyueEntity> implements HuodongYuyueService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<HuodongYuyueView> page =new Query<HuodongYuyueView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

7.4 活动预约DAO

package com.dao;/*** 活动报名 Dao 接口** @author */
public interface HuodongYuyueDao extends BaseMapper<HuodongYuyueEntity> {List<HuodongYuyueView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

8.参考文档

 

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

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

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

相关文章:

计算机毕业设计 SpringBoot的乡村养老服务管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

AMP 通讯RPMsg

参考 RPMsg&#xff1a;协议简介_rpmsg协议-CSDN博客 【软件架构】【通信】S32G IPCF - 知乎 openamp https://www.cnblogs.com/sky-heaven/p/14085800.html virtualIO 虚拟化技术 — VirtIO 虚拟设备接口标准 - 知乎 Virtio-fs介绍与性能优化_guest docker Docker Docs 扫…...

【ECMAScript】WebSocket模拟HTTP功能的实践:Promise+WebSocket+EventEmitter+Queue

1. 前言 本篇将结合Promise、WebSocket、EventEmitter和Queue&#xff0c;做一次实践&#xff1a;用WebSocket来模拟HTTP的功能。先不用关心它的用处&#xff0c;就当一次对知识点的整合吧。 2. MockHTTP 方法说明request(params, callback?) 功能&#xff1a;发起请求&…...

Linux 软raid - - Barrier

什么是Barriers 在linux软raid中&#xff0c;用来处理正常IO和同步IO的并发问题&#xff0c;可以简单理解为专用于软raid的锁。 软raid在做resync/recovery&#xff0c;或者配置操作时需要raise 屏障&#xff0c;于此同时必须暂停正常IO。 barrier是可以被多次raise的一个计数…...

航空公司管理系统(迷你版12306)

要求 今天分享一个之前辅导留学生的作业&#xff0c;作业要求如下&#xff1a; Project E: Airways Management System Overall description: Your team is employed by an Airways company for the implementation of a computer system responsible for a large part of th…...

嵌入式硬件电路原理图之跟随电路

描述 电压跟随电路 电压跟随器是共集电极电路&#xff0c;信号从基极输入&#xff0c;射极输出&#xff0c;故又称射极输出器。基极电压与集电极电压相位相同&#xff0c;即输入电压与输出电压同相。这一电路的主要特点是&#xff1a;高输入电阻、低输出电阻、电压增益近似为…...

学习录

概述 这几年在迷茫中看了不少资料&#xff0c;有觉得写得很棒的&#xff0c;也有写的很糟糕的。所以一直想写这块的总结来进行归纳&#xff0c;同时也希望能给其他处于迷茫中的朋友提供一份高质量的资料列表(也许一个读者也没有)&#xff0c;以下清单个人觉得值得反复看以及思…...

MongoDB索引详解

概述 索引是一种用来快速查询数据的数据结构。BTree 就是一种常用的数据库索引数据结构&#xff0c;MongoDB 采用 BTree 做索引&#xff0c;索引创建 colletions 上。MongoDB 不使用索引的查询&#xff0c;先扫描所有的文档&#xff0c;再匹配符合条件的文档。使用索引的查询&…...

一文搞定JVM内存模型

鲁大猿&#xff0c;寻精品资料&#xff0c;帮你构建Java全栈知识体系 www.jiagoujishu.cn 运行时数据区 内存是非常重要的系统资源&#xff0c;是硬盘和 CPU 的中间仓库及桥梁&#xff0c;承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、…...

月报总结|Moonbeam 12月份大事一览

一转眼已经到年底啦。本月&#xff0c;Moonbeam基金会发布四个最新战略重点&#xff1a;跨链解决方案、游戏、真实世界资产&#xff08;RWA&#xff09;、新兴市场。其中在新兴市场方面&#xff0c;紧锣密鼓地推出与巴西公司Grupo RO的战略合作。 用户教育方面&#xff0c;为了…...

现有网络模型的使用及修改(VGG16为例)

VGG16 修改默认路径 import os os.environ[TORCH_HOME] rD:\Pytorch\pythonProject\vgg16 # 下载位置太大了&#xff08;140多G&#xff09;不提供直接下载 train_set torchvision.datasets.ImageNet(root./data_image_net, splittrain, downloadTrue, transformtorchvis…...

MacOS M1/M2 Go Debug 配置

前言 换电脑&#xff0c;Go 环境带来一些麻烦&#xff0c;耽误很多时间&#xff0c;稍作记录。 原始电脑是 Mac 旧款&#xff0c;CPU x86 构型&#xff0c;新电脑 M2&#xff0c;因为旧电脑里本地文件很多&#xff0c;为了简化搬迁&#xff0c;还是用了 Mac 自带的迁移&#x…...

paddlehub 文本检测使用

PaddleHub负责模型的管理、获取和预训练模型的使用。 参考&#xff1a;https://github.com/PaddlePaddle/PaddleHub/tree/develop/modules/image/text_recognition/chinese_text_detection_db_server import paddlehub as hub import cv2 # from utils import cv_show import…...

负载均衡概述

负载均衡 负载均衡 建立在现有网络结构之上&#xff0c;它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 四层负载均衡 vs 七层负载均衡 四层负载均衡&#xff08;目标地址和端口交换&#xff09;…...

C# WinForm MessageBox自定义按键文本 COM组件版

c# 更改弹窗MessageBox按钮文字_c# messagebox.show 字体-CSDN博客 需要用到大佬上传到百度云盘的Hook类&#xff0c;在大佬给的例子的基础上改动了点。 应用时自己加GUID和ProgID。 组件实现&#xff1a; using System; using System.Collections.Generic; using System.L…...

基于SpringBoot微信小程序的宠物美容预约系统设计与实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容&#xff1a;SpringBoot、Vue、SSM、HLM…...

在 docker 容器中配置双网卡,解决通讯的问题

目录 1. 查看当前网络信息 2. 创建自定义网络桥 3. 创建双网卡模式 4. 删除默认网卡 已经创建好了的 Docker 容器&#xff0c;要修改它的IP比较麻烦&#xff0c;网上找了几种不同的方法&#xff0c;经过试验都没有成功&#xff0c;下面通过配置双网上来解决 IP 的问题。…...

uniapp中uview组件库CircleProgress 圆形进度条丰富的使用方法

目录 #内部实现 #平台差异说明 #基本使用 #设置圆环的动画时间 #API #Props 展示操作或任务的当前进度&#xff0c;比如上传文件&#xff0c;是一个圆形的进度环。 #内部实现 组件内部通过canvas实现&#xff0c;有更好的性能和通用性。 #平台差异说明 AppH5微信小程…...

Linux操作系统基础(12):Linux的Shell解释器

1. Shell的介绍 在Linux中&#xff0c;Shell 是一种命令行解释器&#xff0c;它是用户与操作系统内核之间的接口&#xff0c;它负责解释用户输入的命令&#xff0c;并将其转换成系统调用或其他操作系统能够执行的指令。 Shell 提供了一种交互式的方式来与操作系统进行通信&am…...

Android开发编程从入门到精通,安卓技术从初级到高级全套教学

一、教程描述 本套教程基于JDK1.8版本&#xff0c;教学内容主要有&#xff0c;1、环境搭建&#xff0c;UI布局&#xff0c;基础UI组件&#xff0c;高级UI组件&#xff0c;通知&#xff0c;自定义组件&#xff0c;样式主题&#xff1b;2、四大组件&#xff0c;Intent&#xff0…...

HackTheBox - Medium - Linux - BroScience

BroScience BroScience 是一款中等难度的 Linux 机器&#xff0c;其特点是 Web 应用程序容易受到“LFI”的攻击。通过读取目标上的任意文件的能力&#xff0c;攻击者可以深入了解帐户激活码的生成方式&#xff0c;从而能够创建一组可能有效的令牌来激活新创建的帐户。登录后&a…...

`nginx/conf/nginx.conf`最简配置说明

nginx/conf/nginx.conf最简配置说明 代码 nginx/conf/nginx.conf worker_processes 1; #工作进程个数;一般对应CPU内核对应一个worker_processes;太多反而让效率变差;# 事件驱动模块; events {worker_connections 1024;#设置每个worker_processes对应多少个联接; }# 网络请…...

商务智能|描述性统计分析与数据可视化

一、商务智能的三大方面 三个主要方面是描述性的统计分析、预测性的分析和指导性的数据分析。 A. 商务智能的知识体系下,数据分析包含了哪三个工作?商务智能体系架构里边关于数据分析的术语是什么? 商务智能的知识体系下,数据分析包含了三个工作,即描述性分析,预测性分析…...

【游记】GDKOI2024

去年稳定 Cu&#xff0c;希望今年来块 Ag。 Day − ∞ -\infty −∞ 不知道什么时候报名交钱的&#xff0c;赶紧问一问。 周四把设备送过来了。最近备战期末 选科 演讲比赛&#xff0c;有点忙不过来。 Day0 下午两点半出发&#xff0c;车程 2h。路上给小绿打肉鸽 1h 掉电…...

linux支持的零拷贝类型以及java对应的支持

在之前整理的零拷贝文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/135321197 https://blog.csdn.net/zlpzlpzyd/article/details/135317834 得出如下 因为开发的程序很多运行在 linux 操作系统上&#xff0c;所以用 linux 进行讲解 linux 调用方式 dma复制次数…...

【TypeScript】声明文件

一、定义 TypeScript 的声明文件包含 .d.ts 扩展名&#xff0c;并用于为 TypeScript 提供关于 JavaScript 代码的类型信息这些文件通常定义了接口、类型别名、类等&#xff0c;但并不包含实际的执行代码当你使用 JavaScript 库或框架时&#xff0c;声明文件就显得非常有用&…...

基于Flutter构建小型新闻App

目录 1. 概述 1.1 功能概述 1.2 技术准备 1.3 源码地址 2. App首页 2.1 pubspec依赖 2.2 热门首页组件 2.2.1 DefaultTabController 2.2.2 Swiper 2.3 新闻API数据访问 2.4 热门首页效果图 3. 新闻分类 3.1 GestureDetector 3.2 新闻分类效果图 4. 收藏功能 4…...

利用python将excel文件转成txt文件,再将txt文件上传hdfs,最后传入hive中

将excel文件转成txt文件&#xff0c;再将txt文件上传hdfs&#xff0c;最后传入hive中 注意的点 &#xff08;1&#xff09;先判断写入的txt文件是否存在&#xff0c;如果不存在就需要创建路径 &#xff08;2&#xff09;如果txt文件已经存在&#xff0c;那么先将对应的文件进行…...

【自学笔记】01Java基础-07面向对象基础-02继承

记录学习Java基础中有关继承、方法重写、构造器调用的基础知识&#xff0c;学习继承之前建议学习static关键字的内容【自学笔记】01Java基础-09Java关键字详解 1 继承概述 1.1 什么是继承&#xff1f; 1.2 继承的特点 子类可以继承父类的属性和行为&#xff0c;但是子类不能…...

二分查找(一)

算法原理 原理&#xff1a;当一个序列有“二段性”的时候&#xff0c;就可以使用二分查找算法。 适用范围&#xff1a;根据规律找一个点&#xff0c;能将这个数组分成两部分&#xff0c;根据规律能有选择性的舍去一部分&#xff0c;进而在另一个部分继续查找。 除了最普通的…...

开源网站模板cms/seo网络推广教程

项目实训的时候用到了二叉树遍历算法 话不多说&#xff0c;直接上代码吧。 如有错误还请指正哈~ /* 树是这样的&#xff1a;rootnode1 node2node3 node4 node5 */// 树的节点 const node3 {name: "node3", left: null, right: null}; const node4 {…...

短视频网站开发教程/上海网络营销有限公司

要想启动一个应用程序&#xff0c;首先要保证这个应用程序所需要的应用程序进程已经启动。AMS在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在&#xff0c;不存在就会请求Zygote进程启动需要的应用程序进程。下面来看下启动应用进程的大致流程吧&#xff1a; 一…...

php网站怎么做的/最知名的网站推广公司

Struts2常用标签总结 一 介绍 1&#xff0e;Struts2的作用 Struts2标签库提供了主题、模板支持&#xff0c;极大地简化了视图页面的编写&#xff0c;而且&#xff0c;struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件&…...

wordpress轮播图调用/广州网站优化方式

转自&#xff1a;http://www.cnblogs.com/zhycyq/archive/2012/08/31/2665316.html DbCommand.ExecuteScalar 方法&#xff1a; 执行查询&#xff0c;并返回查询所返回的结果集中第一行的第一列。 所有其他的列和行将被忽略。 语法: public abstract Object ExecuteScalar() 返…...

怎么把网站地图上传/网络宣传

// 题2&#xff1a;数组去重,有三种方法&#xff1a;// // 方法一// 利用Array类型的方法&#xff1a;indexOf() 从头部向后查找返回参数的位置,找不到则返回-1; function a(arr){ var newArr[]; for(var i0;i<arr.length;i){ if(newArr.indexOf(arr[i])-1){ newArr.push(ar…...

做公益网站需要什么资质/win7优化大师

*.Java文件 问题&#xff1a;一个".java"源文件中是否可以包括多个类&#xff08;不是内部类&#xff09;&#xff1f;有什么限制&#xff1f; 答案&#xff1a;可以有多个类&#xff0c;但只能有一个public的类&#xff0c;并且public的类名必须与文件名相一致。一个…...