xiongzhu 4 лет назад
Родитель
Сommit
6126464832

+ 3 - 0
src/main/java/com/izouma/nineth/repo/IdentityAuthRepo.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.repo;
 
 import com.izouma.nineth.domain.IdentityAuth;
+import com.izouma.nineth.enums.AuthStatus;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
@@ -18,5 +19,7 @@ public interface IdentityAuthRepo extends JpaRepository<IdentityAuth, Long>, Jpa
 
     List<IdentityAuth> findByUserIdAndDelFalse(Long userId);
 
+    Optional<IdentityAuth> findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(Long userId, AuthStatus status);
+
     Optional<IdentityAuth> findByIdAndDelFalse(Long id);
 }

+ 17 - 11
src/main/java/com/izouma/nineth/service/UserService.java

@@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
 import com.izouma.nineth.config.Constants;
 import com.izouma.nineth.domain.Follow;
+import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.dto.UserDTO;
@@ -13,6 +14,7 @@ import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.FollowRepo;
+import com.izouma.nineth.repo.IdentityAuthRepo;
 import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.security.JwtTokenUtil;
@@ -47,15 +49,16 @@ import java.util.stream.Collectors;
 @Slf4j
 @AllArgsConstructor
 public class UserService {
-    private UserRepo       userRepo;
-    private WxMaService    wxMaService;
-    private WxMpService    wxMpService;
-    private SmsService     smsService;
-    private StorageService storageService;
-    private JwtTokenUtil   jwtTokenUtil;
-    private CaptchaService captchaService;
-    private FollowService  followService;
-    private FollowRepo     followRepo;
+    private UserRepo         userRepo;
+    private WxMaService      wxMaService;
+    private WxMpService      wxMpService;
+    private SmsService       smsService;
+    private StorageService   storageService;
+    private JwtTokenUtil     jwtTokenUtil;
+    private CaptchaService   captchaService;
+    private FollowService    followService;
+    private FollowRepo       followRepo;
+    private IdentityAuthRepo identityAuthRepo;
 
     @CacheEvict(value = "user", key = "#user.username")
     public User update(User user) {
@@ -366,11 +369,14 @@ public class UserService {
         if (AuthStatus.SUCCESS != user.getAuthStatus()) {
             throw new BusinessException("用户不存在或未认证");
         }
+        String realName = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(
+                        user.getId(), AuthStatus.SUCCESS)
+                .map(IdentityAuth::getRealName).orElse("").replaceAll(".*(?=.)", "**");
         Map<String, Object> map = new HashMap<>();
         map.put("id", user.getId());
         map.put("avatar", user.getAvatar());
-        map.put("phone", user.getPhone().replaceAll("(?<=.{3}).*(?=.{4})", "****"));
-        map.put("realName", Optional.ofNullable(user.getRealName()).orElse("").replaceAll(".*(?=.)", "**"));
+        map.put("phone", user.getPhone().replaceAll("(?<=.{3}).*(?=.{4})", "**"));
+        map.put("realName", realName);
         return map;
     }
 

+ 6 - 13
src/test/java/com/izouma/nineth/CommonTest.java

@@ -1,42 +1,31 @@
 package com.izouma.nineth;
 
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClient;
-import com.aliyun.oss.model.SetBucketCORSRequest;
 import com.github.kevinsawicki.http.HttpRequest;
 import com.izouma.nineth.config.Constants;
 import com.izouma.nineth.domain.BaseEntity;
 import com.izouma.nineth.domain.BlindBoxItem;
 import com.izouma.nineth.domain.User;
-import com.izouma.nineth.enums.AuthorityName;
-import com.izouma.nineth.security.Authority;
-import com.izouma.nineth.utils.UrlUtils;
 import com.izouma.nineth.web.BaseController;
 import io.ipfs.api.IPFS;
 import io.ipfs.api.MerkleNode;
 import io.ipfs.api.NamedStreamable;
-import io.ipfs.cid.Cid;
 import io.ipfs.multihash.Multihash;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
 import lombok.SneakyThrows;
 import net.coobird.thumbnailator.Thumbnails;
-import net.coobird.thumbnailator.name.Rename;
 import org.apache.commons.codec.EncoderException;
 import org.apache.commons.codec.net.URLCodec;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.Range;
 import org.apache.commons.text.CaseUtils;
-import org.apache.http.client.utils.URLEncodedUtils;
 import org.apache.poi.util.TempFile;
 import org.bouncycastle.util.encoders.Base64;
-import org.bouncycastle.util.encoders.UrlBase64Encoder;
 import org.bytedeco.javacv.FFmpegFrameGrabber;
 import org.bytedeco.javacv.Frame;
 import org.bytedeco.javacv.Java2DFrameConverter;
-import org.junit.Assert;
 import org.junit.Test;
 import org.libjpegturbo.turbojpeg.processor.api.ImageProcessException;
 import org.libjpegturbo.turbojpeg.processor.api.ImageProcessInfo;
@@ -61,12 +50,11 @@ import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.Method;
-import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.util.*;
 import java.util.List;
+import java.util.*;
 import java.util.regex.Pattern;
 
 import static java.nio.file.StandardOpenOption.CREATE;
@@ -371,4 +359,9 @@ public class CommonTest {
         System.out.println(claims.getSubject());
         System.out.println(claims.getExpiration());
     }
+
+    @Test
+    public void testReplace(){
+        System.out.println("15077886171".replaceAll("(?<=.{3}).*(?=.{4})", "**"));
+    }
 }

+ 5 - 0
src/test/java/com/izouma/nineth/service/UserServiceTest.java

@@ -20,4 +20,9 @@ public class UserServiceTest extends ApplicationTests {
         userRepo.findByUsernameAndDelFalse("admin");
         userRepo.findByUsernameAndDelFalse("admin");
     }
+
+    @Test
+    public void searchByPhone() {
+        System.out.println(userService.searchByPhone("15077886171"));
+    }
 }