Jelajahi Sumber

添加自动登录接口

刘立冬 1 bulan lalu
induk
melakukan
dcf6b617ef

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

@@ -44,7 +44,6 @@ public class QwLoginServiceImpl implements QwLoginService {
         uuid = initUUID(vid);
         // TODO 写入平台库表:platformPhone关联的uuid
         LOGGER.info("getLoginQRCode,uuid: {}", uuid);
-        System.out.println("getLoginQRCode,uuid: " + uuid);
         setCallback(uuid);
         if (uuid != null) {
             String url = qywxConfig.getDomain() + qywxConfig.getPath("login-qrcode");
@@ -119,7 +118,7 @@ public class QwLoginServiceImpl implements QwLoginService {
     private String initUUID(String vid) {
         Long userId = LoginUserContext.getUserId();
         Map<String, Object> requestBody = new HashMap<>();
-        requestBody.put("vid", vid); // Add vid if available,二次登录使用上一次结果
+        requestBody.put("vid", ""); // Add vid if available,二次登录使用上一次结果
         requestBody.put("ip", ""); // Add proxy IP if available
         requestBody.put("port", ""); // Add proxy port if available
         requestBody.put("proxyType", ""); // Add proxy type if available
@@ -129,6 +128,8 @@ public class QwLoginServiceImpl implements QwLoginService {
         requestBody.put("deverType", "ipad"); // Default device type
         // Convert the request body to JSON string
         String params = JSON.toJSONString(requestBody);
+        System.out.println("initUUID,params: " + params);
+
         String url = qywxConfig.getDomain() + qywxConfig.getPath("init-uuid");
         Optional<String> response = httpPoolClientDefault.postJson(url, params);
         // 直接解析 JSON

+ 15 - 5
risk-control-server/src/main/java/com/tzld/piaoquan/risk/control/controller/QwLoginController.java

@@ -57,11 +57,21 @@ public class QwLoginController {
     }
 
     @PostMapping("/automaticLogin")
-    public CommonResponse<String> automaticLogin(@RequestBody QwLoginCheckCode checkCode) {
-        String url = qywxConfig.getDomain() + qywxConfig.getPath("login-qrcode");
-        String response =  httpPoolClientDefault.postJson(url, JSON.toJSONString(checkCode)).toString();
-        System.out.println("checkQRCode,response: " + response);
-        return CommonResponse.success();
+    public CommonResponse<String> automaticLogin(@RequestBody Map<String, String> request) {
+        String uuid = request.get("uuid");
+        String url = qywxConfig.getDomain() + qywxConfig.getPath("auto-login");
+        Map<String, Object> requestBody = new HashMap<>();
+        requestBody.put("uuid", uuid);
+        Optional<String> response =  httpPoolClientDefault.postJson(url, JSON.toJSONString(requestBody));
+        if (response.isPresent()) {
+            QwCommonResModel<Object> model = QwCommonResModel.parseResponse(response.get(),Object.class);
+            if (model.getErrcode() == 0) {
+                return CommonResponse.success();
+            } else {
+                return CommonResponse.error("failed");
+            }
+        }
+        return CommonResponse.error("failed");
     }
 
     @PostMapping("/quiteQwLogin")