Eric пре 1 година
родитељ
комит
bb1444574d

+ 0 - 4
cooleshow-auth/auth-api/src/main/java/com/yonge/cooleshow/auth/api/entity/WxConfigInfo.java

@@ -24,10 +24,6 @@ public class WxConfigInfo implements Serializable {
     @TableId(value = "id")
     private Long id;
 
-    @ApiModelProperty("学校ID")
-	@TableField(value = "school_id")
-    private Long schoolId;
-
     @ApiModelProperty("公众号名称")
 	@TableField(value = "mp_name")
     private String mpName;

+ 18 - 21
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -82,6 +82,7 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                 throw new BadCredentialsException("小程序授权失败,请联系管理员");
             }
 
+            String openid;
             try {
                 // 校验请求jscode的合法
                 WxMaJscode2SessionResult sessionret = wxMaService.getUserService().getSessionInfo(smsCode);
@@ -90,34 +91,30 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                     log.warn("genRequestAuthorityTokenInfo JSCODE, ret={}", JSON.toJSONString(sessionret));
                     throw new BadCredentialsException("小程序授权失败,请重新授权");
                 }
-
                 // 用户openid
-                String openid = sessionret.getOpenid();
-                // 用户关联ID
-                // String unionid = sessionret.getUnionid();
-
-                // 根据用户授权openid,查询机构员工绑定信息
-                SysUser sysUser = sysUserService.getSysUserByOpenId(openid);
-                if (Objects.isNull(sysUser)) {
-                    throw new BizException("用户不存在");
-                }
-
-                // 重置登陆账号信息
-                username = SecurityConstants.PHONE_PRINCIPAL_PREFIX + sysUser.getPhone();
-
-                String clientId = loginEntity.getClientId();
-                String deviceNum = loginEntity.getDeviceNum();
-
-                // 绑定设备
-                if (StringUtils.isNotBlank(deviceNum)) {
-                    sysUserDeviceService.bindDevice(clientId, sysUser.getId(), deviceNum);
-                }
+                openid = sessionret.getOpenid();
 
             } catch (Exception e) {
                 log.error("genRequestAuthorityTokenInfo WX_OAUTH2, appid={}, jscode={}", phone, smsCode, e);
                 throw new BadCredentialsException("小程序授权已失效,请重新登陆");
             }
 
+            String clientId = loginEntity.getClientId();
+            String deviceNum = loginEntity.getDeviceNum();
+            // 根据用户授权openid,查询机构员工绑定信息
+            SysUser sysUser = sysUserService.getSysUserByOpenId(openid, clientId);
+            if (Objects.isNull(sysUser)) {
+                throw new BizException("用户不存在");
+            }
+
+            // 重置登陆账号信息
+            username = SecurityConstants.PHONE_PRINCIPAL_PREFIX + sysUser.getPhone();
+
+            // 绑定设备
+            if (StringUtils.isNotBlank(deviceNum)) {
+                sysUserDeviceService.bindDevice(clientId, sysUser.getId(), deviceNum);
+            }
+
         } else {
 
             // 其他登陆方式

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java

@@ -174,5 +174,5 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
 
     Long getTenantByClient(@Param("userId") Long userId, @Param("clientId") String clientId);
 
-    SysUser getSysUserByOpenId(@Param("openId") String openId);
+    SysUser getSysUserByOpenId(@Param("openId") String openId, @Param("clientId") String clientId);
 }

+ 2 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -216,7 +216,8 @@ public interface SysUserService extends BaseService<Long, SysUser> {
     /**
      * 根据openId获取用户信息
      * @param openId 用户openId
+     * @param clientId 客户端ID
      * @return SysUser
      */
-    SysUser getSysUserByOpenId(String openId);
+    SysUser getSysUserByOpenId(String openId, String clientId);
 }

+ 3 - 2
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -412,10 +412,11 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
      * 根据openId获取用户信息
      *
      * @param openId 用户openId
+     * @param clientId 客户端ID
      * @return SysUser
      */
     @Override
-    public SysUser getSysUserByOpenId(String openId) {
-        return null;
+    public SysUser getSysUserByOpenId(String openId, String clientId) {
+        return sysUserDao.getSysUserByOpenId(openId, clientId);
     }
 }

+ 0 - 1
cooleshow-auth/auth-server/src/main/resources/config/mybatis/WxConfigInfoMapper.xml

@@ -7,7 +7,6 @@
     <!-- 表字段 -->
     <sql id="baseColumns">
          t.id AS id
-        , t.school_id AS schoolId
         , t.mp_name AS mpName
         , t.appid AS appid
         , t.secret AS secret