Pārlūkot izejas kodu

fix: 修复游客风控用户状态更新错误;

hidewnd 5 dienas atpakaļ
vecāks
revīzija
2857d08624

+ 33 - 24
yt-risk/risk-manage/src/main/java/com/ytpm/service/impl/RiskCheckServiceImpl.java

@@ -127,10 +127,15 @@ public class RiskCheckServiceImpl implements RiskCheckService {
         YtApp app = appMapper.selectRiskApp(dyzUser.getAppId());
         YtPlatformUserApp platformUserApp = appMapper.selectParentApp(app.getSuperiorId());
         if (platformUserApp != null && StringUtils.isNotEmpty(platformUserApp.getServiceName())) {
+            Integer chagneStatus =UserStatusEnum.LOCK.getCode();
+            if ("344".equals(riskCode) || "345".equals(riskCode)) {
+                chagneStatus = UserStatusEnum.VISITOR_LOCK.getCode();
+            }
+            Integer finalChangeStatus = chagneStatus;
             scheduledExecutorService.schedule(() -> {
                 YtDyzUser next = new YtDyzUser();
                 next.setUserId(dyzUser.getUserId());
-                next.setUserStatus(UserStatusEnum.LOCK.getCode());
+                next.setUserStatus(finalChangeStatus);
                 next.setRiskCode(riskCode);
                 next.setRiskReason(bannedReason);
                 feignInvoker.invoke(platformUserApp.getServiceName(), "updateUserInfo", next);
@@ -148,30 +153,34 @@ public class RiskCheckServiceImpl implements RiskCheckService {
         if (riskStrategyContext.isTodayDeblock(dyzUser) || riskStrategyContext.isWhiteIpuser(dyzUser)) {
             return Result.resultOk(RepMessage.QUERY_SUCCESS);
         }
-        // 校验默认的风控配置
-        checkDefaultRiskConfig(dyzUser);
-        // 风控 尝试聚合查询
-        List<YtDyzUser> dyzUsers = null;
-        Integer userCount = null;
-        Integer cityUserCount = null;
-        Long sameDeviceCount = null;
-        YtApp ytApp = appMapper.selectRiskApp(dyzUser.getAppId());
-        RiskYtDyzUserView riskYtDyzUserView = queryParamByUnified(dyzUser, ytApp);
-        if (riskYtDyzUserView != null) {
-            dyzUsers = riskYtDyzUserView.getUserList();
-            sameDeviceCount = riskYtDyzUserView.getSameDeviceCount();
-            userCount = riskYtDyzUserView.getUserCount();
-            cityUserCount = riskYtDyzUserView.getCityUserCount();
-        }
-        checkRisk322(dyzUser, dyzUsers, sameDeviceCount);
-        // ios端 校验ip风控
-        if (ytApp.getAppType() == 2) {
-            checkRisk334(dyzUser, userCount);
-            checkRisk335(dyzUser, cityUserCount);
-        }
-        //查询用户所在app是否配置其他风控规则
+        try {
+            // 校验默认的风控配置
+            checkDefaultRiskConfig(dyzUser);
+            // 风控 尝试聚合查询
+            List<YtDyzUser> dyzUsers = null;
+            Integer userCount = null;
+            Integer cityUserCount = null;
+            Long sameDeviceCount = null;
+            YtApp ytApp = appMapper.selectRiskApp(dyzUser.getAppId());
+            RiskYtDyzUserView riskYtDyzUserView = queryParamByUnified(dyzUser, ytApp);
+            if (riskYtDyzUserView != null) {
+                dyzUsers = riskYtDyzUserView.getUserList();
+                sameDeviceCount = riskYtDyzUserView.getSameDeviceCount();
+                userCount = riskYtDyzUserView.getUserCount();
+                cityUserCount = riskYtDyzUserView.getCityUserCount();
+            }
+            checkRisk322(dyzUser, dyzUsers, sameDeviceCount);
+            // ios端 校验ip风控
+            if (ytApp.getAppType() == 2) {
+                checkRisk334(dyzUser, userCount);
+                checkRisk335(dyzUser, cityUserCount);
+            }
+            //查询用户所在app是否配置其他风控规则
 //        checkCustomRisk(dyzUser,EffectNodeEnum.LOGIN.getNode(),null);
-        return Result.resultOk(RepMessage.QUERY_SUCCESS);
+            return Result.resultOk(RepMessage.QUERY_SUCCESS);
+        } catch (CustomerException e) {
+            return Result.resultFail(StatusCode.ACCESS_ERR, e.getMessage());
+        }
     }