zouxuan 5 years ago
parent
commit
4ba66f471f

+ 3 - 5
edu-auth/edu-auth-api/src/main/java/com/keao/edu/auth/api/entity/SysUser.java

@@ -5,8 +5,6 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
-import java.util.Set;
 
 /**
  * 对应数据库表(sys_user):
@@ -95,7 +93,7 @@ public class SysUser implements Serializable{
 	private Boolean isSuperAdmin = false;
 
 	@ApiModelProperty(value = "用户角色",required = false)
-	private Set<Integer> roles;
+	private Integer roles;
 
 //	private String tenantId;
 
@@ -299,11 +297,11 @@ public class SysUser implements Serializable{
 		this.isSuperAdmin = isSuperAdmin;
 	}
 
-	public Set<Integer> getRoles() {
+	public Integer getRoles() {
 		return roles;
 	}
 
-	public void setRoles(Set<Integer> roles) {
+	public void setRoles(Integer roles) {
 		this.roles = roles;
 	}
 

+ 4 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SysUserDao.java

@@ -57,20 +57,20 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @param id
 	 * @param roles
 	 */
-	void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") Set<Integer> roles);
+	void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") Integer roles);
 	/**
 	 * 批量新增用户角色
 	 * @param userIds
 	 * @param roles
 	 */
-	void batchAddEmployeeRoles(@Param("userIds") List<Integer> userIds, @Param("roles") Set<Integer> roles);
+	void batchAddEmployeeRoles(@Param("userIds") List<Integer> userIds, @Param("roles") Integer roles);
 
 	/**
-	 * 获取用户角色列表
+	 * 获取用户角色
 	 * @param userId
 	 * @return
 	 */
-    Set<Integer> queryRoleIds(Integer userId);
+	Integer queryRoleIds(Integer userId);
 
 	/**
 	 * 修改userType

+ 1 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/TenantInfoDao.java

@@ -11,6 +11,7 @@ import java.util.Map;
 public interface TenantInfoDao extends BaseDAO<Integer, TenantInfo> {
 
     List<TenantInfoDto> queryTenants(Map<String, Object> params);
+
     int countTenants(Map<String, Object> params);
 
     /**

+ 3 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/TenantInfoDto.java

@@ -8,15 +8,15 @@ import com.keao.edu.user.entity.TenantInfo;
  */
 public class TenantInfoDto extends TenantInfo {
 
-    private String roleIds;
+    private Integer roleIds;
 
     private String roleNames;
 
-    public String getRoleIds() {
+    public Integer getRoleIds() {
         return roleIds;
     }
 
-    public void setRoleIds(String roleIds) {
+    public void setRoleIds(Integer roleIds) {
         this.roleIds = roleIds;
     }
 

+ 3 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/EmployeeServiceImpl.java

@@ -81,7 +81,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 				}else {
 					sysUser.setUserType(sysUser1.getUserType() + ",SYSTEM");
 				}
-				if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+				if(sysUser.getRoles() != null){
 					sysUserDao.batchAddEmployeeRole(sysUser1.getId(),sysUser.getRoles());
 				}
 				sysUser.setId(sysUser1.getId());
@@ -131,7 +131,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 			List<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toList());
 
 			sysUserDao.batchDelEmployeeRole(userIds);
-			if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+			if(sysUser.getRoles() != null){
 				sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
 			}
 		}else {
@@ -169,7 +169,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 	public Employee getEmployee(Integer id) {
 		Employee employee = employeeDao.get(id);
 		SysUser sysUser = employee.getSysUser();
-		Set<Integer> roleIds = sysUserDao.queryRoleIds(sysUser.getId());
+        Integer roleIds = sysUserDao.queryRoleIds(sysUser.getId());
 		sysUser.setRoles(roleIds);
 		return employee;
 	}

+ 5 - 5
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -87,7 +87,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 				organ.setUserId(user.getId());
 				organDao.insert(organ);
 				//新增用户角色
-				if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+				if(sysUser.getRoles() != null){
 					sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
 				}
 				if(!user.getUserType().contains("SYSTEM")){
@@ -105,7 +105,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 				}
 				sysUser.setId(sysUser1.getId());
 				sysUserDao.update(sysUser);
-				if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+				if(sysUser.getRoles() != null){
 					sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 				}
 				Employee employee = employeeDao.get(sysUser.getId());
@@ -131,7 +131,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		organDao.insert(organ);
 		//新增用户角色
 		sysUserDao.delEmployeeRole(sysUser.getId());
-		if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+		if(sysUser.getRoles() != null){
 			sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 		}
 		Employee employee = new Employee();
@@ -170,7 +170,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		List<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toList());
 
 		sysUserDao.batchDelEmployeeRole(userIds);
