3 Achegas e94a15ae65 ... 911ca54d5b

Autor SHA1 Mensaxe Data
  李亚非 911ca54d5b Merge remote-tracking branch 'origin/sit' into sit hai 2 meses
  李亚非 aafcf52cd3 fix:bug2706,ai工作台审核 其他资质 无法显示问题 hai 2 meses
  李亚非 0a68947185 fix:入驻身份证号去重校验,数据库也要唯一索引和清理脏数据 hai 2 meses

+ 13 - 15
alien-store/src/main/java/shop/alien/store/controller/AliController.java

@@ -80,22 +80,20 @@ public class AliController {
     })
     @GetMapping("/getIdInfo")
     public R getIdInfo(@RequestParam("name") String name, @RequestParam("idCard") String idCard, @RequestParam("appType") Integer appType) {
-        log.info("AliController.getIdInfo?name={}&idCard={}", name, idCard);
+        String normalizedName = name == null ? null : name.trim();
+        String normalizedIdCard = idCard == null ? null : idCard.trim().toUpperCase();
+        log.info("AliController.getIdInfo?name={}&idCard={}", normalizedName, normalizedIdCard);
         int size = 0;
         if (appType == 0) {
-            //根据身份查询未注销的用户
-            size = lifeUserService
-                    .list(new LambdaQueryWrapper<LifeUser>()
-                            .eq(LifeUser::getIdCard, idCard)
-                            .eq(LifeUser::getRealName, name)
-                            .eq(LifeUser::getLogoutFlag, 0))
-                    .size();
+            // 根据身份证查询未注销用户:同一身份证只能实名一个账号
+            size = lifeUserService.count(new LambdaQueryWrapper<LifeUser>()
+                    .eq(LifeUser::getIdCard, normalizedIdCard)
+                    .eq(LifeUser::getLogoutFlag, 0));
         } else {
-            //根据身份查询已入驻或审核中的商家
+            // 根据身份证查询已入驻或审核中的商家:同一身份证只能实名一个账号
             List<StoreUser> storeUserList = storeUserService
                     .list(new LambdaQueryWrapper<StoreUser>()
-                            .eq(StoreUser::getIdCard, idCard)
-                            .eq(StoreUser::getName, name));
+                            .eq(StoreUser::getIdCard, normalizedIdCard));
             List<Integer> storeIds = storeUserList.stream()
                     .map(StoreUser::getStoreId)
                     .filter(Objects::nonNull)
@@ -108,10 +106,10 @@ public class AliController {
                         .size();
             }
         }
-//        if (size > 0) {
-//            return R.fail("该身份证已实名认证过");
-//        }
-        if (aliPayConfig.getIdInfo(name, idCard)) {
+        if (size > 0) {
+            return R.fail("该身份证已实名认证过");
+        }
+        if (aliPayConfig.getIdInfo(normalizedName, normalizedIdCard)) {
             return R.success("身份验证成功");
         }
 //        Map map = new HashMap();

+ 11 - 0
alien-store/src/main/java/shop/alien/store/service/impl/LicenseAuditAsyncService.java

@@ -247,6 +247,17 @@ public class LicenseAuditAsyncService {
                         }
                         log.info("{}AI审核通过,门店ID:{},图片URL:{}", licenseTypeName, storeId, imageUrl);
                         
+                        // 审核通过后,先清除旧的其他资质证明图片(不在当前批次中的)
+                        String[] currentBatchUrls = currentHistory.getImgUrl().split(",");
+                        LambdaUpdateWrapper<StoreImg> cleanOldWrapper = new LambdaUpdateWrapper<>();
+                        cleanOldWrapper.eq(StoreImg::getStoreId, storeId)
+                                .eq(StoreImg::getImgType, 35)
+                                .eq(StoreImg::getDeleteFlag, 0)
+                                .notIn(StoreImg::getImgUrl, Arrays.asList(currentBatchUrls))
+                                .set(StoreImg::getDeleteFlag, 1);
+                        storeImgMapper.update(null, cleanOldWrapper);
+                        log.info("其他资质证明审核通过,已清除旧图片,门店ID:{}", storeId);
+                        
                         // 审核通过后,插入store_img表(检查是否已存在,避免重复插入)
                         StoreImg existingImg = storeImgMapper.selectOne(
                                 new LambdaQueryWrapper<StoreImg>()

+ 6 - 6
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -6822,12 +6822,12 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         // 限制最多9张
         int maxCount = Math.min(storeImgList.size(), 9);
         
-        // 删除旧的其他资质证明图片(逻辑删除)
-        LambdaUpdateWrapper<StoreImg> deleteWrapper = new LambdaUpdateWrapper<>();
-        deleteWrapper.eq(StoreImg::getStoreId, storeId)
-                .eq(StoreImg::getImgType, 35)
-                .set(StoreImg::getDeleteFlag, 1);
-        storeImgMapper.update(null, deleteWrapper);
+        // 不再立即删除旧的其他资质证明图片,等审核通过后再替换
+        // LambdaUpdateWrapper<StoreImg> deleteWrapper = new LambdaUpdateWrapper<>();
+        // deleteWrapper.eq(StoreImg::getStoreId, storeId)
+        //         .eq(StoreImg::getImgType, 35)
+        //         .set(StoreImg::getDeleteFlag, 1);
+        // storeImgMapper.update(null, deleteWrapper);
         
         // 获取门店信息用于AI审核
         StoreInfo storeInfoForAi = storeInfoMapper.selectById(storeId);