lidongze 3 лет назад
Родитель
Сommit
8a16aa2eb8

+ 2 - 0
src/main/java/com/izouma/nineth/domain/UserDetail.java

@@ -7,6 +7,7 @@ import lombok.NoArgsConstructor;
 
 
 import javax.persistence.Entity;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Id;
+import javax.persistence.Transient;
 
 
 @Data
 @Data
 @AllArgsConstructor
 @AllArgsConstructor
@@ -19,6 +20,7 @@ public class UserDetail extends BaseEntityNoID {
     private Long userId;
     private Long userId;
 
 
     @ApiModelProperty("昵称")
     @ApiModelProperty("昵称")
+    @Transient
     private String nickname;
     private String nickname;
 
 
     @ApiModelProperty("头像")
     @ApiModelProperty("头像")

+ 20 - 3
src/main/java/com/izouma/nineth/service/UserService.java

@@ -144,6 +144,23 @@ public class UserService {
         return userRepo.save(user);
         return userRepo.save(user);
     }
     }
 
 
+    public User metaUpdate(Long userId, String nickname) {
+        if (StringUtils.isBlank(nickname)) {
+            throw new BusinessException("用户昵称为空");
+        }
+        User user = userRepo.findById(userId).orElse(null);
+        if (Objects.isNull(user)) {
+            throw new BusinessException("用户信息为空");
+        }
+        if (!nickname.equals(user.getNickname())) {
+            if (!contentAuditService.auditText(nickname)) {
+                throw new BusinessException("昵称包含非法内容");
+            }
+        }
+        user.setNickname(nickname);
+        return save(user);
+    }
+
     public User update(Long userId, String nickname, String avatar, String sex, String bg, String intro,
     public User update(Long userId, String nickname, String avatar, String sex, String bg, String intro,
                        Boolean useCollectionPic, Boolean riskWarning, Integer level, Boolean isPublicShow) {
                        Boolean useCollectionPic, Boolean riskWarning, Integer level, Boolean isPublicShow) {
         User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
         User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
@@ -605,7 +622,7 @@ public class UserService {
             throw new BusinessException("用户不存在或未认证");
             throw new BusinessException("用户不存在或未认证");
         }
         }
         String realName = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(
         String realName = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(
-                        user.getId(), AuthStatus.SUCCESS)
+                user.getId(), AuthStatus.SUCCESS)
                 .map(IdentityAuth::getRealName).orElse("").replaceAll(".*(?=.)", "**");
                 .map(IdentityAuth::getRealName).orElse("").replaceAll(".*(?=.)", "**");
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> map = new HashMap<>();
         map.put("id", user.getId());
         map.put("id", user.getId());
@@ -618,8 +635,8 @@ public class UserService {
 
 
     public Map<String, Object> searchByPhoneAdmin(String phoneStr) {
     public Map<String, Object> searchByPhoneAdmin(String phoneStr) {
         List<String> phone = Arrays.stream(phoneStr.replaceAll("\n", " ")
         List<String> phone = Arrays.stream(phoneStr.replaceAll("\n", " ")
-                        .replaceAll("\r\n", " ")
-                        .split(" "))
+                .replaceAll("\r\n", " ")
+                .split(" "))
                 .map(String::trim)
                 .map(String::trim)
                 .filter(s -> !StringUtils.isEmpty(s))
                 .filter(s -> !StringUtils.isEmpty(s))
                 .collect(Collectors.toList());
                 .collect(Collectors.toList());

+ 28 - 16
src/main/java/com/izouma/nineth/web/UserDetailController.java

@@ -1,5 +1,6 @@
 package com.izouma.nineth.web;
 package com.izouma.nineth.web;
 
 
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.domain.UserDetail;
 import com.izouma.nineth.domain.UserDetail;
 import com.izouma.nineth.dto.MetaRestResult;
 import com.izouma.nineth.dto.MetaRestResult;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.dto.PageQuery;
@@ -7,6 +8,8 @@ import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.UserDetailRepo;
 import com.izouma.nineth.repo.UserDetailRepo;
 import com.izouma.nineth.service.ContentAuditService;
 import com.izouma.nineth.service.ContentAuditService;
 import com.izouma.nineth.service.UserDetailService;
 import com.izouma.nineth.service.UserDetailService;
+import com.izouma.nineth.service.UserService;
+import com.izouma.nineth.utils.SecurityUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import com.izouma.nineth.utils.excel.ExcelUtils;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -25,17 +28,27 @@ public class UserDetailController extends BaseController {
     private UserDetailService userDetailService;
     private UserDetailService userDetailService;
     private UserDetailRepo userDetailRepo;
     private UserDetailRepo userDetailRepo;
     private ContentAuditService contentAuditService;
     private ContentAuditService contentAuditService;
+    private UserService userService;
 
 
     //@PreAuthorize("hasRole('ADMIN')")
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     @PostMapping("/save")
     public UserDetail save(@RequestBody UserDetail record) {
     public UserDetail save(@RequestBody UserDetail record) {
-
+        if (Objects.isNull(record)) {
+            throw new BusinessException("参数为空");
+        }
         if (StringUtils.isNotBlank(record.getAutograph())) {
         if (StringUtils.isNotBlank(record.getAutograph())) {
             if (!contentAuditService.auditText(record.getAutograph())) {
             if (!contentAuditService.auditText(record.getAutograph())) {
                 throw new BusinessException("简介包含非法内容");
                 throw new BusinessException("简介包含非法内容");
             }
             }
         }
         }
-        return userDetailRepo.save(record);
+        UserDetail newUserDetail = userDetailRepo.save(record);
+        if (StringUtils.isNotBlank(record.getNickname())) {
+            User user = userService.metaUpdate(SecurityUtils.getAuthenticatedUser().getId(), record.getNickname());
+            if (Objects.nonNull(user)) {
+                newUserDetail.setNickname(user.getNickname());
+            }
+        }
+        return newUserDetail;
     }
     }
 
 
     @PostMapping("/meta/save")
     @PostMapping("/meta/save")
@@ -79,50 +92,49 @@ public class UserDetailController extends BaseController {
         if (Objects.isNull(userDetail)) {
         if (Objects.isNull(userDetail)) {
             return false;
             return false;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getAutograph())) {
+        if (StringUtils.isNotBlank(userDetail.getAutograph())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getBgpic())) {
+        if (StringUtils.isNotBlank(userDetail.getBgpic())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getBirthday())) {
+        if (StringUtils.isNotBlank(userDetail.getBirthday())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getBlood())) {
+        if (StringUtils.isNotBlank(userDetail.getBlood())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getCompany())) {
+        if (StringUtils.isNotBlank(userDetail.getCompany())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getConstellation())) {
+        if (StringUtils.isNotBlank(userDetail.getConstellation())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getHome())) {
+        if (StringUtils.isNotBlank(userDetail.getHome())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getMail())) {
+        if (StringUtils.isNotBlank(userDetail.getMail())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getNickname())) {
+        if (StringUtils.isNotBlank(userDetail.getNickname())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getOccupation())) {
+        if (StringUtils.isNotBlank(userDetail.getOccupation())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getPic())) {
+        if (StringUtils.isNotBlank(userDetail.getPic())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getSchool())) {
+        if (StringUtils.isNotBlank(userDetail.getSchool())) {
             return true;
             return true;
         }
         }
-        if(StringUtils.isNotBlank(userDetail.getSex())) {
+        if (StringUtils.isNotBlank(userDetail.getSex())) {
             return true;
             return true;
         }
         }
         return false;
         return false;
     }
     }
 
 
 
 
-
     @GetMapping("/{userId}/metaQuery")
     @GetMapping("/{userId}/metaQuery")
     public MetaRestResult<UserDetail> metaQuery(@PathVariable Long userId) {
     public MetaRestResult<UserDetail> metaQuery(@PathVariable Long userId) {
         return MetaRestResult.returnSuccess(get(userId));
         return MetaRestResult.returnSuccess(get(userId));