计算机毕业设计 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实战项目 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
AMP 通讯RPMsg
参考 RPMsg:协议简介_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,做一次实践:用WebSocket来模拟HTTP的功能。先不用关心它的用处,就当一次对知识点的整合吧。 2. MockHTTP 方法说明request(params, callback?) 功能:发起请求&…...
Linux 软raid - - Barrier
什么是Barriers 在linux软raid中,用来处理正常IO和同步IO的并发问题,可以简单理解为专用于软raid的锁。 软raid在做resync/recovery,或者配置操作时需要raise 屏障,于此同时必须暂停正常IO。 barrier是可以被多次raise的一个计数…...

航空公司管理系统(迷你版12306)
要求 今天分享一个之前辅导留学生的作业,作业要求如下: 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…...

嵌入式硬件电路原理图之跟随电路
描述 电压跟随电路 电压跟随器是共集电极电路,信号从基极输入,射极输出,故又称射极输出器。基极电压与集电极电压相位相同,即输入电压与输出电压同相。这一电路的主要特点是:高输入电阻、低输出电阻、电压增益近似为…...

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

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

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

月报总结|Moonbeam 12月份大事一览
一转眼已经到年底啦。本月,Moonbeam基金会发布四个最新战略重点:跨链解决方案、游戏、真实世界资产(RWA)、新兴市场。其中在新兴市场方面,紧锣密鼓地推出与巴西公司Grupo RO的战略合作。 用户教育方面,为了…...

现有网络模型的使用及修改(VGG16为例)
VGG16 修改默认路径 import os os.environ[TORCH_HOME] rD:\Pytorch\pythonProject\vgg16 # 下载位置太大了(140多G)不提供直接下载 train_set torchvision.datasets.ImageNet(root./data_image_net, splittrain, downloadTrue, transformtorchvis…...

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

paddlehub 文本检测使用
PaddleHub负责模型的管理、获取和预训练模型的使用。 参考: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…...

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

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

基于SpringBoot微信小程序的宠物美容预约系统设计与实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容:SpringBoot、Vue、SSM、HLM…...

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

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

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

Android开发编程从入门到精通,安卓技术从初级到高级全套教学
一、教程描述 本套教程基于JDK1.8版本,教学内容主要有,1、环境搭建,UI布局,基础UI组件,高级UI组件,通知,自定义组件,样式主题;2、四大组件,Intent࿰…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...