Przeglądaj źródła

R&D接入门户配置

zhangcl 2 miesięcy temu
rodzic
commit
946c8fa6f9

+ 8 - 1
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java

@@ -208,11 +208,18 @@ public class AuthController {
 
     @PostMapping("/pmsSsoToken")
     @PermitAll
-    @Operation(summary = "根据当前登录人工号 获取随机验证码", description = "快捷登录OA")
+    @Operation(summary = "根据当前登录人工号 获取随机验证码", description = "快捷登录PMS")
     public CommonResult<String> pmsSsoToken(@RequestBody @Valid AuthOaLoginReqVO reqVO) {
         return success(authService.pmsSsoToken(reqVO));
     }
 
+    @PostMapping("/rdSsoToken")
+    @PermitAll
+    @Operation(summary = "根据当前登录人工号 获取随机验证码", description = "快捷登录 R&D")
+    public CommonResult<String> rdSsoToken(@RequestBody @Valid AuthOaLoginReqVO reqVO) {
+        return success(authService.rdSsoToken(reqVO));
+    }
+
     @PostMapping("/ehrLogin")
     @PermitAll
     @Operation(summary = "根据当前登录人工号 获取随机验证码", description = "快捷登录OA")

+ 7 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.java

@@ -112,6 +112,13 @@ public interface AdminAuthService {
      */
     String pmsSsoToken(AuthOaLoginReqVO reqVO);
 
+    /**
+     * 免登录 R&D
+     *
+     * @param reqVO 验证码信息
+     */
+    String rdSsoToken(AuthOaLoginReqVO reqVO);
+
     /**
      * ehr sso登录
      * @param reqVO

+ 24 - 0
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java

@@ -105,9 +105,15 @@ public class AdminAuthServiceImpl implements AdminAuthService {
     @Value("${pms.ssoToken}")
     private String pmsSsoToken;
 
+    @Value("${rd.ssoToken}")
+    private String rdSsoToken;
+
     @Value("${pms.secret}")
     private String pmsSecret;
 
+    @Value("${rd.secret}")
+    private String rdSecret;
+
     @Value("${oa.secret}")
     private String oaSecret;
 
@@ -456,6 +462,24 @@ public class AdminAuthServiceImpl implements AdminAuthService {
         return token;
     }
 
+    @Override
+    public String rdSsoToken(AuthOaLoginReqVO reqVO) {
+        HttpHeaders headers = new HttpHeaders();
+        headers.add("Content-Type", "application/json");
+        headers.add("tenant-id", "1");
+        RestTemplate restTemplate = SslSkippingRestTemplate.createRestTemplate();
+        // 使用 MultiValueMap 而不是 HashMap
+        Map<String, String> params1 = new HashMap<>();
+        params1.put("appid", rdSecret);
+        params1.put("username", reqVO.getUsername());
+        HttpEntity<Map<String, String>> requestEntityOut = new HttpEntity<>(params1, headers);
+        String result = restTemplate.postForObject(rdSsoToken, requestEntityOut, String.class);
+        JSONObject jsonObject = JSON.parseObject(result);
+        String token = String.valueOf(jsonObject.get("data"));
+        System.out.println("result token:" + token);
+        return token;
+    }
+
     @Override
     public String crmGetUser(String token) {
         // 根据token 获取当前登录人的信息 userId...

+ 4 - 0
yudao-server/src/main/resources/application-dev.yaml

@@ -293,6 +293,10 @@ pms:
   secret: cc99d802-ce5c-5f62-b037-9a00726e7109
   ssoToken: https://iot.deepoil.cc/admin-api/system/auth/ssoLogin/getToken
 
+rd:
+  secret: 71ba46d3-3dd4-5232-9b7e-75765b36897f
+  ssoToken: https://rdm.deepoil.cc/admin-api/system/auth/ssoLogin/getToken
+
 zentao:
   code: Deep0ilPortal
   secret: fff507e4daffa4e8d8519109d21a138f