Преглед изворни кода

处理10007断链,标记登录状态

刘立冬 пре 1 месец
родитељ
комит
c16acaeae3

+ 3 - 2
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/impl/QywxUserDataService.java

@@ -194,7 +194,7 @@ public class QywxUserDataService {
         }
     }
 
-    public void loginOtherDevice(String originalJson) {
+    public void handleLogoutScene(String originalJson, int status) {
         QwCallBackWrapperData wrapperData = JSON.parseObject(originalJson, QwCallBackWrapperData.class);
         if (StringUtils.isEmpty(wrapperData.getJson())) {
             log.warn("Empty inner json data, uuid: {}", wrapperData.getUuid());
@@ -207,10 +207,11 @@ public class QywxUserDataService {
         List<UserBase> users = userBaseMapper.selectByExample(example);
         UserBase user = users.isEmpty() ? null : users.get(0);
         if (user != null) {
-            user.setLoginStatus(Constant.LOGIN_STATUS_LOGOUT_OTHER_DEVICE);
+            user.setLoginStatus(status);
             userBaseMapper.updateByPrimaryKeySelective(user);
         }
     }
+
     public void seconderyVerify(String originalJson) {
 //        UserBaseExample example = new UserBaseExample();
 //        example.createCriteria().andUuidEqualTo(uuid);

+ 3 - 0
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/qywx/Constant.java

@@ -41,6 +41,7 @@ public class Constant {
     //企业切换
     public static final int CORP_SWITCH = 100006; // -2: 企业切换
 
+    public static final int QW_DISCONNECTED = 100007; //  断开连接
     //需要验证码回调
     public static final int QW_NEED_VERIFY_CODE = 100004; // -
     public static final int CANCEL_SCAN_CODE = 100003; // -
@@ -52,6 +53,8 @@ public class Constant {
     public static final int LOGIN_STATUS_LOGIN_VERIFY = -1;
     public static final int LOGIN_STATUS_LOGIN_FAIL = -2; // -1: 登录失败
     public static final int LOGIN_STATUS_LOGOUT_OTHER_DEVICE = -3; // 其他设备登录
+    public static final int LOGIN_STATUS_DISCONNECTED = -4; // 其他设备登录
+
 
 
 

+ 4 - 1
risk-control-server/src/main/java/com/tzld/piaoquan/risk/control/controller/QwCallbackController.java

@@ -42,9 +42,12 @@ public class QwCallbackController {
                 LOGGER.info("Login verify: {}", callbackData);
                 break;
             case Constant.LOGIN_OTHER_DEVICE:
-                userDataService.loginOtherDevice(callbackData);
+                userDataService.handleLogoutScene(callbackData,Constant.LOGIN_STATUS_LOGOUT_OTHER_DEVICE);
                 LOGGER.info("Login other device: {}", callbackData);
                 break;
+            case Constant.QW_DISCONNECTED:
+                userDataService.handleLogoutScene(callbackData,Constant.LOGIN_STATUS_DISCONNECTED);
+                break;
             case Constant.CORP_SWITCH:
 //                userDataService.s(callbackData);
 //                LOGGER.info("Login other device: {}", callbackData);