源码获取:博客首页 "资源" 里下载!

一、项目简述

本系统主要实现的功能有:
社区疫情流动人员管理系统,住户管理,出入管理,访客管理,体温录入,高风险警示等等。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等

系统用户后台管理代码:

/*** 系统用户** @author Mark*/
@RestController
@RequestMapping("/sys/user")
public class SysUserController extends AbstractController {@Autowiredprivate SysUserService sysUserService;@Autowiredprivate SysUserRoleService sysUserRoleService;/*** 所有用户列表*/@GetMapping("/list")@RequiresPermissions("sys:user:list")public R list(@RequestParam Map<String, Object> params){//只有超级管理员,才能查看所有管理员列表if(getUserId() != Constant.SUPER_ADMIN){params.put("createUserId", getUserId());}PageUtils page = sysUserService.queryPage(params);return R.ok().put("page", page);}/*** 获取登录的用户信息*/@GetMapping("/info")public R info(){return R.ok().put("user", getUser());}/*** 修改登录用户密码*/@SysLog("修改密码")@PostMapping("/password")public R password(@RequestBody PasswordForm form){Assert.isBlank(form.getNewPassword(), "新密码不为能空");//sha256加密String password = new Sha256Hash(form.getPassword(), getUser().getSalt()).toHex();//sha256加密String newPassword = new Sha256Hash(form.getNewPassword(), getUser().getSalt()).toHex();//更新密码boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword);if(!flag){return R.error("原密码不正确");}return R.ok();}/*** 用户信息*/@GetMapping("/info/{userId}")@RequiresPermissions("sys:user:info")public R info(@PathVariable("userId") Long userId){SysUserEntity user = sysUserService.getById(userId);//获取用户所属的角色列表List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);user.setRoleIdList(roleIdList);return R.ok().put("user", user);}/*** 保存用户*/@SysLog("保存用户")@PostMapping("/save")@RequiresPermissions("sys:user:save")public R save(@RequestBody SysUserEntity user){ValidatorUtils.validateEntity(user, AddGroup.class);user.setCreateUserId(getUserId());sysUserService.saveUser(user);return R.ok();}/*** 修改用户*/@SysLog("修改用户")@PostMapping("/update")@RequiresPermissions("sys:user:update")public R update(@RequestBody SysUserEntity user){ValidatorUtils.validateEntity(user, UpdateGroup.class);user.setCreateUserId(getUserId());sysUserService.update(user);return R.ok();}/*** 删除用户*/@SysLog("删除用户")@PostMapping("/delete")@RequiresPermissions("sys:user:delete")public R delete(@RequestBody Long[] userIds){if(ArrayUtils.contains(userIds, 1L)){return R.error("系统管理员不能删除");}if(ArrayUtils.contains(userIds, getUserId())){return R.error("当前用户不能删除");}sysUserService.deleteBatch(userIds);return R.ok();}
}

主要负责用户的密码找回和注册功能:

/*** 主要负责用户的密码找回和注册功能*/
@Slf4j
@RestController
@RequestMapping("/User")
@Api(tags = "登录相关接口")
public class UserLoginController {@Autowiredprivate UserService userService;//发送验证码@PostMapping("/sendSms")public Result sendSms(@RequestParam String account,@RequestParam String userPhone) {return userService.sendSms(account, userPhone);}//验证验证码@PostMapping("/lookForPwdSubmit")public Result lookForPwd(RetrievePwdDto retrievePwdDto) {return userService.checkVesCode(retrievePwdDto);}//重置密码@PostMapping("/retrievePwdSubmit")public Result retrievePwdSubmit(RetrievePwdDto retrievePwdDto) {System.out.println(retrievePwdDto);return userService.updateUserPwd(retrievePwdDto.getAccount(), retrievePwdDto.getNewPwd());}//用户注册@PostMapping("/registerUser")public Result registerUser(UserDto userDto) {return userService.registerUser(userDto);}}

登录控制器:

/**** 登录控制器*/
@Slf4j
@Controller
@RequestMapping("/User")
@Api(value = "用户登录模块,进行个人信息管理",tags = "用户登录相关信息接口")
public class LoginController {@Autowiredprivate UserService userService;@Resourceprivate MyShiroRealm shiroRealm;@RequestMapping("/main")public String mainPage(HttpServletRequest request,Model model){String account = CookieUtil.getCookieValue(request, "account");UserDto user = userService.queryUserDtoByAccount(account);model.addAttribute("user",user);request.getSession().setAttribute("user",user);return "index";}@PostMapping("/doLogin")@ResponseBodypublic Result doLoginPage(@RequestParam String loginAccount, @RequestParam String password,@RequestParam(defaultValue = "false") Boolean remeber){Subject subject = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken();token.setUsername(loginAccount);token.setPassword(password.toCharArray());//开启RememberMetoken.setRememberMe(remeber);try {//进行登录的认证subject.login(token);//登录认证成功后,将shiro中保存的用户对象取出,放到session中String userAccount = (String)subject.getPrincipal();UserDto user = userService.queryUserDtoByAccount(userAccount);//将用户对象的ID放到session域中Session session = SecurityUtils.getSubject().getSession();session.setAttribute("userSession",user);return Result.ok("登录成功",user);}catch (UnknownAccountException e){return Result.fail("账号不存在!");}catch (IncorrectCredentialsException e){return Result.fail("密码错误!");} catch (ExcessiveAttemptsException e){return Result.fail("登录失败!");}}//修改密码@PostMapping("/pwdSubmit")@ResponseBodypublic Result pwdSubmit(HttpServletRequest request,@RequestParam String oldPwd,@RequestParam String newPwd){String account = CookieUtil.getCookieValue(request, "account");UserDto user = userService.queryUserDtoByAccount(account);String updateUserPwd = userService.updateUserPwd(user.getAccount(),oldPwd,newPwd);if ("true".equals(updateUserPwd)){//修改密码后需要将当前用户shiro缓存中的数据清空shiroRealm.clearCachedAuthenticationInfo(SecurityUtils.getSubject().getPrincipals());//清除授权信息shiroRealm.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());return Result.ok(user.getUserName()+"密码修改成功");}else {return Result.fail(updateUserPwd);}}@PostMapping("/infoSubmit")@ResponseBodypublic Result infoSubmit(UserDto userDto){Boolean info = userService.updateUserInfo(userDto);System.out.println(info);if (info){return Result.ok();}else {return Result.fail("保存个人信息失败!");}}//    用户注销@ApiOperation("用户注销方法")@GetMapping("/logout")public String logout(){Subject subject = SecurityUtils.getSubject();subject.logout();return  "redirect:login";}
}

源码获取:博客首页 "资源" 里下载!

Java项目:疫情人员流动管理系统(java+JSP+SSM+Springboot+maven+Mysql)相关推荐

