zouxuan 5 years ago
parent
commit
bdd15f2c88

+ 15 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -56,10 +57,12 @@ public class BaseAuthenticationSuccessEventHandler extends SavedRequestAwareAuth
 	private ObjectMapper objectMapper;
 	@Autowired
 	private ImFeignService imFeignService;
-	
 	@Autowired
 	private ClientDetailsService clientDetailsService;
 
+	@Value("${message.lesseeOrganId}")
+	private Integer lesseeOrganId;
+
 	@Autowired
 	private AuthorizationServerTokenServices defaultAuthorizationServerTokenServices;
 
@@ -128,6 +131,17 @@ 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("isLessee",false);
+			if("TEACHER".equals(clientId.toUpperCase())){
+				Integer organId = sysUserService.getTeacherOrganId(sysUser.getId());
+				if(organId != null && organId == lesseeOrganId){
+					map.put("isLessee",true);
+				}
+			}else if("STUDENT".equals(clientId.toUpperCase())){
+				if(sysUser.getOrganId() == lesseeOrganId){
+					map.put("isLessee",true);
+				}
+			}
 			response.setContentType("application/json; charset=utf-8");
 			HttpResponseResult result = new HttpResponseResult(true, HttpStatus.OK.value(), map, "");
 			response.getWriter().write(objectMapper.writeValueAsString(result));

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -59,4 +59,11 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @param lesseeOrganId
 	 */
 	void insertTeacher(@Param("userId") Integer userId, @Param("lesseeOrganId") Integer lesseeOrganId);
+
+	/**
+	 * 获取教师分部编号
+	 * @param userId
+	 * @return
+	 */
+	Integer getTeacherOrganId(Integer userId);
 }

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -83,4 +83,11 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	 * @return
 	 */
 	SysUserInfo initUser(String phone,String clientId,String isRegister,String isLessee);
+
+	/**
+	 * 获取老师的分部编号
+	 * @param userId
+	 * @return
+	 */
+	Integer getTeacherOrganId(Integer userId);
 }

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -148,6 +148,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"TEACHER")){
 			SysUser sysUser = new SysUser();
 			sysUser.setPhone(phone);
+			sysUser.setRealName(phone);
 			sysUser.setUserType("TEACHER");
 			sysUserDao.insert(sysUser);
 			//添加用户现金账户
@@ -159,6 +160,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		}else if(StringUtils.isNotEmpty(isLessee) && StringUtils.equalsIgnoreCase(clientId,"STUDENT")){
 			SysUser sysUser = new SysUser();
 			sysUser.setPhone(phone);
+			sysUser.setUsername(phone);
 			sysUser.setUserType("STUDENT");
 			sysUser.setOrganId(lesseeOrganId);
 			sysUserDao.insert(sysUser);
@@ -192,4 +194,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		throw new UsernameNotFoundException("404.9");
 	}
 
+	@Override
+	public Integer getTeacherOrganId(Integer userId) {
+		return sysUserDao.getTeacherOrganId(userId);
+	}
+
 }

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -192,4 +192,7 @@
     <select id="findUserBySalt" resultMap="SysUser">
         SELECT * FROM sys_user WHERE salt_ IS NOT NULL AND salt_ = 'replace' AND user_type_ LIKE CONCAT('%',#{userType},'%') LIMIT 1
     </select>
+    <select id="getTeacherOrganId" resultType="java.lang.Integer">
+        SELECT organ_id_ FROM teacher WHERE id_ = #{userId}
+    </select>
 </mapper>