Pārlūkot izejas kodu

去掉授权和移到front位置

mingfu 1 mēnesi atpakaļ
vecāks
revīzija
cef5c600d8

+ 48 - 1
ie-admin/src/main/java/com/ruoyi/web/controller/front/UserController.java

@@ -1,5 +1,8 @@
 package com.ruoyi.web.controller.front;
 
+import cn.binarywang.wx.miniapp.api.WxMaService;
+import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
+import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
 import cn.hutool.core.lang.Dict;
 import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.annotation.Anonymous;
@@ -33,6 +36,7 @@ import com.ruoyi.web.service.SysLoginService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.compress.utils.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.transaction.annotation.Transactional;
@@ -64,8 +68,9 @@ public class UserController extends BaseController {
     private final ISysDeptService deptService;
     private final IDzTeacherService dzTeacherService;
     private final IDzSubjectService dzSubjectService;
+    private final WxMaService wxMaService;
 
-    public UserController(IDzControlService dzControlService, SysLoginService loginService, ISysUserService userService, SysPermissionService permissionService, TokenService tokenService, CommService commService, ISysConfigService configService, IDzCardsService dzCardsService, IDzSchoolService dzSchoolService, IDzClassesService dzClassesService, DzSchoolMapper dzSchoolMapper, DzClassesMapper dzClassesMapper, IDzAgentService agentService, ISysDeptService deptService, IDzTeacherService dzTeacherService, IDzSubjectService dzSubjectService) {
+    public UserController(IDzControlService dzControlService, SysLoginService loginService, ISysUserService userService, SysPermissionService permissionService, TokenService tokenService, CommService commService, ISysConfigService configService, IDzCardsService dzCardsService, IDzSchoolService dzSchoolService, IDzClassesService dzClassesService, DzSchoolMapper dzSchoolMapper, DzClassesMapper dzClassesMapper, IDzAgentService agentService, ISysDeptService deptService, IDzTeacherService dzTeacherService, IDzSubjectService dzSubjectService, WxMaService wxMaService) {
         this.dzControlService = dzControlService;
         this.loginService = loginService;
         this.userService = userService;
@@ -82,6 +87,7 @@ public class UserController extends BaseController {
         this.deptService = deptService;
         this.dzTeacherService = dzTeacherService;
         this.dzSubjectService = dzSubjectService;
+        this.wxMaService = wxMaService;
     }
 
     @GetMapping(value = "provinces")
@@ -225,6 +231,47 @@ public class UserController extends BaseController {
     }
 
 
+    /**
+     * 微信登录方法
+     *
+     * @param body 登录信息
+     * @return 结果
+     */
+    @PostMapping("loginByCode")
+    @ApiOperation("微信登陆")
+    @Anonymous
+    public AjaxResult loginByCode(@RequestBody JSONObject body)
+    {
+        String loginCode = body.getString("loginCode");
+        String openId = "qwert"; // sessionInfo.getOpenid();
+        return loginService.loginByCode(openId);
+        /*try {
+            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(loginCode);
+            String openId = sessionInfo.getOpenid();
+            return loginService.loginByCode(openId);
+        } catch (WxErrorException e) {
+            return AjaxResult.error("登陆失败: " + e.getMessage());
+        }*/
+    }
+
+    @PostMapping("bindOpenId")
+    @ApiOperation("绑定微信")
+    public AjaxResult bindOpenId(@RequestBody JSONObject body)
+    {
+        String loginCode = body.getString("loginCode");
+        String phoneCode = body.getString("phoneCode");
+        try {
+            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(loginCode);
+            WxMaPhoneNumberInfo phoneNumberInfo = wxMaService.getUserService().getPhoneNumber(phoneCode);
+            String openid = sessionInfo.getOpenid();
+            String phoneNumber = phoneNumberInfo.getPhoneNumber();
+            return loginService.bindOpenId(openid, phoneNumber);
+        } catch (WxErrorException e) {
+            return AjaxResult.error("绑定失败: " + e.getMessage());
+        }
+    }
+
+
     @GetMapping("getUserBindCard")
     @ApiOperation("取用户卡绑定状态")
     public AjaxResult getUserBindCard() {

+ 1 - 46
ie-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java

@@ -4,10 +4,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Set;
 
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
-import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
-import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.enums.AccessFromType;
 import com.ruoyi.common.enums.BusinessType;
@@ -19,7 +15,6 @@ import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.web.service.CommService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import me.chanjar.weixin.common.error.WxErrorException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -68,13 +63,10 @@ public class SysLoginController
 
     private final ISysConfigService configService;
 
-    private final WxMaService wxMaService;
-
-    public SysLoginController(ISysUserService userService, IDzCardsService cardsService, ISysConfigService configService, WxMaService wxMaService) {
+    public SysLoginController(ISysUserService userService, IDzCardsService cardsService, ISysConfigService configService) {
         this.userService = userService;
         this.cardsService = cardsService;
         this.configService = configService;
-        this.wxMaService = wxMaService;
     }
 
     /**
@@ -92,43 +84,6 @@ public class SysLoginController
         return ajax;
     }
 
-    /**
-     * 微信登录方法
-     *
-     * @param body 登录信息
-     * @return 结果
-     */
-    @PostMapping("loginByCode")
-    @ApiOperation("微信登陆")
-    public AjaxResult loginByCode(@RequestBody JSONObject body)
-    {
-        String loginCode = body.getString("loginCode");
-        try {
-            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(loginCode);
-            String openId = sessionInfo.getOpenid();
-            return loginService.loginByCode(openId);
-        } catch (WxErrorException e) {
-            return AjaxResult.error("登陆失败: " + e.getMessage());
-        }
-    }
-
-    @PostMapping("bindOpenId")
-    @ApiOperation("绑定微信")
-    public AjaxResult bindOpenId(@RequestBody JSONObject body)
-    {
-        String loginCode = body.getString("loginCode");
-        String phoneCode = body.getString("phoneCode");
-        try {
-            WxMaJscode2SessionResult sessionInfo = wxMaService.getUserService().getSessionInfo(loginCode);
-            WxMaPhoneNumberInfo phoneNumberInfo = wxMaService.getUserService().getPhoneNumber(phoneCode);
-            String openid = sessionInfo.getOpenid();
-            String phoneNumber = phoneNumberInfo.getPhoneNumber();
-            return loginService.bindOpenId(openid, phoneNumber);
-        } catch (WxErrorException e) {
-            return AjaxResult.error("绑定失败: " + e.getMessage());
-        }
-    }
-
     /**
      * 获取用户信息
      *

+ 3 - 0
ie-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java

@@ -100,6 +100,9 @@ public class SysLoginService
 
     public AjaxResult loginByCode(String openId) {
         SysUser u = userService.selectUserByOpenId(openId);
+        if(null == u) {
+            return new AjaxResult(ErrorCodes.UnRegister.getCode(), "账号不存在", openId);
+        }
         return loginByUserAndPass("front", u.getUserName(), u.getPassword2());
     }