Java 实战项目之疫情人员流动管理系统详解

 更新时间:2021年11月04日 11:22:11   作者:OldWinePot  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Java实现一个疫情人员流动管理系统,大家可以在过程中查缺补漏,提升水平

一、项目简述

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

二、项目运行

环境配置:

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 {
	@Autowired
	private SysUserService sysUserService;
	@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);
	}
	
	/**
	 * 获取登录的用户信息
	 */
	@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();
	}
}

到此这篇关于Java 实战项目之疫情人员流动管理系统详解的文章就介绍到这了,更多相关Java 疫情人员流动管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot整合Redis最简单例子分享

    Springboot整合Redis最简单例子分享

    这篇文章主要介绍了Springboot整合Redis最简单例子分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • SpringBoot实现单元测试示例详解

    SpringBoot实现单元测试示例详解

    单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。这篇文章主要为大家介绍了C语言实现单元测试的方法,需要的可以参考一下
    2022-11-11
  • java中拼接字符串的5种方法效率对比

    java中拼接字符串的5种方法效率对比

    这篇文章主要给大家介绍了关于java中拼接字符串的5种方法效率对比的相关资料,文中通过示例代码和图片介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • JAVA重复调用接口导致数据不一致的问题解决

    JAVA重复调用接口导致数据不一致的问题解决

    在使用JAVA进行开发时,我们经常会遇到要调用接口来获取数据的情况,本文主要介绍了JAVA重复调用接口导致数据不一致的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Java String类常用方法梳理总结

    Java String类常用方法梳理总结

    这篇文章主要介绍了Java String类常用方法梳理总结,类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,更多相关内容需要的朋友可以参考一下
    2022-06-06
  • springboot实现jar运行复制resources文件到指定的目录(思路详解)

    springboot实现jar运行复制resources文件到指定的目录(思路详解)

    这篇文章主要介绍了springboot实现jar运行复制resources文件到指定的目录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • SpringBoot配置系统全局异常映射处理

    SpringBoot配置系统全局异常映射处理

    在项目开发中,肯定少不了异常的出现,作为后台开发人员,我们总是在不停的写各种接口提供给前端调用,然而不可避免的,当后台出现BUG时,前端总是丑陋的讲错误信息直接暴露给用户,这样的用户体验想必是相当差的,本文主要讲解异常映射的配置
    2021-06-06
  • Java设计模式之策略模式定义与用法详解

    Java设计模式之策略模式定义与用法详解

    这篇文章主要介绍了Java设计模式之策略模式定义与用法,结合具体实例形式详细分析了Java策略模式的概念、原理、定义及相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Java在Map转Json字符串时出现"\"转义字符的解决办法

    Java在Map转Json字符串时出现"\"转义字符的解决办法

    当一个Map被转成Json字符串后,被添加到另一个Map中,会出现被加上“\”转义字符的情况,这个时候该如何解决呢,下面就来和小编一起了解一下
    2023-07-07
  • 详谈jvm线程栈空间内存分配位置

    详谈jvm线程栈空间内存分配位置

    这篇文章主要介绍了jvm线程栈空间内存分配位置,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论