Althars123 3 tahun lalu
induk
melakukan
9d6217fe76

+ 6 - 3
jkt-admin/src/main/java/com/miaxis/system/controller/system/SysLoginController.java

@@ -8,6 +8,7 @@ import com.miaxis.common.core.domain.model.LoginBody;
 import com.miaxis.common.core.domain.model.LoginBodyNoCode;
 import com.miaxis.common.core.domain.model.LoginUser;
 import com.miaxis.common.enums.StudentLoginTypeEnum;
+import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.SecurityUtils;
 import com.miaxis.common.utils.ServletUtils;
 import com.miaxis.framework.web.service.SysLoginService;
@@ -111,10 +112,12 @@ public class SysLoginController
     @PostMapping("/login/code")
     @ApiOperation("用户授权码模式登录")
     public Response<TokenDTO> loginByAuthorizationCode(String authorizationCode ){
-
-
-        WxResult wxResult = wxService.getWxToken(appid, appSecret, authorizationCode, "authorization_code");
+        String wxResultStr = wxService.getWxToken(appid, appSecret, authorizationCode, "authorization_code");
+        WxResult wxResult = JSONObject.parseObject(wxResultStr,WxResult.class);
         // 生成令牌
+        if (wxResult.getErrcode() != null){
+            throw new CustomException(wxResult.getErrmsg());
+        }
         String token = loginService.login(wxResult.getOpenid(),null, StudentLoginTypeEnum.OPENID_LOGIN.getCode());
         TokenDTO tokenDTO = new TokenDTO();
         tokenDTO.setToken(token);

+ 2 - 0
jkt-service/src/main/java/com/miaxis/wx/dto/WxResult.java

@@ -11,5 +11,7 @@ public class WxResult {
      Integer expire_in;
      String scope;
      String unionid;
+     String errcode;
+     String errmsg;
 
 }

+ 1 - 1
jkt-service/src/main/java/com/miaxis/wx/service/WxService.java

@@ -25,7 +25,7 @@ public interface WxService {
      * @return
      */
     @GetMapping(value = "/sns/oauth2/access_token")
-    WxResult getWxToken(
+    String getWxToken(
             @RequestParam("appid") String appid,
             @RequestParam("secret") String secret,
             @RequestParam("code") String code,