Jelajahi Sumber

身份证查重列表

licailing 4 tahun lalu
induk
melakukan
537a3776fb

+ 0 - 23
src/main/java/com/izouma/nineth/dto/UserIdentity.java

@@ -1,23 +0,0 @@
-package com.izouma.nineth.dto;
-
-import com.izouma.nineth.enums.AuthStatus;
-import lombok.Builder;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-@Builder
-public class UserIdentity {
-    private Long id;
-
-    private String nickname;
-
-    private String phone;
-
-    private LocalDateTime createdAt;
-
-    private AuthStatus status;
-
-    private LocalDateTime identityCreatedAt;
-}

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

@@ -17,6 +17,11 @@ public interface IdentityAuthRepo extends JpaRepository<IdentityAuth, Long>, Jpa
     @Transactional
     void softDelete(Long id);
 
+    @Query("update IdentityAuth t set t.del = true where t.userId = ?1")
+    @Modifying
+    @Transactional
+    void softDeleteByUserId(Long userId);
+
     List<IdentityAuth> findByUserIdAndDelFalse(Long userId);
 
     Optional<IdentityAuth> findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(Long userId, AuthStatus status);

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

@@ -168,4 +168,7 @@ public interface UserRepo extends JpaRepository<User, Long>, JpaSpecificationExe
     public void increaseSales(Long id, int num);
 
     List<User> findByInviteCode(String inviteCode);
+
+    @Query("select phone from User where id = ?1 and del = false")
+    String findPhoneById(Long id);
 }

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

@@ -3,7 +3,6 @@ package com.izouma.nineth.service;
 import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
-import com.izouma.nineth.dto.UserIdentity;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.IdentityAuthRepo;
@@ -13,10 +12,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -64,25 +60,12 @@ public class IdentityAuthService {
         userRepo.save(user);
     }
 
-    public List<UserIdentity> repeat(String idNo, Long userId) {
+    public List<User> repeat(String idNo, Long userId) {
         List<IdentityAuth> auths = identityAuthRepo.findAllByIdNoAndUserIdIsNotAndDelFalse(idNo, userId);
         if (auths.isEmpty()) {
             return null;
         }
-        List<Long> userIds = auths.stream().map(IdentityAuth::getUserId).collect(Collectors.toList());
-        Map<Long, User> userMap = userRepo.findAllById(userIds)
-                .stream()
-                .collect(Collectors.toMap(User::getId, user -> user));
-        return auths.stream().map(auth -> {
-            User user = userMap.get(auth.getUserId());
-            return UserIdentity.builder()
-                    .id(auth.getUserId())
-                    .nickname(user.getNickname())
-                    .phone(user.getPhone())
-                    .createdAt(user.getCreatedAt())
-                    .status(auth.getStatus())
-                    .identityCreatedAt(auth.getCreatedAt())
-                    .build();
-        }).collect(Collectors.toList());
+        List<Long> userIds = auths.stream().map(IdentityAuth::getUserId).distinct().collect(Collectors.toList());
+        return userRepo.findByIdInAndDelFalse(userIds);
     }
 }

+ 8 - 0
src/main/java/com/izouma/nineth/service/OrderService.java

@@ -29,6 +29,7 @@ import com.izouma.nineth.event.TransferAssetEvent;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.*;
 import com.izouma.nineth.security.Authority;
+import com.izouma.nineth.service.sms.SmsService;
 import com.izouma.nineth.utils.JpaUtils;
 import com.izouma.nineth.utils.SnowflakeIdWorker;
 import lombok.AllArgsConstructor;
