当前位置: 首页 > 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…...

Kubernetes网络沙箱BotBox:为AI Agent提供零改造的密钥安全与访问控制

1. 项目概述&#xff1a;为AI Agent打造坚不可摧的网络沙箱如果你正在Kubernetes里跑AI Agent&#xff0c;比如让Clawbot、Moltbot或者OpenClaw这类自主代码生成工具去联网干活&#xff0c;心里是不是总有点不踏实&#xff1f;我猜你肯定担心过这几个问题&#xff1a;我给的API…...

【Linux保姆级教程】curl命令最全用法详解

在Linux日常运维、后端开发、接口调试工作中&#xff0c;有一个命令几乎无人不知、无人不用&#xff0c;它就是curl命令。curl被称为网络传输瑞士军刀&#xff0c;无需打开浏览器&#xff0c;纯命令行即可发送网络请求&#xff0c;支持HTTP/HTTPS/FTP等数十种协议。不管是测试接…...

3PEAK思瑞浦 TPA3532-VS1R MSOP8 运算放大器

特性 超低输入偏置电流: -在TA25C时最大士1pA(实验室测试限值) 安 -在-40C至125C(实验室测试限值)下&#xff0c;最大30皮 低输入失调电压:250V(最大值) 集成保护缓冲器&#xff0c;最大偏移电压为200V 低电压噪声密度:18nV/vHz(在1kHz时) 宽带宽:2.1MHz 供电电压:4.5V至16V(2.…...

3分钟快速上手:如何用res-downloader高效下载视频号资源

3分钟快速上手&#xff1a;如何用res-downloader高效下载视频号资源 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在当今数…...

抖音图片怎么去水印?2026实测去水印方法全整理,免费工具一并推荐

抖音图片怎么去水印&#xff1f;2026实测去水印方法全整理&#xff0c;免费工具一并推荐 每次在抖音刷到一张好看的图&#xff0c;长按保存下来却发现角落盖着一行"昵称抖音"水印&#xff0c;这种体验相信不少人都经历过。水印不影响欣赏还好&#xff0c;但如果想把图…...

ESP32音频播放终极指南:从SD卡播放MP3到网络流媒体的完整解决方案

ESP32音频播放终极指南&#xff1a;从SD卡播放MP3到网络流媒体的完整解决方案 【免费下载链接】ESP32-audioI2S Play mp3 files from SD via I2S 项目地址: https://gitcode.com/gh_mirrors/es/ESP32-audioI2S 想要在ESP32上构建专业的音频播放系统吗&#xff1f;ESP32-…...

如何快速恢复加密压缩包密码:ArchivePasswordTestTool完整指南

如何快速恢复加密压缩包密码&#xff1a;ArchivePasswordTestTool完整指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经遇到过…...

RDMA之从userspace verbs 到kernel verbs

用户态RDMA(userspace verbs)RDMA是一种高性能网络协议&#xff0c;一般用在GPU集群的高速通信库&#xff0c;如NCCL、NVSHMEM等&#xff0c;这些都是用户态通信库&#xff0c;我们熟知的RDMA大部分都是用户态RDMA。比如&#xff0c;如下一个简单的RDMA程序int main() { ​// 1…...

GTX 1660实战AI视频生成:低显存环境下的模型瘦身与帧插值方案

1. 项目概述&#xff1a;在入门级显卡上跑通AI视频生成最近看到不少朋友对AI视频生成很感兴趣&#xff0c;但总被“需要RTX 4090”、“至少24GB显存”这类硬件门槛劝退。作为一个常年混迹于“丐版”硬件圈的老玩家&#xff0c;我决定用我手头这块服役多年的GTX 1660&#xff08…...

零代码到全球上线:我用 Dify + EdgeOne Pages 为跨境电商打造了一个 7×24 小时 AI 智能客服

文章目录每日一句正能量目录1. 引言&#xff1a;一个独立站卖家的深夜焦虑2. 技术选型&#xff1a;为什么选择 Dify EdgeOne Pages&#xff1f;3. 场景拆解&#xff1a;跨境电商客服的三大核心痛点3.1 痛点一&#xff1a;意图混杂&#xff0c;一句话可能包含多个需求3.2 痛点二…...