zouxuan 5 سال پیش
والد
کامیت
7b7e5d65f8

+ 2 - 2
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -12,6 +12,7 @@ import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.im.api.client.ImFeignService;
 import com.keao.edu.im.api.entity.ImResult;
 import com.keao.edu.im.api.entity.ImUserModel;
+import com.keao.edu.user.api.client.EduUserFeignService;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -122,8 +123,7 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 			Map<String,Object> map = new HashMap<>(3);
 			map.put("password", StringUtils.isEmpty(sysUser.getPassword())?false:true);
 			map.put("authentication",oAuth2AccessToken);
-
-			map.put("tenantId", sysUser.getTenantId());
+			map.put("tenantId", sysUserService.queryUserTenantId(clientId,sysUser.getId()));
 
 			response.setContentType("application/json; charset=utf-8");
 			HttpResponseResult result = new HttpResponseResult(true, HttpStatus.OK.value(), map, "");

+ 4 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/dal/dao/SysUserDao.java

@@ -58,4 +58,8 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @return
 	 */
 	ImUserModel getBasic(Integer userId);
+
+    Integer getEmployeeTenantId(Integer userId);
+
+	Integer getTeacherTenantId(Integer userId);
 }

+ 7 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/SysUserService.java

@@ -103,4 +103,11 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 */
 	void initUser(LoginEntity loginEntity);
 
+	/**
+	 * 获取用户tenantId
+	 * @param clientId
+	 * @param id
+	 * @return
+	 */
+	Integer queryUserTenantId(String clientId, Integer id);
 }

+ 10 - 0
edu-auth/edu-auth-server/src/main/java/com/keao/edu/auth/service/impl/SysUserServiceImpl.java

@@ -152,4 +152,14 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		}
 	}
 
+	@Override
+	public Integer queryUserTenantId(String clientId, Integer userId) {
+		if(StringUtils.equalsIgnoreCase(clientId,"SYSTEM")){
+			return sysUserDao.getEmployeeTenantId(userId);
+		}else if(StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
+			return sysUserDao.getTeacherTenantId(userId);
+		}
+		return null;
+	}
+
 }

+ 6 - 0
edu-auth/edu-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -188,5 +188,11 @@
         select CASE WHEN real_name_ IS NULL OR real_name_ = '' THEN username_ ELSE real_name_ END username_,id_,avatar_
         from sys_user where id_ = #{userId} LIMIT 1
     </select>
+    <select id="getEmployeeTenantId" resultType="java.lang.Integer">
+        SELECT e.tenant_id_ FROM employee e WHERE e.user_id_ = #{userId} LIMIT 1
+    </select>
+    <select id="getTeacherTenantId" resultType="java.lang.Integer">
+        SELECT t.tenant_id_ FROM teacher t WHERE t.user_id_ = #{userId} LIMIT 1
+    </select>
 
 </mapper>