瀏覽代碼

增加Ticket方法

chenjun 3 周之前
父節點
當前提交
c71399a788

+ 17 - 0
ais_knowledge/knowledge/src/main/java/com/zjugis/ai/knowledge/controller/auth/AuthController.java

@@ -1,5 +1,6 @@
 package com.zjugis.ai.knowledge.controller.auth;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.zjugis.ai.knowledge.common.pojo.CommonResult;
 import com.zjugis.ai.knowledge.controller.auth.vo.AuthLoginReqVO;
@@ -7,6 +8,7 @@ import com.zjugis.ai.knowledge.controller.auth.vo.AuthLoginRespVO;
 import com.zjugis.ai.knowledge.controller.auth.vo.AuthPermissionInfoRespVO;
 import com.zjugis.ai.knowledge.dal.dataobject.user.AdminUserDO;
 import com.zjugis.ai.knowledge.enums.logger.LoginLogTypeEnum;
+import com.zjugis.ai.knowledge.feign.jieshi.TicketService;
 import com.zjugis.ai.knowledge.service.auth.AdminAuthService;
 import com.zjugis.ai.knowledge.service.user.AdminUserService;
 import com.zjugis.ai.knowledge.util.object.BeanUtils;
@@ -15,6 +17,7 @@ import io.swagger.v3.oas.annotations.Parameter;
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.validation.Valid;
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.hutool.core.text.StrUtil;
 import org.dromara.hutool.http.HttpUtil;
 import org.springframework.beans.factory.annotation.Value;
@@ -35,6 +38,7 @@ import static com.zjugis.ai.knowledge.util.security.SecurityFrameworkUtils.obtai
  * @time: 10:55
  * @description: 用户登录接口层
  */
+@Slf4j
 @RestController
 @RequestMapping("/auth")
 public class AuthController {
@@ -45,6 +49,8 @@ public class AuthController {
     private AdminAuthService authService;
     @Resource
     private AdminUserService userService;
+    @Resource
+    private TicketService ticketService;
 
     /**
      * 通过携带ticket的url获取用户信息
@@ -80,6 +86,17 @@ public class AuthController {
             rMap.put("syUser", syUser);
             rMap.put("zjugisUser", "");
         }
+        // 异步推送ticket(不影响主流程)
+        try {
+            Map<String, Object> pushData = new HashMap<>(JSON.parseObject(syUserStr, Map.class));
+            pushData.put("wwTicket", ticket);
+            pushData.put("requestTime", System.currentTimeMillis());
+            ticketService.pushTicket(pushData);
+            log.info("ticket推送成功!");
+        } catch (Exception e) {
+            log.error("ticket推送失败(不影响主流程)", e);
+        }
+
         return rMap;
     }
 

+ 21 - 0
ais_knowledge/knowledge/src/main/java/com/zjugis/ai/knowledge/feign/jieshi/TicketService.java

@@ -0,0 +1,21 @@
+package com.zjugis.ai.knowledge.feign.jieshi;
+
+import com.zjugis.ai.knowledge.feign.docs.config.FeignMultipartSupportConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Map;
+
+/**
+ * @Author 陈俊
+ * @Date 2025/5/23 15:53
+ * @Version 1.0
+ */
+@FeignClient(name = "jieshiTicketClient", url = "https://gtkj.zjzwfw.gov.cn", configuration = FeignMultipartSupportConfig.class)
+public interface TicketService {
+
+    @PostMapping(value = "/chat_api_hz/open/client/sso/ww/receive", consumes = MediaType.APPLICATION_JSON_VALUE)
+    void pushTicket(@RequestBody Map map);
+}