Browse Source

添加二次验证二维码接口

刘立冬 1 month ago
parent
commit
c24bc26e4d

+ 1 - 0
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/QwLoginService.java

@@ -12,4 +12,5 @@ public interface QwLoginService {
     String getRunClients();
     UserBase checkLogin(String uuid);
     boolean quitLogin(String uuid);
+    QwCommonResModel<QwLoginQRCodeModel> secondaryValidation(String uuid);
 }

+ 16 - 0
risk-control-core/src/main/java/com/tzld/piaoquan/risk/control/service/impl/QwLoginServiceImpl.java

@@ -1,6 +1,7 @@
 package com.tzld.piaoquan.risk.control.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.tzld.piaoquan.risk.control.common.base.CommonResponse;
 import com.tzld.piaoquan.risk.control.config.LoginUserContext;
 import com.tzld.piaoquan.risk.control.config.QywxConfig;
 import com.tzld.piaoquan.risk.control.dao.mapper.UserBaseMapper;
@@ -115,6 +116,21 @@ public class QwLoginServiceImpl implements QwLoginService {
         return isSuccess;
     }
 
+    @Override
+    public QwCommonResModel<QwLoginQRCodeModel> secondaryValidation(String uuid) {
+        String url = qywxConfig.getDomain() + qywxConfig.getPath("secondaryValidation");
+        Map<String, Object> requestBody = new HashMap<>();
+        requestBody.put("uuid", uuid);
+        String params = JSON.toJSONString(requestBody);
+        Optional<String> response = httpPoolClientDefault.postJson(url, params);
+        if (response.isPresent()) {
+            QwCommonResModel<QwLoginQRCodeModel> qrCodeModel = QwCommonResModel.parseResponse(response.get(), QwLoginQRCodeModel.class);
+            qrCodeModel.getData().setUuid(uuid);
+            return qrCodeModel;
+        }
+        return null;
+    }
+
     private String initUUID(String vid) {
         Long userId = LoginUserContext.getUserId();
         Map<String, Object> requestBody = new HashMap<>();

+ 11 - 0
risk-control-server/src/main/java/com/tzld/piaoquan/risk/control/controller/QwLoginController.java

@@ -56,6 +56,17 @@ public class QwLoginController {
         }
     }
 
+    @PostMapping("/secondaryValidation")
+    public CommonResponse<QwLoginQRCodeModel> secondaryValidation(@RequestBody Map<String, String> request) {
+        String uuid = request.get("uuid");
+        QwCommonResModel<QwLoginQRCodeModel> loginModel = qwLoginService.secondaryValidation(uuid);
+        if (loginModel != null && loginModel.getErrcode() == 0) {
+            return CommonResponse.success(loginModel.getData());
+        } else {
+            return CommonResponse.error(null);
+        }
+    }
+
     @PostMapping("/automaticLogin")
     public CommonResponse<String> automaticLogin(@RequestBody Map<String, String> request) {
         String uuid = request.get("uuid");

+ 1 - 0
risk-control-server/src/main/resources/application.yml

@@ -34,6 +34,7 @@ qywx:
     login-checkcode: /wxwork/CheckCode
     add-qwcallback: /wxwork/SetCallbackUrl
     auto-login: /wxwork/automaticLogin
+    secondaryValidation: /wxwork/SecondaryValidation
     quit-login: /wxwork/LoginOut
     get-clients: /wxwork/getClients
     chatIdToRoomId: /wxwork/ChatIdToRoomId