Browse Source

新增版本分支

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

+ 10 - 3
teachcloud-exchange-common/src/main/java/com/qmth/teachcloud/exchange/common/service/impl/CommonServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.teachcloud.exchange.common.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qmth.boot.core.cache.service.CacheService;
 import com.qmth.boot.tools.signature.SignatureEntity;
 import com.qmth.boot.tools.signature.SignatureType;
 import com.qmth.teachcloud.exchange.common.bean.params.OpenParams;
@@ -41,6 +42,9 @@ public class CommonServiceImpl implements CommonService {
     @Resource
     BasicSchoolService basicSchoolService;
 
+    @Resource
+    CacheService cacheService;
+
     @Value("${cas.config.teachcloudPrintLoginUrl}")
     String teachcloudLoginUrl;
 
@@ -67,9 +71,12 @@ public class CommonServiceImpl implements CommonService {
         }
 //        accountUser = URLDecoder.decode(accountUser, SystemConstant.CHARSET_NAME);
 
-        QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
-        basicSchoolQueryWrapper.lambda().eq(BasicSchool::getCode, schoolCode);
-        BasicSchool basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
+        BasicSchool basicSchool = (BasicSchool) cacheService.get(SystemConstant.SCHOOL_CODE_CACHE, schoolCode);
+        if (Objects.isNull(basicSchool)) {
+            QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
+            basicSchoolQueryWrapper.lambda().eq(BasicSchool::getCode, schoolCode);
+            basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
+        }
         Optional.ofNullable(basicSchool).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("学校信息不存在"));
 
         if (teachcloudLoginUrl.contains(SystemConstant.PATH_MATCH)) {

+ 18 - 0
xjtu-exchange/src/main/java/com/qmth/xjtu/api/OpenApiController.java

@@ -3,15 +3,19 @@ package com.qmth.xjtu.api;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.cache.service.CacheService;
 import com.qmth.boot.tools.signature.SignatureEntity;
 import com.qmth.boot.tools.signature.SignatureType;
 import com.qmth.teachcloud.exchange.common.bean.params.OpenParams;
 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;
@@ -71,6 +75,12 @@ public class OpenApiController {
     @Value("${cas.config.teachcloudPrintLoginUrl}")
     String teachcloudLoginUrl;
 
+    @Resource
+    BasicSchoolService basicSchoolService;
+
+    @Resource
+    CacheService cacheService;
+
     @ApiOperation(value = "西安交通大学cas鉴权接口")
     @ApiResponses({@ApiResponse(code = 200, message = "返回消息", response = Result.class)})
     @RequestMapping(value = "/authentication", method = RequestMethod.GET)
@@ -96,6 +106,14 @@ public class OpenApiController {
             strs[0] = strs[0].replace(SystemConstant.PATH_MATCH, SCHOOL_CODE);
         }
 
+        BasicSchool basicSchool = (BasicSchool) cacheService.get(SystemConstant.SCHOOL_CODE_CACHE, SCHOOL_CODE);
+        if (Objects.isNull(basicSchool)) {
+            QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
+            basicSchoolQueryWrapper.lambda().eq(BasicSchool::getCode, SCHOOL_CODE);
+            basicSchool = basicSchoolService.getOne(basicSchoolQueryWrapper);
+        }
+        Optional.ofNullable(basicSchool).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("学校信息不存在"));
+
         Long timestamp = System.currentTimeMillis();
         String signature = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, LOGIN_BEFORE_XJU_LOGIC_API, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());