基于javaweb+springboot的疫情人员流动管理系统(java+JSP+SSM+Springboot+maven+Mysql)
一、项目简述
本系统主要实现的功能有:
社区疫情流动人员管理系统,住户管理,出入管理,访客管理,体温录入,高风险警示等等。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
@Api(tags = "登录相关接口")
public class UserLoginController {
@Autowired
private UserService userService;
//发送验证码
@PostMapping("/sendSms")
public Result sendSms(@RequestParam String account,
@RequestParam String userPhone) {
return userService.sendSms(account, userPhone);
}
//验证验证码
@PostMapping("/lookForPwdSubmit")
@ResponseBody
public 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());
//开启RememberMe
token.setRememberMe(remeber);
try {
//进行登录的认证
subject.login(token);
//登录认证成功后,将shiro中保存的用户对象取出,放到session中
String userAccount = (String)subject.getPrincipal();
UserDto user = userService.queryUserDtoByAccount(userAccount);
//将用户对象的ID放到session域中
}
登录控制器:
/**
*
* 登录控制器
*/
@Slf4j
@Controller
@RequestMapping("/User")
@Api(value = "用户登录模块,进行个人信息管理",tags = "用户登录相关信息接口")
public class LoginController {
@Autowired
private UserService userService;
@Resource
private 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";
}
if (info)
{
return Result.ok();
}else {
return Result.fail("保存个人信息失败!");
}
}
// 用户注销
@ApiOperation("用户注销方法")
@GetMapping("/logout")
public String logout()
{
Subject subject = SecurityUtils.getSubject();
subject.logout();
系统用户后台管理代码:
/**
* 系统用户
*
* @author Mark
subject.logout();
系统用户后台管理代码:
/**
* 系统用户
*
* @author Mark
*/
@RestController
@RequestMapping("/sys/user")
public class SysUserController extends AbstractController {
@Autowired
}
//用户注册
@PostMapping("/registerUser")
public Result registerUser(UserDto userDto) {
return userService.registerUser(userDto);
}
}
登录控制器:
/**
*
* 登录控制器
*/
@Slf4j
@Controller
@RequestMapping("/User")
@Api(value = "用户登录模块,进行个人信息管理",tags = "用户登录相关信息接口")
public class LoginController {
@Autowired
private UserService userService;
@Resource
private MyShiroRealm shiroRealm;
@RequestMapping("/main")
public String mainPage(HttpServletRequest request,Model model)
{
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")
@ResponseBody
public Result pwdSubmit(HttpServletRequest request,@RequestParam String oldPwd,
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);
@Resource
private 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")
@ResponseBody
public Result doLoginPage(@RequestParam String loginAccount, @RequestParam String password,
@RequestParam(defaultValue = "false") Boolean remeber)
{
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);
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")
@ResponseBody
public 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());
public class UserLoginController {
@Autowired
private 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);
public 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();
系统用户后台管理代码:
/**
* 系统用户
/**
* 修改用户
*/
@SysLog("修改用户")
@PostMapping("/update")
@RequiresPermissions("sys:user:update")
public R update(@RequestBody SysUserEntity user){
ValidatorUtils.validateEntity(user, UpdateGroup.class);
user.setCreateUserId(getUserId());
sysUserService.update(user);
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")
@ResponseBody
@Autowired
private 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);
}
/**
* 获取登录的用户信息
/**
* 删除用户
*/
@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("当前用户不能删除");
return R.error("当前用户不能删除");
}
sysUserService.deleteBatch(userIds);
return R.ok();
}
}
主要负责用户的密码找回和注册功能:
/**
* 主要负责用户的密码找回和注册功能
*/
@Slf4j
@RestController
@RequestMapping("/User")
@Api(tags = "登录相关接口")
public class UserLoginController {
@Autowired
private UserService userService;
//发送验证码
@PostMapping("/sendSms")
public Result sendSms(@RequestParam String account,
@RequestParam String userPhone) {
return userService.sendSms(account, userPhone);
//清除授权信息
shiroRealm.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
return Result.ok(user.getUserName()+"密码修改成功");
}else {
return Result.fail(updateUserPwd);
}
}
@PostMapping("/infoSubmit")
@ResponseBody
public Result infoSubmit(UserDto userDto)
{
Boolean info = userService.updateUserInfo(userDto);
System.out.println(info);
if (info)
return R.ok();
}
}
主要负责用户的密码找回和注册功能:
/**
* 主要负责用户的密码找回和注册功能
*/
@Slf4j
@RestController
@RequestMapping("/User")
@Api(tags = "登录相关接口")
public class UserLoginController {
@Autowired
private UserService userService;
//发送验证码
@PostMapping("/sendSms")
public Result sendSms(@RequestParam String account,
@RequestParam String userPhone) {
return userService.sendSms(account, userPhone);
}
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 {
@Autowired
return R.ok().put("page", page);
}
/**
* 获取登录的用户信息
*/
@GetMapping("/info")
public R info(){
return R.ok().put("user", getUser());
}
/**
* 修改登录用户密码
*/
@SysLog("修改密码")
@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
if(ArrayUtils.contains(userIds, getUserId())){
return R.error("当前用户不能删除");
}
sysUserService.deleteBatch(userIds);
return R.ok();
}
}
主要负责用户的密码找回和注册功能:
/**
* 主要负责用户的密码找回和注册功能
*/
}
主要负责用户的密码找回和注册功能:
/**
* 主要负责用户的密码找回和注册功能
*/
@Slf4j
@RestController
@RequestMapping("/User")
@Api(tags = "登录相关接口")
public class UserLoginController {
@Autowired
SysUserEntity user = sysUserService.getById(userId);
//获取用户所属的角色列表
List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);
user.setRoleIdList(roleIdList);
return R.ok().put("user", user);
}
/**
* 保存用户
*/
//进行登录的认证
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")
@ResponseBody
public Result pwdSubmit(HttpServletRequest request,@RequestParam String oldPwd,
@RequestParam String newPwd){