  1. Java精品项目源码第98期疫情人员流动管理系统

    Java精品项目源码第98期疫情人员流动管理系统 大家好,小辰今天给大家介绍一个基于Spring + Springboot+ MyBatis实现的非常不错的疫情人员流动管理系统,演示视频文章末尾公众号 ...

  2. Java项目:快递取件管理系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 车险理赔管理系统源码,分为两个角色,一个管理员,一个普通用户 主要功能说明: 管理员角色包含以下功能:管理员登录,个人资料修改 ...

  3. Java项目:教务处学生成绩管理系统(java+JSP+bootstrap+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员.教师.学生三种角色: 用户角色包含以下功能: 修改密码,查看自己的信息,查看自己的成绩,登录界面等功能. 管 ...

  4. Java项目:台球室计费管理系统(java+SSM+JSP+HTML+JavaScript+mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 主要功能包括: 登录,管理员首页,点击球台开台,增加会员,查看-删除会员,充值会员,酒水外卖,营业额查看,打烊设置等功能. 环 ...

  5. Java项目:考试在线报名管理系统(java+SSM+HTML+JS+jsp+mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 考务管理员角色包含以下功能: 考务管理员登录,教务办公室管理,考场管理,考试管理,考场分配管理,报名管理等功能. 管理员角色包 ...

  6. Java项目:医院电子病历管理系统(java+Servlet+JSP+Easyui+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为管理员.医生两种角色. 管理员角色包含以下功能: 登录页面,个人信息,修改密码,医生管理(职位管理.科室管理.医生管 ...

  7. Java项目:在线车队货车管理系统(java+SSM+JSP+bootstrap+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员.老板.司机三种角色: 老板角色包含以下功能: 老板登录,角色管理,用户管理,货车信息管理,运单信息管理,请假 ...

  8. Java项目:企业绩效考核管理系统(java+SSM+JSP+bootstrap+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员与员工两种角色: 管理员角色包含以下功能: 个人信息查看,出勤管理,员工管理,奖励与罚款,工资设置,管理员登录 ...

  9. Java项目:红酒朔源管理系统(java+SSM+JSP+LayUI+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为普通用户.管理员.企业用户三种角色: 普通用户无需登录,可在前台直接进行溯源查询,管理员.企业用户可登录 ...

最新文章

  1. 下属能力很强,却犯了错误,该如何处理?处理不好会出问题
  2. Linux实现最常用的磁盘阵列--RAID5
  3. xp下administrator用户登录条不显示,怎么办?
  4. 文档扫描:深度神经网络在移动端的实践
  5. unity创建和销毁对象_如何创建和销毁对象
  6. asp.net 写入html代码,asp.net读取模版并写入文本文件
  7. 坑爹的Java除法取整(记洛谷P5709题WA的经历,Java语言描述)
  8. c#日期转换周几_C#中获取任意日期为星期几三种方法分享
  9. HTML img 标签的 border 属性
  10. ElasticSearch 集群监控
  11. C语言宏定义,内置宏的用法
  12. 估算软件规模之前如何明确划分系统边界?
  13. h.265/HEVC 和 h.264/AVC 比较,在技术上的改进和优势
  14. tplink查看上网记录_Tplink路由器PPPOE拨号不能上网日志查看原因
  15. 【JMeter】后置处理器之JSON提取器
  16. rabbitmq报错An unexpected connection driver error occured
  17. java 菜刀_jsp一句话木马菜刀
  18. 用Arduino做一个“空心时钟”(只有表针,没有表盘)
  19. maven添加sqljdbc4.jar,并引用
  20. 2013年9月11日入驻CSDN

热门文章

  1. 舒工给您娓娓道来:2019-nCoV,教室布局筛查追溯系统算法解密!
  2. 2021-08-05 Ubuntu18.04安装ROS出现的一些问题
  3. Photoshop创造氛围照片合成视频教程含素材
  4. Unreal Engine4 可视化虚拟现实全流程学习教程
  5. Oracle 存储过程 无法编译 解决方法(转载)
  6. thymeleaf : input/select/radio回显
  7. 深入了解line-height
  8. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)
  9. scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离
  10. Spring AOP与IOC