Commit 278ad19a by guojuxing

临时账号编辑修改

parent 4ea29d9e
......@@ -67,9 +67,6 @@ public class UserApiServiceImpl implements UserApiService {
if (!paramResult.isSuccess()) {
return paramResult;
}
if (userService.isPhoneRepeat(null, userDTO.getPhoneNumber(), userDTO.getEnterpriseId(), null)) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "手机号码不能重复");
}
//如果是普通管理员,则需要验证角色权限和资源权限
if (userDTO.getSuperAdmin().intValue() == 0) {
......@@ -98,32 +95,9 @@ public class UserApiServiceImpl implements UserApiService {
userDTO.setPasswordType(2);
}
if (StringUtils.isBlank(userDTO.getPhoneAreaCode())) {
userDTO.setPhoneAreaCode(Constants.NATION_CODE);
}
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(), "职位值非法");
ServiceResponse validParamRes = validParamOfSaveOrUpdate(userDTO);
if (!validParamRes.isSuccess()) {
return ServiceResponse.failure(validParamRes.getCode(), validParamRes.getMessage());
}
Integer userId = userService.saveUser(userDTO);
......@@ -207,9 +181,6 @@ public class UserApiServiceImpl implements UserApiService {
if (tabUser == null) {
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管理员只有一个超管
if (userDTO.getSuperAdmin() != null && userDTO.getSuperAdmin().intValue() == 1
&& tabUser.getLoginType().intValue() == LoginUserTypeEnum.GIC_USER.getCode()) {
......@@ -220,9 +191,11 @@ public class UserApiServiceImpl implements UserApiService {
}
}
if (StringUtils.isBlank(userDTO.getPhoneAreaCode())) {
userDTO.setPhoneAreaCode("86");
ServiceResponse validParamRes = validParamOfSaveOrUpdate(userDTO);
if (!validParamRes.isSuccess()) {
return ServiceResponse.failure(validParamRes.getCode(), validParamRes.getMessage());
}
userService.editUser(userDTO);
userRoleService.deleteByUserId(userDTO.getUserId());
......@@ -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
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