欢迎关注方志朋的博客,回复”666“获面试宝典

☣项目介绍:通过对依社区为单位进行人群的管理,以及疫苗的情况,包括小区状况,通过RBAC进行角色与用户之间的权限管理。

☣项目:环境-IDEA、Mysql数据库,Tomcat服务器,SpringMVC,SpringBoot,AOP,拦截器,过滤器,全局异常,RBAC权限控制等。

1、登录模块(注册)



核心代码:service层

@Service
public class UserService extends BaseService<User,Integer> {@Resource//引入dao层private UserMapper userMapper;@Resourceprivate UserRoleMapper userRoleMapper;@Resourceprivate CommunityMapper communityMapper;//用户登录public UserModel userLogin(String userName,String userPwd){//对输入的账号密码进行判断,是否符合格式checkUserLoginParam(userName,userPwd);//通过对数据库的查询,查看用户是否存在User temp =  userMapper.queryUserByUserName(userName);AssertUtil.isTrue(temp == null,"用户不存在");//判断用户的密码是否正确,拿数据库查询到的用户密码和用户输入的用户密码进行equest比较checkUserPwd(userPwd,temp.getUserPwd());//返回目标对象  对密码进行加密return builderUserInfo(temp);}/*** //对输入的账号密码进行判断  是否符合格式* @param userName   账号* @param userPwd    密码*///对输入的账号密码进行判断,是否符合格式private void checkUserLoginParam(String userName, String userPwd) {//用户非空AssertUtil.isTrue(StringUtils.isBlank(userName),"用户名不能为空");//密码非空AssertUtil.isTrue(StringUtils.isBlank(userPwd),"密码不能为空");}/*** //判断密码是否正确* @param userPwd   用户输入的密码* @param userPwd1  数据库查出来的密码*///判断用户的密码是否正确,拿数据库查询到的用户密码和用户输入的用户密码进行equest比较private void checkUserPwd(String userPwd, String userPwd1) {//对用户输入的密码进行加密userPwd = Md5Util.encode(userPwd);AssertUtil.isTrue(!(userPwd.equals(userPwd1)),"密码不正确");}/**** @param temp 当前登录对象* @return*///对密码进行加密  返回目标对象private UserModel builderUserInfo(User temp) {UserModel userModel = new UserModel();//为用户密码进行加密userModel.setUserIdStr(UserIDBase64.encoderUserID(temp.getId()));userModel.setUserName(temp.getUserName());userModel.setTrueName(temp.getTrueName());return userModel;}/**** @param userId                 当前Cookie存储的用户dId* @param oldPassword           旧密码* @param newPassword           新密码* @param confirmPassword            确认密码*///修改密码@Transactional(propagation = Propagation.REQUIRED)public void updateUserPassword(Integer userId, String oldPassword, String newPassword, String confirmPassword) {//通过Id获取user对象User user = userMapper.selectByPrimaryKey(userId);//参数校验 (用户,旧密码,新密码,确认密码)checkPasswordParams(user,oldPassword,newPassword,confirmPassword);//默认参数设置,把用户输入的新密码  加密 添加进去user.setUserPwd(Md5Util.encode(newPassword));//执行更新操作AssertUtil.isTrue(userMapper.updateByPrimaryKeySelective(user)<1,"修改密码失败");}//修改密码的参数校验private void checkPasswordParams(User user, String oldPassword, String newPassword, String confirmPwd) {//用户不能为空  (不存在)AssertUtil.isTrue(null == user,"用户不存在");//原始密码  非空System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");AssertUtil.isTrue(StringUtils.isBlank(oldPassword),"原始密码不能为空");//原始密码是否和数据库查询到的密码一致AssertUtil.isTrue(!(Md5Util.encode(oldPassword).equals(user.getUserPwd())),"原始密码不正确");//新密码不能为空AssertUtil.isTrue(StringUtils.isBlank(newPassword),"新密码不能为空");//新密码和原始密码不能相同AssertUtil.isTrue(oldPassword.equals(newPassword),"新密码不能和原始密码相同");//确认密码非空AssertUtil.isTrue(StringUtils.isBlank(confirmPwd),"确认密码不能为空");//确认密码需要和新密码一致AssertUtil.isTrue(!(newPassword.equals(confirmPwd)),"新密码和确认密码不一致");}/*** 多条件分页查询用户数据* @param query* @return*/public Map<String, Object> queryUserByParams (UserQuery query) {Map<String, Object> map = new HashMap<>();PageHelper.startPage(query.getPage(), query.getLimit());PageInfo<User> pageInfo = new PageInfo<>(userMapper.selectByParams(query));map.put("code",0);map.put("msg", "");map.put("count", pageInfo.getTotal());map.put("data", pageInfo.getList());System.out.println("执行完毕");return map;}/*** 添加用户* @param user*/@Transactional(propagation = Propagation.REQUIRED)public void saveUser(User user){//参数校验checkParams(user.getUserName(),user.getComId(),user.getVc());//设置默认参数user.setCreateDate(new Date());user.setUpdateDate(new Date());user.setUserPwd(Md5Util.encode("123456"));//执行添加,判断结果AssertUtil.isTrue(userMapper.insertSelective(user)==null,"用户添加失败!");relaionUserRole(user.getId(),user.getRoleIds());AssertUtil.isTrue(communityMapper.addNumByComId(user.getComId())<1, "社区用户添加失败");}/*** 用户更新,修改* @param user*/@Transactional(propagation = Propagation.REQUIRED)public void updateUser(User user){//1.参数校验//通过用户id获取用户对象User temp=userMapper.selectByPrimaryKey(user.getId());//判断对象是否存在AssertUtil.isTrue(temp==null,"待更新记录不存在");//验证参数checkParams1(user.getUserName(),user.getComId(),user.getVc());//2.设置默认参数user.setUpdateDate(new Date());//3.执行更新,返回结果AssertUtil.isTrue(userMapper.updateByPrimaryKeySelective(user)<1,"用户更新失败!");relaionUserRole(user.getId(),user.getRoleIds());}private void checkParams(String userName, Integer comId, Integer vc) {AssertUtil.isTrue(StringUtils.isBlank(userName),"用户名不能为空");//验证用户是否存在User temp=userMapper.queryUserByUserName(userName);AssertUtil.isTrue(temp!=null,"用户名已存在");AssertUtil.isTrue(comId==null,"请输入所在社区");AssertUtil.isTrue(vc==null,"请选择疫苗接种状况");}private void checkParams1(String userName, Integer comId, Integer vc) {AssertUtil.isTrue(StringUtils.isBlank(userName),"用户名不能为空");//验证用户是否存在AssertUtil.isTrue(comId==null,"请输入所在社区");AssertUtil.isTrue(vc==null,"请选择疫苗接种状况");}@Transactional(propagation = Propagation.REQUIRED)public void deleteUser(Integer[] ids){AssertUtil.isTrue(ids==null||ids.length==0,"请选择您要删除的记录");for (int id:ids){User user=userMapper.selectByPrimaryKey(id);AssertUtil.isTrue(communityMapper.subNumByComId(user.getComId())!=ids.length, "社区用户删除失败");}AssertUtil.isTrue(deleteBatch(ids) != ids.length,"用户角色删除失败");}/*SZC*//*** 用户注册* @param userName* @param password1* @param password2* @param icon*/public void registerUser(String userName, String password1, String password2, String icon) {// 参数校验checkRegister(userName, password1, password2, icon);// 实例化userUser user = new User();//设置默认参数user.setUserName(userName);user.setUserPwd(Md5Util.encode(password1));user.setUserPhone(icon);user.setCreateDate(new Date());user.setUpdateDate(new Date());// 执行方法AssertUtil.isTrue(userMapper.insertSelective(user)<1, "用户添加失败");}/*** 用户注册的参数校验* @param userName* @param password1* @param password2* @param icon*/private void checkRegister(String userName, String password1, String password2, String icon) {// 用户名不为空AssertUtil.isTrue(StringUtils.isBlank(userName), "请输入用户名");// 判断用户名是否存在User user1 = userMapper.selectByName(userName);AssertUtil.isTrue(user1!=null, "该用户已存在");// 判断手机号是否存在User user2 = userMapper.selectByPhone(icon);AssertUtil.isTrue(user2!=null, "该手机号已注册过账号");// 密码不为空AssertUtil.isTrue(StringUtils.isBlank(password1), "请输入密码");// 确认密码不为空AssertUtil.isTrue(StringUtils.isBlank(password2), "请输入确认密码");// 密码长度校验AssertUtil.isTrue(password1.length()<6 || password1.length()>12, "密码长度为6-12位");// 密码和确认密码相等AssertUtil.isTrue(!password1.equals(password2), "确认密码与密码不一致");// 手机号合法AssertUtil.isTrue(!PhoneUtil.isMobile(icon), "请输入正确的手机号");}/*** 删除用户原先的角色,并重新赋予新的角色* @param userId* @param roleIds*/private void relaionUserRole(int userId, String roleIds) {// 通过id获取用户的角色数量int count = userRoleMapper.countUserRoleByUserId(userId);// count>0  说明用户原先有角色  先删除所有的角色if (count>0) {AssertUtil.isTrue(userRoleMapper.deleteUserRoleByUserId(userId)!=count, "用户角色删除失败");}// 传入的角色信息不为空 添加新的角色if (StringUtils.isNoneBlank(roleIds)) {// 将传入的roleIds转成字符串数组String[] roleStrIds = roleIds.split(",");// 用来存放用户的角色信息List<UserRole> roleList = new ArrayList<>();// 遍历roleIdsfor (String rid : roleStrIds) {// 准备对象UserRole userRole = new UserRole();userRole.setUserId(userId);userRole.setRoleId(Integer.parseInt(rid));userRole.setCreateDate(new Date());userRole.setUpdateDate(new Date());roleList.add(userRole);}AssertUtil.isTrue(userRoleMapper.insertBatch(roleList) != roleList.size(), "用户角色分配失败");}}}


2、今日疫情模块



核心代码Service

@Service
public class ConfirmedService extends BaseService<Confirmed,Integer> {@Resource//引入ConfirmedMapperprivate ConfirmedMapper confirmedMapper;@Resource//引入user表private UserMapper userMapper;@Resource//引入user表private CommunityMapper  communityMapper;//角色的条件查询以及 分页public Map<String,Object> findRoleByParam(ConfirmedQuery confirmedQuery){//实例化对象Map<String,Object> map = new HashMap<>();//实例化分页单位PageHelper.startPage(confirmedQuery.getPage(), confirmedQuery.getLimit());//开始分页PageInfo<Confirmed> rlist = new PageInfo<>(selectByParams(confirmedQuery));map.put("code",0);map.put("msg","success");map.put("count",rlist.getTotal());map.put("data",rlist.getList());//返回Mapreturn map;}@Transactional(propagation = Propagation.REQUIRED)           //涉及到事务   就需要此注解//用户模块的添加public void addUser(Confirmed user) {//1、参数校验checkConfirmed(user.getTrueName(),user.getState());if (user.getComId().equals("浦东区")){user.setComId(1);}if (user.getComId().equals("黄浦区")){user.setComId(2);}if (user.getComId().equals("松江区")){user.setComId(3);}if (user.getComId().equals("徐汇区")){user.setComId(4);}if (user.getComId().equals("虹口区")){user.setComId(5);}//查询user表中是否存在此人  不存在   添加上去  设置默认值User temp =  userMapper.selectByPhone(user.getTcPhone());//   手机号查询用户if (temp != null){//健康状态改成2    如果user表里面已经有了的情况下userMapper.updateUserHealthById(temp.getUserPhone());//默认值  确诊表中的userId字段user.setUserId(temp.getId());}else {          //表里没有这个人的时候  添加 这个用户  新建一个user对象User u = new User();//真实姓名u.setTrueName(user.getTrueName());//名字u.setUserName(user.getTrueName());//设置密码  默认值  :123456u.setUserPwd(Md5Util.encode("123456"));//设置社区IDu.setComId(user.getComId());//手机号  唯一u.setUserPhone(user.getTcPhone());u.setEcPhone(user.getTcPhone());u.setHealth("2");//创建时间u.setCreateDate(new Date());//修改时间u.setUpdateDate(new Date());//添加用户是否成功AssertUtil.isTrue(userMapper.insertSelective(u)<1,"插入用户失败");//给确诊人员添加其  userIdInteger userId =  userMapper.selectById(user.getTcPhone());user.setUserId(userId);}//2、默认值设置//确诊日期user.setCreateDate(new Date());//添加是否成功AssertUtil.isTrue(insertSelective(user)<1,"添加失败");//relaionUserRole(user.getId(),user.getComId());}@Transactional(propagation = Propagation.REQUIRED)           //涉及到事务   就需要此注解//用户模块的修改public void changeUser(Confirmed user) {//通过id获取用户信息Confirmed temp = confirmedMapper.selectByPrimaryKey(user.getId());//判断用户信息是否存在AssertUtil.isTrue(temp == null,"当前用户不存在");//校验参数changeConfirmed(user.getTrueName(),user.getTcPhone(),user.getState());//修改是否成功  完整版//AssertUtil.isTrue(updateByPrimaryKeySelective(user)<1,"修改失败了");//修改是否成功  完整版AssertUtil.isTrue(confirmedMapper.uBPKS(user)<1,"修改失败了");}//修改的参数校验private void changeConfirmed(String trueName, String tcPhone, Integer state) {//1、用户名不能为空AssertUtil.isTrue(StringUtils.isBlank(trueName),"姓名不能为空");//2、当前状态不能为空AssertUtil.isTrue(StringUtils.isBlank(tcPhone),"请输入手机号");//3、当前状态不能为空AssertUtil.isTrue(state<1 || state>4,"请选择正确的状态码");}//用户模块的添加的参数校验private void checkConfirmed(String trueName, Integer state) {//1、用户名不能为空AssertUtil.isTrue(StringUtils.isBlank(trueName),"姓名不能为空");//2、当前状态不能为空AssertUtil.isTrue(state<1 || state>3,"请选择正确的状态码");}//添加社区时的校验private void relaionUserRole(Integer id, Integer comId) {//准备集合  存储对象List<Community> urlist = new ArrayList<>();//userId,roleId//判断是否选择了角色信息//只能选择一个社区AssertUtil.isTrue(comId>1 || comId<1,"只能选择一个社区");//通过社区表的 com_id    查询到社区表的对应社区名communityMapper.selectaddresComId(comId);//添加}@Transactional(propagation = Propagation.REQUIRED)           //涉及到事务   就需要此注解//确诊人员的批量删除public void deleteUserByIds(Integer[] ids) {//要删除记录不能为空AssertUtil.isTrue(ids == null || ids.length==0,"请选择要删除的记录");//修改user表的状态码for(Integer id: ids){Confirmed confirmed = confirmedMapper.selectId(id);System.out.println(id+ " -----------------" );System.out.println(confirmed.getTrueName());AssertUtil.isTrue(userMapper.updateById(confirmed.getUserId())<1,"修改失败");}//删除确诊表的个人信息记录AssertUtil.isTrue(deleteBatch(ids)!=ids.length,"删除失败");}//查询所有社区public List<Map<String, Object>> queryComs() {return confirmedMapper.selectComs();}}

3、防疫管理模块



核心代码Service:

@Service
public class CommunityService extends BaseService<Community,Integer> {@Resourceprivate CommunityMapper communityMapper;/*** 多条件分页查询* @param query* @return*/public Map<String,Object> queryComByParams(CommunityQuery query){Map<String,Object> map=new HashMap<>();//初始化分页PageHelper.startPage(query.getPage(), query.getLimit());//开始分页PageInfo<Community> pageInfo=new PageInfo<>(communityMapper.selectByParams(query));//准备数据map.put("code",0);map.put("msg","");map.put("count",pageInfo.getTotal());map.put("data",pageInfo.getList());return map;}//查询所有角色信息public List<Map<String, Object>> findRoles(Integer userId) {return communityMapper.selectRoles(userId);}}//============================================================
@Service
public class VaccinationService {@ResourceVaccinationMapper vaccinationMapper;/*多条件查询*/public Map<String,Object> selectAll(VaccinationQuery vaccinationQuery) {//创建mapMap<String,Object> map =new HashMap<String,Object>();//查数据并分页PageHelper.startPage(vaccinationQuery.getPage(),vaccinationQuery.getLimit());PageInfo<Vaccination> pageInfo=new PageInfo<>(vaccinationMapper.selectByParams(vaccinationQuery));map.put("code",0);map.put("msg","success");map.put("data",pageInfo.getList());map.put("count",pageInfo.getTotal());return map;}/*通过ID获取对象*/public Vaccination selectId(Integer id) {return vaccinationMapper.selectById(id);}/*添加*/@Transactional(propagation = Propagation.REQUIRED)public void insertVaccination(Vaccination vaccination) {//审核checkOK(vaccination);vaccination.setFirstDate(new Date());vaccination.setSecondDate(new Date());//插入AssertUtil.isTrue(vaccinationMapper.insertSelective(vaccination)<1,"插入失败");}private void checkOK(Vaccination vaccinatio){AssertUtil.isTrue(vaccinatio==null,"请输入添加的角色");AssertUtil.isTrue(StringUtils.isBlank(vaccinatio.getTrueName()),"用户名不能为空");AssertUtil.isTrue(StringUtils.isBlank(vaccinatio.getFirst()),"请填写(是/否)");AssertUtil.isTrue(StringUtils.isBlank(vaccinatio.getSecond()),"请填写(是/否)");}/*删除*/public void delete(Integer[] ids) {AssertUtil.isTrue(ids==null||ids.length==0,"请选择要删除的用户");AssertUtil.isTrue(vaccinationMapper.deleteVa(ids)!=ids.length,"删除失败~~~");}/*编辑*/public void updateVa(Vaccination vaccination) {checkOK(vaccination);if(vaccination.getFirst()==null||"否".equals(vaccination.getFirst())){vaccination.setFirstDate(null);}if(vaccination.getSecond()==null||"否".equals(vaccination.getSecond())){vaccination.setSecondDate(null);}if("是".equals(vaccination.getFirst())){vaccination.setFirstDate(new Date());}if("是".equals(vaccination.getSecond())){vaccination.setSecondDate(new Date());}AssertUtil.isTrue(vaccinationMapper.updateByPrimaryKeySelective(vaccination)<1,"修改失败~");}
}

4、系统管理模块



核心代码:Service:

@Service
public class RoleService extends BaseService<Role,Integer> {@Autowired(required = false)RoleMapper roleMapper;@Autowired(required = false)RoleQuery roleQuery;@Resourceprivate ModuleMapper moduleMapper;@Resourceprivate PermissionMapper permissionMapper;/*多条件查询*/public Map<String,Object> selectRole(RoleQuery roleQuery){//创建mapMap<String,Object> map =new HashMap<String,Object>();//查数据并分页PageHelper.startPage(roleQuery.getPage(),roleQuery.getLimit());PageInfo<Role> pageInfo=new PageInfo<>(roleMapper.selectByParams(roleQuery));map.put("code",0);map.put("msg","success");map.put("data",pageInfo.getList());map.put("count",pageInfo.getTotal());return map;}/*添加角色*/@Transactional(propagation = Propagation.REQUIRED)public void insertRole(Role role) {//审核checkRole(role);//添加role.setCreateDate(new Date());role.setUpdateDate(new Date());System.out.println("就差一点!!!!");AssertUtil.isTrue(insertSelective(role)<1,"添加失败了呢~");}private void checkRole(Role role) {//是否为空AssertUtil.isTrue(role==null,"请输入角色信息~");//判断是否已经重复System.out.println("判断");Role role1= roleMapper.selectByName(role.getRoleName());System.out.println("判断结束");System.out.println(role1!=null);AssertUtil.isTrue(role1!=null,"已添加过啦~");System.out.println("退出@");}/*编辑角色*/@Transactional(propagation = Propagation.REQUIRED)public void updateRole(Role role) {role.setUpdateDate(new Date());AssertUtil.isTrue(updateByPrimaryKeySelective(role)<1,"编辑失败啦~");}/*** 删除角色信息* @param role*/@Transactional(propagation = Propagation.REQUIRED)public void deleteRole(Role role) {// 验证AssertUtil.isTrue(role.getId()==null || selectByPrimaryKey(role.getId())==null, "待删除角色不存在");// 设定默认值role.setUpdateDate(new Date());// 删除角色绑定的权限资源int count = roleMapper.countPermissionByRoleId(role.getId());if (count>0) {int i = roleMapper.deletePermissionsByRoleId(role.getId());AssertUtil.isTrue(i!=count, "角色绑定的权限资源删除失败");}// 判断是否成功AssertUtil.isTrue(roleMapper.updateRoleById(role.getId())<1, "角色删除失败");}/*** 查询所有角色* @return*/public List<Map<String, Object>> seleceAllRole(Integer userId) {return roleMapper.seleceAllRole(userId);}/*** 给角色添加权限* @param mids* @param roleId*/@Transactional(propagation = Propagation.REQUIRED)public void addGrant(Integer[] mids, Integer roleId) {// 判断roleId是否存在AssertUtil.isTrue(roleId==null || roleMapper.selectByPrimaryKey(roleId)==null, "待授权的角色不存在");// 统计当前角色的权限资源数量int count = roleMapper.countPermissionByRoleId(roleId);if (count>0) {// 如果角色存在权限资源,就全部删除int num = roleMapper.deletePermissionsByRoleId(roleId);AssertUtil.isTrue(count!=num, "资源删除失败");}List<Permission> plist = new ArrayList<>();if (mids!=null && mids.length!=0) {// 遍历midsfor (Integer mid : mids) {// 实例化对象Permission permission = new Permission();// 设置数据permission.setRoleId(roleId);permission.setModuleId(mid);// 权限码permission.setAclValue(moduleMapper.selectByPrimaryKey(mid).getOptValue());permission.setCreateDate(new Date());permission.setUpdateDate(new Date());// 添加到listplist.add(permission);}}AssertUtil.isTrue(permissionMapper.insertBatch(plist)!=plist.size(), "角色权限更新失败");}
}

5、用户模块



核心代码Service:

@Service
public class RoleService extends BaseService<Role,Integer> {@Autowired(required = false)RoleMapper roleMapper;@Autowired(required = false)RoleQuery roleQuery;@Resourceprivate ModuleMapper moduleMapper;@Resourceprivate PermissionMapper permissionMapper;/*多条件查询*/public Map<String,Object> selectRole(RoleQuery roleQuery){//创建mapMap<String,Object> map =new HashMap<String,Object>();//查数据并分页PageHelper.startPage(roleQuery.getPage(),roleQuery.getLimit());PageInfo<Role> pageInfo=new PageInfo<>(roleMapper.selectByParams(roleQuery));map.put("code",0);map.put("msg","success");map.put("data",pageInfo.getList());map.put("count",pageInfo.getTotal());return map;}/*添加角色*/@Transactional(propagation = Propagation.REQUIRED)public void insertRole(Role role) {//审核checkRole(role);//添加role.setCreateDate(new Date());role.setUpdateDate(new Date());System.out.println("就差一点!!!!");AssertUtil.isTrue(insertSelective(role)<1,"添加失败了呢~");}private void checkRole(Role role) {//是否为空AssertUtil.isTrue(role==null,"请输入角色信息~");//判断是否已经重复System.out.println("判断");Role role1= roleMapper.selectByName(role.getRoleName());System.out.println("判断结束");System.out.println(role1!=null);AssertUtil.isTrue(role1!=null,"已添加过啦~");System.out.println("退出@");}/*编辑角色*/@Transactional(propagation = Propagation.REQUIRED)public void updateRole(Role role) {role.setUpdateDate(new Date());AssertUtil.isTrue(updateByPrimaryKeySelective(role)<1,"编辑失败啦~");}/*** 删除角色信息* @param role*/@Transactional(propagation = Propagation.REQUIRED)public void deleteRole(Role role) {// 验证AssertUtil.isTrue(role.getId()==null || selectByPrimaryKey(role.getId())==null, "待删除角色不存在");// 设定默认值role.setUpdateDate(new Date());// 删除角色绑定的权限资源int count = roleMapper.countPermissionByRoleId(role.getId());if (count>0) {int i = roleMapper.deletePermissionsByRoleId(role.getId());AssertUtil.isTrue(i!=count, "角色绑定的权限资源删除失败");}// 判断是否成功AssertUtil.isTrue(roleMapper.updateRoleById(role.getId())<1, "角色删除失败");}/*** 查询所有角色* @return*/public List<Map<String, Object>> seleceAllRole(Integer userId) {return roleMapper.seleceAllRole(userId);}/*** 给角色添加权限* @param mids* @param roleId*/@Transactional(propagation = Propagation.REQUIRED)public void addGrant(Integer[] mids, Integer roleId) {// 判断roleId是否存在AssertUtil.isTrue(roleId==null || roleMapper.selectByPrimaryKey(roleId)==null, "待授权的角色不存在");// 统计当前角色的权限资源数量int count = roleMapper.countPermissionByRoleId(roleId);if (count>0) {// 如果角色存在权限资源,就全部删除int num = roleMapper.deletePermissionsByRoleId(roleId);AssertUtil.isTrue(count!=num, "资源删除失败");}List<Permission> plist = new ArrayList<>();if (mids!=null && mids.length!=0) {// 遍历midsfor (Integer mid : mids) {// 实例化对象Permission permission = new Permission();// 设置数据permission.setRoleId(roleId);permission.setModuleId(mid);// 权限码permission.setAclValue(moduleMapper.selectByPrimaryKey(mid).getOptValue());permission.setCreateDate(new Date());permission.setUpdateDate(new Date());// 添加到listplist.add(permission);}}AssertUtil.isTrue(permissionMapper.insertBatch(plist)!=plist.size(), "角色权限更新失败");}
}

PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。

热门内容:
  • 不满月薪12000辞职,跳槽直接进大厂,据说背了很多面试八股文?!

  • 再见了月薪3w的大后端,低代码开发已成气候!

  • 今天面了个阿里出来的大佬,见识到了基础天花板!

  • 发现一款好用到爆的数据库工具,被惊艳到了!

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

基于Java的疫情防控管理系统相关推荐

  1. 基于JAVA社区疫情防控系统设计与实现 毕业设计开题报告

      本科生毕业论文 基于Java(springboot框架)社区疫情防控系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科生 ...

  2. 基于JAVA校园疫情防控系统(Springboot框架) 开题报告

      本科生毕业论文 基于Java(springboot框架)校园疫情防控系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科生 ...

  3. 基于SSM的疫情防控管理系统

    1.项目介绍 基于SSM的疫情防控管理系统拥有四种角色: 超级管理员:管理员信息管理 管理员:用户信息管理.消息管理.人员疫苗统计.评论信息管理 工作人员:出入登记.防疫信息管理.风险地区管理.公告管 ...

  4. 2023计算机毕业设计SSM最新选题之java乡村疫情防控管理系统37804

    2023计算机毕业设计SSM最新选题之java乡村疫情防控管理系统37804 这个选题的话其实有很多的,就看你自己能接受怎么样的,比如可以做网站类.系统类.小程序类.安卓app.大数据类等等,这个也要 ...