@@ -80,6 +81,7 @@ public class OrderService {
     private RocketMQTemplate              rocketMQTemplate;
     private RedisTemplate<String, Object> redisTemplate;
     private SnowflakeIdWorker             snowflakeIdWorker;
+    private SmsService                    smsService;
 
     public Page<Order> all(PageQuery pageQuery) {
         return orderRepo.findAll(JpaUtils.toSpecification(pageQuery, Order.class), JpaUtils.toPageRequest(pageQuery));
@@ -432,6 +434,12 @@ public class OrderService {
                     Asset asset = assetRepo.findById(collection.getAssetId()).orElse(null);
                     assetService.transfer(asset, order.getPrice(), user, "转让", order.getId());
                     collectionRepo.delete(collection);
+
+                    // 发送短信提醒用户转让成功
+//                    if (asset != null && asset.getUserId() != null) {
+//                        smsService.sellOut(userRepo.findPhoneById(asset.getUserId()));
+//                    }
+
                 } else {
                     orderRepo.save(order);
                     assetService.createAsset(collection, user, order.getId(), order.getPrice(), "出售",

+ 2 - 0
src/main/java/com/izouma/nineth/service/UserService.java

@@ -165,6 +165,8 @@ public class UserService {
             user.setPhone(user.getPhone() + "###" + RandomStringUtils.randomAlphabetic(8));
         }
         userRepo.save(user);
+        //删除实名认证
+        identityAuthRepo.softDeleteByUserId(id);
     }
 
     public User loginByPhone(String phone, String code) {

+ 0 - 2
src/main/java/com/izouma/nineth/service/sms/AliSmsService.java

@@ -134,8 +134,6 @@ public class AliSmsService implements SmsService {
         request.putQueryParameter("SignName", smsSign);
         request.putQueryParameter("TemplateCode", sellOutCode);
 
-        request.putQueryParameter("TemplateParam", "{\"code\":\"" + "\"}");
-
         try {
             CommonResponse response = client.getCommonResponse(request);
             if (response.getHttpStatus() != 200) {

+ 2 - 2
src/main/java/com/izouma/nineth/web/IdentityAuthController.java

@@ -1,8 +1,8 @@
 package com.izouma.nineth.web;
 
 import com.izouma.nineth.domain.IdentityAuth;
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
-import com.izouma.nineth.dto.UserIdentity;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.IdentityAuthRepo;
@@ -72,7 +72,7 @@ public class IdentityAuthController extends BaseController {
 
     @ApiOperation("查找重复身份证")
     @PostMapping("/repeat")
-    public List<UserIdentity> repeat(@RequestParam String idNo, @RequestParam Long userId) {
+    public List<User> repeat(@RequestParam String idNo, @RequestParam Long userId) {
         return identityAuthService.repeat(idNo, userId);
     }
 }

+ 1 - 1
src/main/resources/application.yaml

@@ -133,7 +133,7 @@ aliyun:
   oss-domain: https://raex-meta.oss-cn-shenzhen.aliyuncs.com
   sms-sign: 华储艺术品中心
   sms-code: SMS_228870098
-  sell-out-code:
+  sell-out-code: SMS_232907378
 
 general:
   host: https://test.raex.vip

+ 2 - 3
src/main/vue/src/views/IdentityAuthList.vue

@@ -146,9 +146,8 @@
                 <el-table-column prop="id" label="ID" width="80"></el-table-column>
                 <el-table-column prop="nickname" label="昵称"></el-table-column>
                 <el-table-column prop="phone" label="手机"></el-table-column>
-                <el-table-column prop="createdAt" label="注册时间" min-width="100"></el-table-column>
-                <el-table-column prop="status" label="认证状态" :formatter="statusFormatter"></el-table-column>
-                <el-table-column prop="identityCreatedAt" label="认证时间" min-width="100"></el-table-column>
+                <el-table-column prop="createdAt" label="注册时间" min-width="110"></el-table-column>
+                <el-table-column prop="authStatus" label="认证状态" :formatter="statusFormatter"></el-table-column>
             </el-table>
         </el-dialog>
     </div>

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

@@ -18,4 +18,9 @@ public class SmsServiceTest extends ApplicationTests {
     public void verify() throws SmsService.SmsVerifyException {
         smsService.verify("15077886171", "5274");
     }
+
+    @Test
+    public void sellOut(){
+        smsService.sellOut("18205083565");
+    }
 }