Commit 278ad19a by guojuxing

临时账号编辑修改

parent 4ea29d9e
...@@ -67,9 +67,6 @@ public class UserApiServiceImpl implements UserApiService { ...@@ -67,9 +67,6 @@ public class UserApiServiceImpl implements UserApiService {
if (!paramResult.isSuccess()) { if (!paramResult.isSuccess()) {
return paramResult; return paramResult;
} }
if (userService.isPhoneRepeat(null, userDTO.getPhoneNumber(), userDTO.getEnterpriseId(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "手机号码不能重复");
}
//如果是普通管理员,则需要验证角色权限和资源权限 //如果是普通管理员,则需要验证角色权限和资源权限
if (userDTO.getSuperAdmin().intValue() == 0) { if (userDTO.getSuperAdmin().intValue() == 0) {
...@@ -98,32 +95,9 @@ public class UserApiServiceImpl implements UserApiService { ...@@ -98,32 +95,9 @@ public class UserApiServiceImpl implements UserApiService {
userDTO.setPasswordType(2); userDTO.setPasswordType(2);
} }
if (StringUtils.isBlank(userDTO.getPhoneAreaCode())) { ServiceResponse validParamRes = validParamOfSaveOrUpdate(userDTO);
userDTO.setPhoneAreaCode(Constants.NATION_CODE); if (!validParamRes.isSuccess()) {
} return ServiceResponse.failure(validParamRes.getCode(), validParamRes.getMessage());
Integer accountType = userDTO.getAccountType();
boolean isNotRightAccountType = accountType != null && accountType != 1 && accountType != 2;
if (isNotRightAccountType) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "管理员账号类型值非法");
}
boolean isTempAccount = accountType != null && accountType == 2;
if (isTempAccount && StringUtils.isBlank(userDTO.getAccountDueDateStr())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "临时账号必须填写账号到期时间");
}
if (isTempAccount) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
userDTO.setAccountDueDate(sdf.parse(userDTO.getAccountDueDateStr()));
} catch (ParseException e) {
userDTO.setAccountDueDate(new Date());
LOGGER.warn("新建临时账号到期时间解析:{}", e.getMessage(), e);
}
}
if (!AccountPositionEnum.isRightCode(userDTO.getUserPosition())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "职位值非法");
} }
Integer userId = userService.saveUser(userDTO); Integer userId = userService.saveUser(userDTO);
...@@ -207,9 +181,6 @@ public class UserApiServiceImpl implements UserApiService { ...@@ -207,9 +181,6 @@ public class UserApiServiceImpl implements UserApiService {
if (tabUser == null) { if (tabUser == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "用户ID输入有误"); return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "用户ID输入有误");
} }
if (userService.isPhoneRepeat(userDTO.getUserId(), userDTO.getPhoneNumber(), tabUser.getEnterpriseId(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "手机号码不能重复");
}
//gic管理员只有一个超管 //gic管理员只有一个超管
if (userDTO.getSuperAdmin() != null && userDTO.getSuperAdmin().intValue() == 1 if (userDTO.getSuperAdmin() != null && userDTO.getSuperAdmin().intValue() == 1
&& tabUser.getLoginType().intValue() == LoginUserTypeEnum.GIC_USER.getCode()) { && tabUser.getLoginType().intValue() == LoginUserTypeEnum.GIC_USER.getCode()) {
...@@ -220,9 +191,11 @@ public class UserApiServiceImpl implements UserApiService { ...@@ -220,9 +191,11 @@ public class UserApiServiceImpl implements UserApiService {
} }
} }
if (StringUtils.isBlank(userDTO.getPhoneAreaCode())) { ServiceResponse validParamRes = validParamOfSaveOrUpdate(userDTO);
userDTO.setPhoneAreaCode("86"); if (!validParamRes.isSuccess()) {
return ServiceResponse.failure(validParamRes.getCode(), validParamRes.getMessage());
} }
userService.editUser(userDTO); userService.editUser(userDTO);
userRoleService.deleteByUserId(userDTO.getUserId()); userRoleService.deleteByUserId(userDTO.getUserId());
...@@ -243,6 +216,43 @@ public class UserApiServiceImpl implements UserApiService { ...@@ -243,6 +216,43 @@ public class UserApiServiceImpl implements UserApiService {
} }
} }
private ServiceResponse validParamOfSaveOrUpdate(UserDTO userDTO) {
if (userService.isPhoneRepeat(userDTO.getUserId(), userDTO.getPhoneNumber(), userDTO.getEnterpriseId(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "手机号码不能重复");
}
Integer accountType = userDTO.getAccountType();
boolean isNotRightAccountType = accountType != null && accountType != 1 && accountType != 2;
if (isNotRightAccountType) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "管理员账号类型值非法");
}
boolean isTempAccount = accountType != null && accountType == 2;
if (isTempAccount && StringUtils.isBlank(userDTO.getAccountDueDateStr())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "临时账号必须填写账号到期时间");
}
if (isTempAccount) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
userDTO.setAccountDueDate(sdf.parse(userDTO.getAccountDueDateStr()));
} catch (ParseException e) {
userDTO.setAccountDueDate(new Date());
LOGGER.warn("新建临时账号到期时间解析:{}", e.getMessage(), e);
}
}
if (!AccountPositionEnum.isRightCode(userDTO.getUserPosition())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "职位值非法");
}
if (StringUtils.isBlank(userDTO.getPhoneAreaCode())) {
userDTO.setPhoneAreaCode(Constants.NATION_CODE);
}
return ServiceResponse.success();
}
@Override @Override
public ServiceResponse<Void> editAdmin(UserDTO userDTO) { public ServiceResponse<Void> editAdmin(UserDTO userDTO) {
//超级官员 //超级官员
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment