wangliang 2 лет назад
Родитель
Сommit
9598087d8e

+ 11 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/OpenApiController.java

@@ -16,12 +16,16 @@ import com.qmth.teachcloud.common.enums.AppSourceEnum;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
-import com.qmth.teachcloud.common.util.*;
+import com.qmth.teachcloud.common.util.AuthThirdUtil;
+import com.qmth.teachcloud.common.util.JacksonUtil;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.util.UriUtils;
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
@@ -149,18 +153,18 @@ public class OpenApiController {
         if (Objects.isNull(signature) || Objects.equals(signature, "")) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("鉴权信息不能为空");
         }
-        log.info("signature before:{}", signature);
-        signature = new String(Base64Util.decode(signature), SystemConstant.CHARSET_NAME);
-        log.info("signature after:{}", signature);
+        log.info("signature UriUtils before:{}", signature);
+        signature = UriUtils.decode(signature, SystemConstant.CHARSET_NAME);
+        log.info("signature UriUtils after:{}", signature);
         if (Objects.isNull(account) || Objects.equals(account, "")) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("工号不能为空");
         }
-        account = URLDecoder.decode(account, SystemConstant.CHARSET_NAME);
+        account = UriUtils.decode(account, SystemConstant.CHARSET_NAME);
 
         BasicSchool basicSchool = AuthThirdUtil.hasPermissionCas(time, path, signature);
         OpenParams openParams = null;
         if (Objects.nonNull(params) && !Objects.equals(params, "")) {
-            String decodeJson = URLDecoder.decode(params, SystemConstant.CHARSET_NAME);
+            String decodeJson = UriUtils.decode(params, SystemConstant.CHARSET_NAME);
             openParams = JacksonUtil.readJson(decodeJson, OpenParams.class);
         }
 
@@ -174,7 +178,7 @@ public class OpenApiController {
 
         LoginResult loginResult = teachcloudCommonService.login(sysUser.getPassword(), sysUser, AppSourceEnum.CAS_THIRD);
         if (Objects.nonNull(returnUrl) && !Objects.equals(returnUrl, "")) {
-            returnUrl = URLDecoder.decode(returnUrl, SystemConstant.CHARSET_NAME);
+            returnUrl = UriUtils.decode(returnUrl, SystemConstant.CHARSET_NAME);
         }
         loginResult.setReturnUrl(returnUrl);
         return ResultUtil.ok(loginResult);