zouxuan 5 năm trước cách đây
mục cha
commit
ee7839ee97

+ 3 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java

@@ -54,9 +54,9 @@ public class ExamRegistrationController extends BaseController {
             }
             queryInfo.setOrganId(employee.getOrganId());
         }*/
-        if(queryInfo.getOrganId() != null){
-            queryInfo.setOrganIds(organizationService.getChildOrganIds(queryInfo.getOrganId(),true));
-        }
+//        if(queryInfo.getOrganId() != null){
+//            queryInfo.setOrganIds(organizationService.getChildOrganIds(queryInfo.getOrganId(),true));
+//        }
         return succeed(examRegistrationService.queryExamRegistrationStudents(queryInfo));
     }
 

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

@@ -47,11 +47,23 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	void delEmployeeRole(Integer userId);
 
 	/**
+	 * 删除用户角色
+	 * @param userIds
+	 */
+	void batchDelEmployeeRole(@Param("userIds") List<Integer> userIds);
+
+	/**
 	 * 批量新增用户角色
 	 * @param id
 	 * @param roles
 	 */
 	void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") Set<Integer> roles);
+	/**
+	 * 批量新增用户角色
+	 * @param userIds
+	 * @param roles
+	 */
+	void batchAddEmployeeRoles(@Param("userIds") List<Integer> userIds, @Param("roles") Set<Integer> roles);
 
 	/**
 	 * 获取用户角色列表

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

@@ -10,8 +10,10 @@ 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.dao.EmployeeDao;
+import com.keao.edu.user.dao.OrganizationDao;
 import com.keao.edu.user.dao.SysUserDao;
 import com.keao.edu.user.entity.Employee;
+import com.keao.edu.user.entity.Organization;
 import com.keao.edu.user.service.EmployeeService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,7 +21,9 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 @Service
 public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> implements EmployeeService {
@@ -27,6 +31,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 	@Autowired
 	private EmployeeDao employeeDao;
 	@Autowired
+	private OrganizationDao organizationDao;
+	@Autowired
 	private ImFeignService imFeignService;
 	@Autowired
 	private SysUserDao sysUserDao;
@@ -118,10 +124,21 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 			}
 		}
 		employeeDao.update(employee);
-		//删除当前用户角色
-		sysUserDao.delEmployeeRole(sysUser.getId());
-		//新增用户角色
-		sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+
+		Organization organization = organizationDao.findByUserId(employee.getUserId());
+		if(organization != null){
+			List<Organization> childOrgans = organizationDao.getChildOrgans(organization.getParentOrganIdTag());
+			childOrgans.add(organization);
+			List<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+
+			sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
+			if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+				sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
+			}
+		}else {
+			sysUserDao.delEmployeeRole(sysUser.getId());
+			sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+		}
 		sysUserDao.update(sysUser);
 		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 	}

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

@@ -28,6 +28,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 @Service
 public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organization> implements OrganizationService {
@@ -162,17 +163,18 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		}
 		sysUser.setRealName(organization.getName());
 		sysUser.setPhone(organization.getContactPhone());
+		organization.setUserId(organization1.getUserId());
 		organDao.update(organization);
 
-		organDao.getChildOrgans(organization.getParentOrganIdTag());
-		//删除当前用户角色
-		sysUserDao.delEmployeeRole(sysUser.getId());
-		//新增用户角色
+		List<Organization> childOrgans = organDao.getChildOrgans(organization.getParentOrganIdTag());
+		childOrgans.add(organization);
+		List<Integer> userIds = childOrgans.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+
+		sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
 		if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
-			sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
-			//删除当前用户以及子集用户角色
-			//新增当前用户和子集用户角色
+			sysUserDao.batchAddEmployeeRoles(userIds,sysUser.getRoles());
 		}
+
 		sysUserDao.update(sysUser);
 		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 	}
@@ -203,7 +205,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	public List<Organization> getChildOrgans(Integer organId) {
 		Organization organization = organDao.get(organId);
 		if(Objects.isNull(organization)){
-			throw new BizException("当前声部不存在");
+			throw new BizException("合作单位不存在");
 		}
 		List<Organization> selfAndChildOrgans = organDao.getChildOrgans(organization.getParentOrganIdTag());
 		if(null == selfAndChildOrgans){

+ 0 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/StudentServiceImpl.java

@@ -14,9 +14,7 @@ import com.keao.edu.user.dao.StudentDao;
 import com.keao.edu.user.dao.StudentExamResultDao;
 import com.keao.edu.user.dao.SysUserDao;
 import com.keao.edu.user.dto.StudentExamPaymentDto;
-import com.keao.edu.user.entity.Organization;
 import com.keao.edu.user.page.StudentApplyQueryInfo;
-import com.keao.edu.user.service.OrganizationService;
 import com.keao.edu.user.service.StudentService;
 import com.keao.edu.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -44,8 +42,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     @Autowired
     private StudentExamResultDao studentExamResultDao;
     @Autowired
-    private OrganizationService organizationService;
-    @Autowired
     private ImFeignService imFeignService;
 
     @Override

+ 0 - 6
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -138,12 +138,6 @@
 
 	<sql id="queryCondition">
 		<where>
-			<if test="organIds!=null">
-				AND er.organ_id_ IN
-				<foreach collection="organIds" item="organId" separator="," open="(" close=")">
-					#{organId}
-				</foreach>
-			</if>
 			<if test="examId!=null">
 				AND er.examination_basic_id_ = #{examId}
 			</if>

+ 14 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -198,9 +198,23 @@
             (#{userId},#{item})
         </foreach>
     </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>
+        </foreach>
+    </insert>
 
     <delete id="delEmployeeRole">
         DELETE FROM sys_user_role WHERE user_id_ = #{userId}
     </delete>
+    <delete id="batchDelEmployeeRole">
+        DELETE FROM sys_user_role WHERE user_id_ IN
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+    </delete>
 
 </mapper>