forked from github/cool-admin-java
fix: 在requestParams上清除空字符串,修复phone唯一索引冲突
This commit is contained in:
@@ -43,14 +43,14 @@ public class AdminUserInfoController extends BaseController<UserInfoService, Use
|
||||
protected R update(@RequestBody UserInfoEntity t, @RequestAttribute JSONObject requestParams) {
|
||||
Long id = t.getId();
|
||||
if (id != null) {
|
||||
if (t.getPhone() != null && t.getPhone().isEmpty()) {
|
||||
t.setPhone(null);
|
||||
if (requestParams.getStr("phone", "").isEmpty()) {
|
||||
requestParams.set("phone", null);
|
||||
}
|
||||
if (t.getUsername() != null && t.getUsername().isEmpty()) {
|
||||
t.setUsername(null);
|
||||
if (requestParams.getStr("username", "").isEmpty()) {
|
||||
requestParams.set("username", null);
|
||||
}
|
||||
if (t.getEmail() != null && t.getEmail().isEmpty()) {
|
||||
t.setEmail(null);
|
||||
if (requestParams.getStr("email", "").isEmpty()) {
|
||||
requestParams.set("email", null);
|
||||
}
|
||||
UserInfoEntity before = userInfoService.getById(id);
|
||||
if (before != null) {
|
||||
@@ -58,16 +58,18 @@ public class AdminUserInfoController extends BaseController<UserInfoService, Use
|
||||
coolCache.del("app:userDetails:" + id);
|
||||
}
|
||||
if (ObjUtil.isNotEmpty(before.getUsername())) {
|
||||
t.setUsername(null);
|
||||
requestParams.set("username", null);
|
||||
}
|
||||
if (ObjUtil.isEmpty(before.getUsername())) {
|
||||
t.setEmail(null);
|
||||
requestParams.set("email", null);
|
||||
}
|
||||
if (ObjUtil.isNotEmpty(t.getEmail()) && !ObjUtil.equals(t.getEmail(), before.getEmail())) {
|
||||
userInfoService.checkEmailUnique(t.getEmail(), id);
|
||||
String newEmail = requestParams.getStr("email");
|
||||
if (newEmail != null && !newEmail.isEmpty() && !ObjUtil.equals(newEmail, before.getEmail())) {
|
||||
userInfoService.checkEmailUnique(newEmail, id);
|
||||
}
|
||||
if (ObjUtil.isNotEmpty(t.getUsername()) && !ObjUtil.equals(t.getUsername(), before.getUsername())) {
|
||||
userInfoService.checkUsernameUnique(t.getUsername(), id);
|
||||
String newUsername = requestParams.getStr("username");
|
||||
if (newUsername != null && !newUsername.isEmpty() && !ObjUtil.equals(newUsername, before.getUsername())) {
|
||||
userInfoService.checkUsernameUnique(newUsername, id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user