优化以下代码: if (adminCreateVO.getRoleId() == null){ if (StringUtils.isNotBlank(info)){ return String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_ADD, userName) + SalaryGlobalConstants.PERMISSION_MANAGE_PAYROLL_GROUPS_ADD + info; } return String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_ADD, userName); }else{ if (StringUtils.isNotBlank(info)){ return String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_UPDATE, userName) + SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_REVISE + info; } return String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_UPDATE, userName); }
时间: 2024-04-20 22:25:35 浏览: 83
可以使用三元运算符来简化代码。以下是优化后的代码:
String permission;
if (adminCreateVO.getRoleId() == null) {
permission = StringUtils.isNotBlank(info) ? String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_ADD, userName) + SalaryGlobalConstants.PERMISSION_MANAGE_PAYROLL_GROUPS_ADD + info : String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_ADD, userName);
} else {
permission = StringUtils.isNotBlank(info) ? String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_UPDATE, userName) + SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_REVISE + info : String.format(SalaryGlobalConstants.PERMISSION_SETTINGS_PERMISSION_UPDATE, userName);
}
return permission;
相关问题
@Override public boolean equals(Object that) { if (this == that) { return true; } if (that == null) { return false; } if (getClass() != that.getClass()) { return false; } ApartmentAdmin other = (ApartmentAdmin) that; return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) && (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName())) && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword())) && (this.getRoleId() == null ? other.getRoleId() == null : this.getRoleId().equals(other.getRoleId())) && (this.getHeadimg() == null ? other.getHeadimg() == null : this.getHeadimg().equals(other.getHeadimg())) && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone())) && (this.getSex() == null ? other.getSex() == null : this.getSex().equals(other.getSex())) && (this.getBuildingNo() == null ? other.getBuildingNo() == null : this.getBuildingNo().equals(other.getBuildingNo())) && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) && (this.getIsLock() == null ? other.getIsLock() == null : this.getIsLock().equals(other.getIsLock())); }请详细解释每一行代码
这是一个Java类中的重写 equals 方法,用于比较两个对象是否相等。具体解释如下:
1. 第一行 @Override 注解表示该方法是重写了父类的 equals 方法。
2. 第二行开始是方法的定义,public 表示该方法是公共的,可以被其他类访问和调用;boolean 表示该方法返回一个布尔类型的值,即判断两个对象是否相等,返回true表示相等,返回false表示不相等。
3. 参数 Object that 表示传入该方法的对象,Object 是 Java 中所有类的父类,因此该方法可以接收任何类型的对象作为参数。
4. 第四行 if (this == that) 判断传入的对象是否与当前对象相同,如果是,则直接返回 true,表示两个对象相等。
5. 第五行 if (that == null) 判断传入的对象是否为 null,如果是,则直接返回 false,表示两个对象不相等。
6. 第六行 if (getClass() != that.getClass()) 判断传入的对象是否属于当前对象所属的类,如果不是,则直接返回 false,表示两个对象不相等。
7. 第七行到第十四行是比较两个对象中的属性是否相等,如果相等,则返回 true,否则返回 false。其中使用了三元运算符,如果属性为 null,则需要使用 equals 方法进行判断,而不能直接使用 == 进行判断。
8. 最后,该方法判断的属性包括:id、用户名、密码、角色id、头像、电话、性别、楼号、创建时间、是否锁定。
翻译下面的代码 @Transactional(rollbackFor = Exception.class) @Override public MessageData updateUser(User user) throws Exception { if (user == null || user.getId() == null || user.getId() < 1) { throw new ServiceException(WholeConstants.CommonStatus.MISSING_PARAMETERS); } if (StringUtils.isBlank(user.getName()) || !user.getName().matches(PathConstant.STRING_TEN)) { throw new ServiceException(WholeConstants.CommonStatus.NAME_FORMAT_ERROR); } if (StringUtils.isBlank(user.getUsername()) || !user.getUsername().matches(PathConstant.STRING_TEN)) { throw new ServiceException(WholeConstants.CommonStatus.ACCOUNT_NAME_FORMAT_ERROR); } Integer[] params = {1,2};//userType if (user.getUserType() == null || !ObjectUtils.containsElement(params,user.getUserType())) { throw new ServiceException(WholeConstants.CommonStatus.ERROR_STATUS_PARAMS); } if (StringUtils.isAnyBlank(user.getPassword(),user.getCheckPass())) { if (StringUtils.isAllBlank(user.getPassword(),user.getCheckPass())) { user.setPassword(null);//两次密码都为空则不修改 }else { throw new ServiceException(WholeConstants.CommonStatus.PASSWORD_FORMAT_ERROR); } } if (!user.getPassword().matches(PathConstant.STRING_TWENTYS) || !user.getCheckPass().matches(PathConstant.STRING_TWENTYS)) { throw new ServiceException(WholeConstants.CommonStatus.PASSWORD_FORMAT_ERROR); }else if (!user.getPassword().equals(user.getCheckPass())){ throw new ServiceException(WholeConstants.CommonStatus.ACCOUNT_DIFF_PASSWORD); }else { user.setPassword(Md5Util.getStrMd5(user.getPassword())); } //判断用户名称是否重复 if(webUserMapper.selectByUserName(user.getUsername(),user.getId()) > 0) { throw new ServiceException(WholeConstants.CommonStatus.ACCOUNT_NAME_EXIST); } user.setUpdateTime(new Date()); user.setUpdateUserId(ShiroUtil.getUserId()); //web平台修改用户角色 if(user.getUserType().equals(PathConstant.USER_TYPE_WEB)) { if(user.getRoleId() == null) { throw new ServiceException(WholeConstants.CommonStatus.ACCOUNT_ROLE_NULL); } if (userRoleMapper.updateByUserId(user.getId(), user.getRoleId()) < 1) { throw new ServiceException(WholeConstants.CommonStatus.ERROR_UPDATE); } } else if(user.getUserType().equals(PathConstant.USER_TYPE_APP)){ userRoleMapper.deleteByUserId(user.getId()); } if (webUserMapper.updateUser(user) != 1) { throw new ServiceException(WholeConstants.CommonStatus.ERROR_UPDATE); } logService.recordLog(LogType.UPDATE_TYPE.getCode(), "修改用户信息"); return MessageData.buildSuccess(); }
这是一个 Java 方法,使用了 @Transactional 注解,意味着该方法在执行时会被包含在一个事务中。同时,如果该方法抛出 Exception 异常,则会回滚事务。
该方法的功能是更新用户信息。首先会对传入的 User 对象进行校验,包括判断是否为空、是否符合格式要求等。如果校验不通过,会抛出 ServiceException 异常,其中包含错误码。接着会判断用户角色类型,如果是 web 平台用户,则会对其角色进行修改,如果是 app 平台用户,则会删除其角色。最后,会更新用户信息并记录修改操作日志,并返回一个表示成功的 MessageData 对象。
阅读全文