  5. 基于java社区疫情防控系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java社区疫情防控系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java社区疫情防控系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技术栈: ...

  6. 基于JAVA社区疫情防控管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA社区疫情防控管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA社区疫情防控管理信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技 ...

  7. 计算机毕业设计Java医院疫情防控管理系统(系统+源码+mysql数据库+Lw文档)

    计算机毕业设计Java医院疫情防控管理系统(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java医院疫情防控管理系统(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B ...

  8. 基于Springboot社区疫情防控管理系统 毕业设计-附源码164621

    Springboot 社区疫情防控管理系统 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为 ...

  9. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java社区疫情防控管理系统rgb2a

    最近大四学弟学妹们开始准备设计了,有一些问题问我,比如设计怎么做,有没有模板等等吧,大家都没有去学校,老师都是通过远程指导的,答辩也是远程答辩,这种情况下同学们不在一起,可能碰到问题解决起来也比较麻烦 ...

最新文章

  1. __declspec(dllexport)的作用
  2. HDU Problem - 5976 Detachment(逆元,阶乘打表,数学)
  3. 判断iframe是否加载完毕的方法(兼容ie和Firefox)
  4. 1 uC/OS工程目录
  5. 红米airdots掉了怎么查找_红米K30 Pro 荣耀V30pro 这两款手机该怎么选呢?
  6. checkbox 最多选两项
  7. 随机投点法计算定积分java_11 随机模拟积分 | 统计计算
  8. 正则表达式---采集总结
  9. request.setAttribute()与getParameter() 的区别
  10. 求样本方差,标准差,matlab
  11. Linux网络-MAC协议
  12. IDEA 配置文件位置
  13. WPF类型引用无法找到名为“xxx”的类型解决方法
  14. SpringBoot + uni-app开发企业级图书商城系统
  15. 算法:最小公倍数的求解方法
  16. Python把数据写进html的表格代码里,收件人显示表格
  17. 【码农学编曲】RealGuitar3常用技法
  18. 【软工Work1】四则加减乘除混合运算(带括号、真分数)
  19. PUCCH(3)matlab验证ZC序列的性质
  20. 未来10年,C++5个非常有前景的就业方向

热门文章

  1. 2014年秋广州华师在线计算机的作业答案,18秋华师《C语言程序设计B》在线作业-4辅导资料...
  2. [NOIP2015]子串
  3. Oracle中的substr()函数 详解及应用
  4. String,StringBuffer
  5. Unix Linux大学教程(三):过滤器、正则表达式、vi
  6. 关于安卓版的eclipse连接数据库并誓言增删改查
  7. jquery radio 取值
  8. Your First Concordion.Net Project (Part 5)-Running Specs with Gallio
  9. 技术图文:如何爬取一个地区的气象数据(下)?
  10. 【数据结构】邻接表的储存结构 建立图的邻接表算法