欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > SpringBoot+React养老院管理系统 附带详细运行指导视频

SpringBoot+React养老院管理系统 附带详细运行指导视频

2025/2/22 2:24:31 来源:https://blog.csdn.net/dgfdhgghd/article/details/143833088  浏览:    关键词:SpringBoot+React养老院管理系统 附带详细运行指导视频

文章目录

  • 一、项目演示
  • 二、项目介绍
  • 三、运行截图
  • 四、主要代码
    • 1.入住合同文件上传
    • 2.添加和修改套餐的代码
    • 3.查看入住记录代码

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SpringBoot+React框架开发的养老院管理系统。首先,这是一个前后端分离的项目,代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个养老院管理系统该有的所有功能。

项目功能:此项目分为两个角色:普通用户管理员普通用户有登录注册、浏览个人数据统计信息、管理个人信息、浏览楼栋信息、浏览套餐信息、浏览个人入住信息、浏览入住的日常记录信息、浏览入住的套餐选购信息、发布留言、浏览留言信息、删除个人留言信息、浏览公告信息、浏览活动信息等等功能。管理员有查看全部数据统计信息、管理所有用户信息、管理所有楼栋信息、管理所有套餐信息、管理所有入住信息、管理所有入住的日常记录信息、浏览所有入住的套餐选购信息、管理所有留言信息、管理所有公告信息、管理所有活动信息等等功能。

应用技术:SpringBoot + React + MySQL + MyBatis + Redis + Ant Design + Vite + TypeScript + Drools

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7(项目压缩包中自带) + Redis5.0.5(项目压缩包中自带) + JDK1.8 + Maven3.6.3(项目压缩包中自带)+ Node16.20.2(项目压缩包中自带)

三、运行截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、主要代码

1.入住合同文件上传

	@PostMapping(value="/upload")public ResponseDTO<String> uploadFile(MultipartFile file, HttpServletRequest request){if(file == null){return ResponseDTO.errorByMsg(CodeMsg.FILE_EMPTY);}//检查上传文件大小 不能超过50MBif(file.getSize() > 50*1024*1024) {return ResponseDTO.errorByMsg(CodeMsg.FILE_SURPASS_MAX_SIZE);}//获取文件后缀String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);String savePath = uploadFilePath + CommonUtil.getFormatterDate(new Date(), "yyyyMMdd") + "\\";File savePathFile = new File(savePath);if(!savePathFile.exists()){//若不存在改目录,则创建目录savePathFile.mkdirs();}String filename = new Date().getTime()+"."+suffix;logger.info("保存文件的路径:{}",savePath + filename);try {//将文件保存至指定目录file.transferTo(new File(savePath + filename));}catch (Exception e) {e.printStackTrace();return ResponseDTO.errorByMsg(CodeMsg.SAVE_FILE_EXCEPTION);}String filepath = CommonUtil.getFormatterDate(new Date(), "yyyyMMdd") + "/" + filename;return ResponseDTO.successByMsg(filepath, "文件上传成功!");}

2.添加和修改套餐的代码

    @Overridepublic ResponseDTO<Boolean> savePackage(PackageDTO packagesDTO) {// 进行统一表单验证CodeMsg validate = ValidateEntityUtil.validate(packagesDTO);if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {return ResponseDTO.errorByMsg(validate);}Package packages = CopyUtil.copy(packagesDTO, Package.class);if(CommonUtil.isEmpty(packages.getId())) {// 添加操作// 判断套餐名称是否存在if(isNameExist(packages, "")){return ResponseDTO.errorByMsg(CodeMsg.PACKAGE_NAME_EXIST);}packages.setId(UuidUtil.getShortUuid());if(packagesMapper.insertSelective(packages) == 0) {return ResponseDTO.errorByMsg(CodeMsg.PACKAGE_ADD_ERROR);}} else {// 修改操作// 判断套餐名称是否存在if(isNameExist(packages, packages.getId())){return ResponseDTO.errorByMsg(CodeMsg.PACKAGE_NAME_EXIST);}if(packagesMapper.updateByPrimaryKeySelective(packages) == 0) {return ResponseDTO.errorByMsg(CodeMsg.PACKAGE_EDIT_ERROR);}}return ResponseDTO.success(true);}

3.查看入住记录代码

    @Overridepublic ResponseDTO<PageDTO<CheckDTO>> getCheckList(PageDTO<CheckDTO> pageDTO) {CheckExample checkExample = new CheckExample();// 不知道当前页多少,默认为第一页if(pageDTO.getPage() == null){pageDTO.setPage(1);}// 不知道每页多少条记录,默认为每页10条记录if(pageDTO.getSize() == null){pageDTO.setSize(10);}CheckExample.Criteria c1 = checkExample.createCriteria();if(pageDTO.getParam() != null) {CheckDTO checkDTO = pageDTO.getParam();if(!CommonUtil.isEmpty(checkDTO.getUsername())) {c1.andUsernameLike("%" + checkDTO.getUsername() + "%");}if(!CommonUtil.isEmpty(checkDTO.getPhone())) {c1.andPhoneLike("%" + checkDTO.getPhone() + "%");}if(!CommonUtil.isEmpty(checkDTO.getUserId())) {c1.andUserIdEqualTo(checkDTO.getUserId());}if(checkDTO.getState() != null && checkDTO.getState() != 0) {c1.andStateEqualTo(checkDTO.getState());}}checkExample.setOrderByClause("start_date desc, id desc");PageHelper.startPage(pageDTO.getPage(), pageDTO.getSize());// 分页查出入住数据List<Check> checkList = checkMapper.selectByExample(checkExample);PageInfo<Check> pageInfo = new PageInfo<>(checkList);// 获取数据的总数pageDTO.setTotal(pageInfo.getTotal());// 将domain类型数据  转成 DTO类型数据List<CheckDTO> checkDTOList = CopyUtil.copyList(checkList, CheckDTO.class);for(CheckDTO checkDTO : checkDTOList) {User user = userMapper.selectByPrimaryKey(checkDTO.getUserId());checkDTO.setUserDTO(CopyUtil.copy(Optional.ofNullable(user).orElse(new User()), UserDTO.class));PackageItemExample packageItemExample = new PackageItemExample();packageItemExample.createCriteria().andCheckIdEqualTo(checkDTO.getId());List<PackageItem> packageItemList = packageItemMapper.selectByExample(packageItemExample);checkDTO.setPackageItemDTOList(CopyUtil.copyList(packageItemList, PackageItemDTO.class));Building building = buildingMapper.selectByPrimaryKey(checkDTO.getBuildingId());checkDTO.setBuildingDTO(CopyUtil.copy(Optional.ofNullable(building).orElse(new Building()), BuildingDTO.class));// 更新入住数据的状态checkDTO.setState(updateCheckState(checkDTO));}pageDTO.setList(checkDTOList);return ResponseDTO.success(pageDTO);}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词