Przeglądaj źródła

角色权限调整

zouxuan 3 lat temu
rodzic
commit
9542e16b24

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -40,6 +40,7 @@ import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.IndexDataType.*;
 import static com.ym.mec.biz.dal.enums.IndexErrorType.WAIT_CREATE_PAYMENT_CALENDER;
+import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATION;
 
 @Service
 public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBaseMonthData> implements IndexBaseMonthDataService {
@@ -790,11 +791,11 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		Date date = new Date();
 
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
+		Boolean onlyForRole = employeePositionService.onlyForRole(EDUCATION, sysUser.getId(), sysUser.getIsSuperAdmin());
 		//如果当前用户只有教务老师角色,那么只能看到他所管理的课程组的信息
 		List<Long> classGroupIds = null;
 		Integer educationUserId = null;
-		if (!sysUser.getIsSuperAdmin() && userRole.size() == 1 && userRole.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+		if (onlyForRole) {
 			//获取教务老师关联的班级列表
 			classGroupIds = classGroupDao.queryGroupClassGroupIds(sysUser.getId());
 			educationUserId = sysUser.getId();

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexErrDataRecordServiceImpl.java

@@ -11,10 +11,12 @@ import com.ym.mec.biz.dal.dto.TeacherVisitDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.IndexErrorType;
 import com.ym.mec.biz.dal.enums.InspectionItemEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
 import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.IndexErrRecordQueryInfo;
 import com.ym.mec.biz.dal.page.InspectionItemPlanQueryInfo;
 import com.ym.mec.biz.dal.page.InspectionQueryInfo;
+import com.ym.mec.biz.service.SysEmployeePositionService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -66,6 +68,8 @@ public class IndexErrDataRecordServiceImpl extends BaseServiceImpl<Long, IndexEr
 	private PracticeGroupDao practiceGroupDao;
 	@Autowired
 	private OrganizationDao organizationDao;
+	@Autowired
+	private SysEmployeePositionService employeePositionService;
 
 	@Override
 	public BaseDAO<Long, IndexErrDataRecord> getDAO() {
@@ -400,14 +404,15 @@ public class IndexErrDataRecordServiceImpl extends BaseServiceImpl<Long, IndexEr
 	@Override
 	public PageInfo<CourseScheduleEndDto> queryHistoryErrCourseData(EndCourseScheduleQueryInfo queryInfo) {
 		PageInfo<CourseScheduleEndDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+
 		Map<String, Object> params = new HashMap<>(16);
 		MapUtil.populateMap(params, queryInfo);
 
 		List<CourseScheduleEndDto> results;
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
 		//如果当前用户只有教务老师角色,那么只能看到他所管理的课程组的信息
-		if (!sysUser.getIsSuperAdmin() && userRole.size() == 1 && userRole.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+		Boolean onlyForRole = employeePositionService.onlyForRole(SysUserRoleEnum.EDUCATION, sysUser.getId(), sysUser.getIsSuperAdmin());
+		if (onlyForRole) {
 			List<Long> classGroupIds = classGroupDao.queryGroupClassGroupIds(sysUser.getId());
 			if(classGroupIds.size() == 0){
 				return pageInfo;

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -186,6 +186,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private SysCouponCodeService sysCouponCodeService;
     @Autowired
     private SendSeoMessageSource sendSeoMessageSource;
+    @Autowired
+    private SysEmployeePositionService employeePositionService;
 
     private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -1936,7 +1938,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupQuit.setIsVisit(reqMusicGroupQuit.getIsVisit());
         musicGroupQuit.setVisitTime(reqMusicGroupQuit.getVisitTime());
         musicGroupQuit.setStatus(PROCESSING);
-        musicGroupQuit.setCurrentApproveRole(SysUserRole.EDUCATIONAL_TEACHER + "");
+        musicGroupQuit.setCurrentApproveRole(SysUserRoleEnum.EDUCATION + "");
 
         if (currentOperatorRoleIds != null && currentOperatorRoleIds.size() > 0) {
             if (!currentOperatorRoleIds.contains(SysUserRoleEnum.ORGAN_MANAGER) && currentOperatorRoleIds.contains(SysUserRoleEnum.EDUCATION)) {
@@ -3087,8 +3089,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         PageInfo<MusicGroup> musicGroupPageInfo;
         //待创建缴费项目提醒
         if ("WAIT_CREATE_PAYMENT_CALENDER".equals(queryInfo.getSearchType())) {
+            Boolean onlyForRole = employeePositionService.onlyForRole(SysUserRoleEnum.EDUCATION, sysUser.getId(), sysUser.getIsSuperAdmin());
             Integer educationUserId = null;
-            if (!sysUser.getIsSuperAdmin() && roles.size() == 1 && roles.contains(SysUserRole.EDUCATIONAL_TEACHER)) {
+            if (onlyForRole) {
                 educationUserId = sysUser.getId();
             }
             //获取关联的乐团列表

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java

@@ -2,7 +2,10 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.OrganizationDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.entity.Teacher;

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.*;
@@ -104,6 +105,8 @@ public class StudentManageServiceImpl implements StudentManageService {
     private ActivityUserMapperDao activityUserMapperDao;
     @Autowired
     private SysTenantConfigService sysTenantConfigService;
+    @Autowired
+    private SysEmployeePositionService employeePositionService;
 
     @Override
     public PageInfo<StudentManageListDto> findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
@@ -925,6 +928,17 @@ public class StudentManageServiceImpl implements StudentManageService {
         String currentMonth = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
         params.put("totalMonth", totalMonth);
         params.put("currentMonth", currentMonth);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        //当前用户是否是分部经理
+        Boolean onlyForRole = employeePositionService.onlyForRole(SysUserRoleEnum.EDUCATION,sysUser.getId(),sysUser.getIsSuperAdmin());
+        if (onlyForRole) {
+            //获取教务老师关联的班级列表
+            List<Long> classGroupIds = classGroupDao.queryGroupClassGroupIds(sysUser.getId());
+            if(classGroupIds == null || classGroupIds.size() == 0){
+                return pageInfo;
+            }
+            params.put("classGroupIds", classGroupIds);
+        }
         params.put("studentErrorLeaveNum",studentErrorLeaveNum);
         int count = indexBaseMonthDataDao.countStudentErrorLeave1(params);
         List<StudentErrorLeaveDto> dataList = new ArrayList<>();

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysEmployeePositionServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.service.impl;
 
-import com.mysql.cj.xdevapi.Collection;
 import com.ym.mec.biz.dal.dao.SysEmployeePositionDao;
 import com.ym.mec.biz.dal.dao.SysPositionDao;
 import com.ym.mec.biz.dal.dao.TenantInfoDao;

+ 14 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java

@@ -1,32 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
-import com.ym.mec.biz.event.source.SendSeoMessageSource;
-import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.entity.HttpResponseResult;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.TeacherLeaveRecordDao;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -36,15 +12,29 @@ import com.ym.mec.biz.dal.entity.TeacherLeaveRecord;
 import com.ym.mec.biz.dal.entity.TeacherLeaveRecord.CoursesScheduleHistory;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.SysUserRoleEnum;
+import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.TeacherLeaveRecordService;
+import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.json.JsonUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.EDUCATION;
 import static com.ym.mec.biz.dal.enums.SysUserRoleEnum.ORGAN_MANAGER;

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -53,7 +53,7 @@ public class StudentManageController extends BaseController {
     @GetMapping("/queryStudentErrorLeaveList")
     @PreAuthorize("@pcs.hasPermissions('studentManage/queryStudentErrorLeaveList')")
     public Object queryStudentErrorLeaveList(StudentErrorLeaveQueryInfo queryInfo){
-        queryInfo = organizationService.onlyEducationInitClassId(queryInfo);
+        queryInfo.setOrganIds(organizationService.getEmployeeOrgan(queryInfo.getOrganIds()));
         return succeed(studentManageService.queryStudentErrorLeaveList(queryInfo));
     }