Browse Source

单点登录修改

wangliang 2 năm trước cách đây
mục cha
commit
10b8d8750d

+ 9 - 13
xjtu-exchange/src/main/java/com/qmth/xjtu/api/OpenApiController.java

@@ -14,7 +14,6 @@ import com.qmth.teachcloud.exchange.common.contant.SystemConstant;
 import com.qmth.teachcloud.exchange.common.entity.BasicSchool;
 import com.qmth.teachcloud.exchange.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.exchange.common.service.AuthInfoService;
-import com.qmth.teachcloud.exchange.common.service.BasicSchoolService;
 import com.qmth.teachcloud.exchange.common.service.CommonService;
 import com.qmth.teachcloud.exchange.common.util.HttpUtil;
 import com.qmth.teachcloud.exchange.common.util.JacksonUtil;
@@ -73,9 +72,6 @@ public class OpenApiController {
     @Value("${cas.config.teachcloudPrintLoginUrl}")
     String teachcloudLoginUrl;
 
-    @Resource
-    BasicSchoolService basicSchoolService;
-
     @Resource
     CacheService cacheService;
 
@@ -110,7 +106,7 @@ public class OpenApiController {
         String signature = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, LOGIN_BEFORE_XJU_LOGIC_API, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
 
         String callResult = HttpUtil.postJson(strs[0] + LOGIN_BEFORE_XJU_LOGIC_API, JacksonUtil.parseJson(employeeNo), signature, timestamp);
-        String schoolCode = null;
+        String schoolCodeParam = null;
         if (!StringUtils.isBlank(callResult)) {
             log.info("callbackResult:{}", JacksonUtil.parseJson(callResult));
             Result result = JSON.parseObject(callResult, Result.class);
@@ -120,14 +116,14 @@ public class OpenApiController {
                 if (CollectionUtils.isEmpty(sysuserList)) {
                     throw ExceptionResultEnum.ERROR.exception("未查到此用户");
                 }
-                if (sysuserList.size() >= 2) {
-                    throw ExceptionResultEnum.ERROR.exception("查询到有多个用户");
-                }
-                Long schoolId = Long.parseLong(String.valueOf(sysuserList.get(0).get("schoolId")));
+//                if (sysuserList.size() >= 2) {
+//                    throw ExceptionResultEnum.ERROR.exception("查询到有多个用户");
+//                }
+                String schoolId = String.valueOf(sysuserList.get(0).get("schoolId"));
                 Optional.ofNullable(schoolId).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("学校id为空"));
-                basicSchool = basicSchoolService.getById(schoolId);
-                Optional.ofNullable(basicSchool).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("学校id:" + schoolId + ",学校不存在"));
-                schoolCode = basicSchool.getCode();
+                BasicSchool basicSchoolMap = (BasicSchool) cacheService.get(SystemConstant.SCHOOL_CACHE, schoolId);
+                Optional.ofNullable(basicSchoolMap).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("学校id:" + schoolId + ",学校不存在"));
+                schoolCodeParam = basicSchoolMap.getCode();
             } else {
                 throw ExceptionResultEnum.ERROR.exception("调用知学知考西交大登录前查找账号接口失败");
             }
@@ -197,7 +193,7 @@ public class OpenApiController {
             throw ExceptionResultEnum.ERROR.exception("gSessionId为空");
         }
 
-        commonService.redirectLogic(employeeNo, schoolCode, returnUrl, Objects.nonNull(openParams) ? JacksonUtil.parseJson(openParams) : null);
+        commonService.redirectLogic(employeeNo, schoolCodeParam, returnUrl, Objects.nonNull(openParams) ? JacksonUtil.parseJson(openParams) : null);
     }
 
     @ApiOperation(value = "西安交通大学cas鉴权退出接口")