Przeglądaj źródła

元宇宙昵称修改

lidongze 3 lat temu
rodzic
commit
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.Id;
+import javax.persistence.Transient;
 
 @Data
 @AllArgsConstructor
@@ -19,6 +20,7 @@ public class UserDetail extends BaseEntityNoID {
     private Long userId;
 
     @ApiModelProperty("昵称")
+    @Transient
     private String nickname;
 
     @ApiModelProperty("头像")

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

@@ -144,6 +144,23 @@ public class UserService {
         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,
                        Boolean useCollectionPic, Boolean riskWarning, Integer level, Boolean isPublicShow) {
         User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
@@ -605,7 +622,7 @@ public class UserService {
             throw new BusinessException("用户不存在或未认证");
         }
         String realName = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(
-                        user.getId(), AuthStatus.SUCCESS)
+                user.getId(), AuthStatus.SUCCESS)
                 .map(IdentityAuth::getRealName).orElse("").replaceAll(".*(?=.)", "**");
         Map<String, Object> map = new HashMap<>();
         map.put("id", user.getId());
@@ -618,8 +635,8 @@ public class UserService {
 
     public Map<String, Object> searchByPhoneAdmin(String phoneStr) {
         List<String> phone = Arrays.stream(phoneStr.replaceAll("\n", " ")
-                        .replaceAll("\r\n", " ")
-                        .split(" "))
+                .replaceAll("\r\n", " ")
+                .split(" "))
                 .map(String::trim)
                 .filter(s -> !StringUtils.isEmpty(s))
                 .collect(Collectors.toList());

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

@@ -1,5 +1,6 @@
 package com.izouma.nineth.web;
 
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.domain.UserDetail;
 import com.izouma.nineth.dto.MetaRestResult;
 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.service.ContentAuditService;
 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 lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
@@ -25,17 +28,27 @@ public class UserDetailController extends BaseController {
     private UserDetailService userDetailService;
     private UserDetailRepo userDetailRepo;
     private ContentAuditService contentAuditService;
+    private UserService userService;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     public UserDetail save(@RequestBody UserDetail record) {
-
+        if (Objects.isNull(record)) {
+            throw new BusinessException("参数为空");
+        }
         if (StringUtils.isNotBlank(record.getAutograph())) {
             if (!contentAuditService.auditText(record.getAutograph())) {
                 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")
@@ -79,50 +92,49 @@ public class UserDetailController extends BaseController {
         if (Objects.isNull(userDetail)) {
             return false;
         }
-        if(StringUtils.isNotBlank(userDetail.getAutograph())) {
+        if (StringUtils.isNotBlank(userDetail.getAutograph())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getBgpic())) {
+        if (StringUtils.isNotBlank(userDetail.getBgpic())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getBirthday())) {
+        if (StringUtils.isNotBlank(userDetail.getBirthday())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getBlood())) {
+        if (StringUtils.isNotBlank(userDetail.getBlood())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getCompany())) {
+        if (StringUtils.isNotBlank(userDetail.getCompany())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getConstellation())) {
+        if (StringUtils.isNotBlank(userDetail.getConstellation())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getHome())) {
+        if (StringUtils.isNotBlank(userDetail.getHome())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getMail())) {
+        if (StringUtils.isNotBlank(userDetail.getMail())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getNickname())) {
+        if (StringUtils.isNotBlank(userDetail.getNickname())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getOccupation())) {
+        if (StringUtils.isNotBlank(userDetail.getOccupation())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getPic())) {
+        if (StringUtils.isNotBlank(userDetail.getPic())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getSchool())) {
+        if (StringUtils.isNotBlank(userDetail.getSchool())) {
             return true;
         }
-        if(StringUtils.isNotBlank(userDetail.getSex())) {
+        if (StringUtils.isNotBlank(userDetail.getSex())) {
             return true;
         }
         return false;
     }
 
 
-
     @GetMapping("/{userId}/metaQuery")
     public MetaRestResult<UserDetail> metaQuery(@PathVariable Long userId) {
         return MetaRestResult.returnSuccess(get(userId));