فهرست منبع

获取用户基本信息

zouxuan 1 سال پیش
والد
کامیت
79b5f4401b

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

@@ -174,4 +174,6 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
     Integer getUnCompCourseNum(@Param("userId") Long userId);
 
     void updateLockStatus(@Param("userId")Long userId, @Param("lockFlag") Integer lockFlag, @Param("sysUserType")  String sysUserType);
+
+    Long getTenantByClient(@Param("userId") Long userId, @Param("clientId") String clientId);
 }

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -211,4 +211,7 @@ public interface SysUserService extends BaseService<Long, SysUser> {
      * @return SysUser
      */
     SysUser queryUserInfoWithIMToken(Long userId, EClientType clientType);
+
+    //根据用户类型获取机构编号
+    Long getTenantByClient(Long userId, String clientId);
 }

+ 5 - 9
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -378,17 +378,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         SysUser sysUser = sysUserDao.get(userId);
 
         if (EClientType.STUDENT == clientType && Objects.nonNull(sysUser)) {
-
             // 重新请求生成IM会话TOKEN
             try {
-
-                /*HttpResponseResult<Boolean> recv = teacherFeignService.userTeacherIdentityInfo(userId);
-
-                if (Objects.nonNull(recv) && recv.getData()) {
-                    // 同时一个手机号,拥手老师、学生身份时,为学生创建新的IMToken
-
-                }*/
-
                 String name = sysUser.getUsername();
                 if(StringUtils.isEmpty(name)){
                     name = sysUser.getRealName();
@@ -412,4 +403,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
 
         return sysUser;
     }
+
+    @Override
+    public Long getTenantByClient(Long userId, String clientId) {
+        return sysUserDao.getTenantByClient(userId,clientId);
+    }
 }

+ 8 - 13
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/web/controller/TokenController.java

@@ -93,29 +93,24 @@ public class TokenController extends BaseController {
     public SysUser queryUserInfo() {
         AuthUser authUser = SecurityUtils.getUser();
         if (authUser != null) {
-            return userService.get(authUser.getUserId());
+            SysUser sysUser = userService.get(authUser.getUserId());
+            sysUser.setTenantId(userService.getTenantByClient(authUser.getUserId(),authUser.getClientId()));
+            return sysUser;
         }
         return null;
     }
 
     @ApiOperation(value = "获取用户信息")
     @GetMapping("/api/queryUserInfo")
-    public Object apiQueryUserInfo(@RequestParam(value = "clientType", required = false, defaultValue = "TEACHER") String clientType) {
-
-        // 校验客户端类型
-        if (EClientType.invalid(clientType)) {
-            return failed("无效的客户端类型");
-        }
-
+    public Object apiQueryUserInfo() {
         AuthUser authUser = SecurityUtils.getUser();
         if (authUser != null) {
-            SysUser sysUser = userService.queryUserInfoWithIMToken(authUser.getUserId(), EClientType.valueOf(clientType));
-
+            SysUser sysUser = userService.queryUserInfoWithIMToken(authUser.getUserId(), EClientType.valueOf(authUser.getClientId()));
+            sysUser.setTenantId(userService.getTenantByClient(authUser.getUserId(),authUser.getClientId()));
             String imUserId = String.valueOf(sysUser.getId());
-            if (EClientType.STUDENT.match(clientType)) {
-                imUserId = MessageFormat.format("{0}:{1}",imUserId, clientType);
+            if (EClientType.STUDENT.match(authUser.getClientId())) {
+                imUserId = MessageFormat.format("{0}:{1}",imUserId, authUser.getClientId());
             }
-
             // 封装返回参数
             return succeed(JSON.parseObject(JSON.toJSONString(sysUser), SysUserVo.class).imUserId(imUserId));
         }

+ 15 - 0
cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -304,6 +304,21 @@
         where cs.teacher_id_ = #{userId}
           and status_ in ('NOT_START','ING')
     </select>
+    <select id="getTenantByClient" resultType="java.lang.Long">
+        select * from
+        <choose>
+            <when test="clientId == 'STUDENT'">
+                student
+            </when>
+            <when test="clientId == 'TEACHER'">
+                teacher
+            </when>
+            <when test="clientId == 'SYSTEM'">
+                employee
+            </when>
+        </choose>
+        where user_id_ = #{userId}
+    </select>
 
     <update id="updateLockStatus">
         <if test="sysUserType == 'STUDENT'">