-		if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+		if(sysUser.getRoles() != null){
 			sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
 		}
 
@@ -264,7 +264,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	public Organization getOrganization(Integer id) {
 		Organization organization = organDao.get(id);
 		SysUser sysUser = organization.getSysUser();
-		Set<Integer> roleIds = sysUserDao.queryRoleIds(organization.getUserId());
+		Integer roleIds = sysUserDao.queryRoleIds(organization.getUserId());
 		sysUser.setRoles(roleIds);
 		return organization;
 	}

+ 6 - 6
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/TenantInfoServiceImpl.java

@@ -69,9 +69,9 @@ public class TenantInfoServiceImpl extends BaseServiceImpl<Integer, TenantInfo>
 		sysUser.setAvatar(tenantInfo.getLogoUrl());
 		sysUser.setPhone(tenantInfo.getContactPhone());
 		sysUserDao.insert(sysUser);
-		if(StringUtils.isNotBlank(tenantInfo.getRoleIds())){
-			Set<Integer> roleIds = Arrays.stream(tenantInfo.getRoleIds().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toSet());
-			sysUserDao.batchAddEmployeeRole(sysUser.getId(), roleIds);
+		if(tenantInfo.getRoleIds() != null){
+//			Set<Integer> roleIds = Arrays.stream(tenantInfo.getRoleIds().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toSet());
+			sysUserDao.batchAddEmployeeRole(sysUser.getId(), tenantInfo.getRoleIds());
 		}
 
 		Organization organ=new Organization();
@@ -109,13 +109,13 @@ public class TenantInfoServiceImpl extends BaseServiceImpl<Integer, TenantInfo>
 		if(Objects.isNull(sysUser)){
 			throw new BizException("机构账户不存在");
 		}
-		if(StringUtils.isNotBlank(newTenantInfo.getRoleIds())){
+		if(newTenantInfo.getRoleIds() != null){
 
-			Set<Integer> roleIds = Arrays.stream(newTenantInfo.getRoleIds().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toSet());
+//			Set<Integer> roleIds = Arrays.stream(newTenantInfo.getRoleIds().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toSet());
 			//删除当前用户角色
 			sysUserDao.delEmployeeRole(sysUser.getId());
 			//新增用户角色
-			sysUserDao.batchAddEmployeeRole(sysUser.getId(),roleIds);
+			sysUserDao.batchAddEmployeeRole(sysUser.getId(),newTenantInfo.getRoleIds());
 		}
 		if(StringUtils.isNotBlank(newTenantInfo.getContactName())){
 			sysUser.setRealName(newTenantInfo.getContactName());

+ 3 - 9
edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -189,21 +189,15 @@
     <select id="queryRoleIds" resultType="java.lang.Integer">
         SELECT sur.role_id_ FROM employee e
 		LEFT JOIN sys_user_role sur ON e.user_id_ = sur.user_id_
-		WHERE e.user_id_ = #{userId}
+		WHERE e.user_id_ = #{userId} LIMIT 1
     </select>
 
     <insert id="batchAddEmployeeRole">
-        INSERT INTO sys_user_role(user_id_,role_id_) values
-        <foreach collection="roles" item="item" index="index" separator=",">
-            (#{userId},#{item})
-        </foreach>
+        INSERT INTO sys_user_role(user_id_,role_id_) VALUES (#{userId},#{roles})
     </insert>
     <insert id="batchAddEmployeeRoles">
         <foreach collection="userIds" item="userId" separator=";">
-            INSERT INTO sys_user_role(user_id_,role_id_) values
-            <foreach collection="roles" item="item" index="index" separator=",">
-                (#{userId},#{item})
-            </foreach>
+            INSERT INTO sys_user_role(user_id_,role_id_) values VALUES (#{userId},#{roles})
         </foreach>
     </insert>
 

+ 2 - 2
edu-user/edu-user-server/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -102,8 +102,8 @@
 	<select id="queryTenants" resultMap="TenantInfoDto" parameterType="map">
 		SELECT
 			ti.*,
-			GROUP_CONCAT(sr.id_) role_ids_,
-			GROUP_CONCAT(sr.role_name_) role_names_
+			GROUP_CONCAT(DISTINCT sr.id_) role_ids_,
+			GROUP_CONCAT(DISTINCT sr.role_name_) role_names_
 		FROM tenant_info ti
 		LEFT JOIN sys_user su ON ti.contact_phone_ = su.phone_
 		LEFT JOIN sys_user_role sur ON sur.user_id_ = su.id_