首页 > 基础资料 博客日记
基于Java+SpringBoot+Vue前后端分离社区智慧养老监护管理平台设计和实现
2023-09-15 17:52:56基础资料围观246次
博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
系统介绍:
如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于社区智慧养老监护信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的社区智慧养老监护管理平台可以从根源上规范整个数据处理流程的正规性和合法性。
社区智慧养老监护管理平台能够实现反馈信息管理,房间入住管理,老人信息管理,留言管理,物资申请管理,体检员管理,后勤人员管理,护工管理,房间管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
社区智慧养老监护管理平台可以提高社区智慧养老监护信息管理问题的解决效率,优化社区智慧养老监护信息处理流程,并且能够保证存储数据的安全,它是一个非常可靠,非常安全的应用程序。
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括对后勤人员,体检员,护工,老人,房间信息,房间入住信息,反馈信息以及留言等信息的管理。
图4.1 管理员功能结构
图4.2即为设计的后勤人员功能结构,后勤人员权限操作的功能包括查看房间,查看房间入住的老人,查看反馈信息,查看物资申请信息等。
图4.2 后勤人员功能结构
图4.3即为设计的护工功能结构,护工权限操作的功能包括查看老人信息,查看反馈信息,查看留言信息,查看公告等。
图4.3 护工功能结构
图4.4即为设计的体检员功能结构,体检员权限操作的功能包括查看物资申请信息,查看老人信息,查看房间入住信息等。
图4.4 体检员功能结构
图4.5即为设计的用户功能结构,用户权限操作的功能包括管理留言,管理反馈信息,管理物资申请信息,查看老人信息等。
图4.5 用户功能结构
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图
功能截图:
5.1 管理员功能实现
5.1.1 房间信息管理
图5.1 即为编码实现的房间信息管理界面,管理员在该界面中具备新增,删除,查询,编辑房间信息的权限。
图5.1 房间信息管理界面
5.1.2 房间入住管理
图5.2 即为编码实现的房间入住管理界面,管理员在该界面中为老人入住房间的信息进行新增,查询,编辑,删除等。
图5.2 房间入住管理界面
5.1.3 老人信息管理
图5.3 即为编码实现的老人信息管理界面,管理员在该界面中对老人的信息进行新增,包括老人身体状态,老人年纪等信息,可以修改老人信息,查询老人信息等。
图5.3 老人信息管理界面
5.2 后勤人员功能实现
5.2.1 反馈信息查看
图5.4 即为编码实现的反馈信息查看界面,后勤人员在该界面中查询用户的反馈信息,查看反馈信息等。
图5.4 反馈信息查看界面
5.2.2 物资申请查看
图5.5 即为编码实现的物资申请查看界面,后勤人员在该界面中对物资申请信息进行查询,查看。物资申请信息是用户提交的信息。
图5.5 物资申请查看界面
5.3 护工功能实现
5.3.1 房间入住查看
图5.6 即为编码实现的房间入住查看界面,护工在该界面中负责查询和查看入住房间的老人信息。
图5.6 房间入住查看界面
5.3.2 留言查看
图5.7 即为编码实现的留言查看界面,护工在该界面中查看用户的留言内容。查询用户的留言。
图5.7 留言查看界面
5.4 体检员功能实现
5.4.1 老人信息查看
图5.8 即为编码实现的老人信息查看界面,体检员在该界面中查询老人信息,对老人信息进行查看,包括老人身体状态,是否有疾病等。
图5.8 老人信息查看界面
5.4.2 公告查看
图5.9 即为编码实现的公告查看界面,体检员在该界面中查询公告,查看公告,公告是管理员发布的信息。
图5.9 公告查看界面
5.5 用户功能实现
5.5.1 留言管理
图5.10 即为编码实现的留言管理界面,用户在该界面中新增留言,对发布的留言信息的相关管理员回复信息进行查看。
图5.10 留言管理界面
5.5.2 物资申请管理
图5.11 即为编码实现的物资申请管理界面,用户在该界面中新增物资申请信息,对发布的物资申请信息进行查询,更改,删除等。
图5.11 物资申请管理界面
代码实现:
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
论文参考:
源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:判断List、Map集合是否为空的方法
下一篇:JAVA基础:线程池的使用