瀏覽代碼

活动排课

zouxuan 3 年之前
父節點
當前提交
25c7fc0a95

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityWaitCourseStudentNumDto.java

@@ -22,6 +22,17 @@ public class ActivityWaitCourseStudentNumDto{
 
     private Integer userId;
 
+    //活动和员工的分部
+    private String employeeAndActivityOrganIds;
+
+    public String getEmployeeAndActivityOrganIds() {
+        return employeeAndActivityOrganIds;
+    }
+
+    public void setEmployeeAndActivityOrganIds(String employeeAndActivityOrganIds) {
+        this.employeeAndActivityOrganIds = employeeAndActivityOrganIds;
+    }
+
     public String getPhone() {
         return phone;
     }

+ 92 - 144
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1202,9 +1202,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		}
 		Boolean giveFlag = vipGroup.getGiveFlag();
 		List<Integer> studentIdList = Arrays.stream(studentIds.split(",")).map(id->Integer.valueOf(id)).collect(Collectors.toList());
-		if(studentIdList.size() > vipGroupCategory.getStudentNum()){
-			throw new BizException("{}课程最多支持{}人",vipGroupCategory.getName(),vipGroupCategory.getStudentNum());
+		if(!vipGroupCategory.getMusicTheory()){
+			if(studentIdList.size() != vipGroupCategory.getStudentNum()){
+				throw new BizException("学员数量异常");
+			}
+		}else {
+			if(studentIdList.size() > vipGroupCategory.getStudentNum()){
+				throw new BizException("{}课程最多支持{}人",vipGroupCategory.getName(),vipGroupCategory.getStudentNum());
+			}
 		}
+
 		//获取学员排课资格
 		List<ActivityUserMapper> activityUserMappers = activityUserMapperService.findByStudentIdList(activity.getId(),studentIds,giveFlag?"GIVE_VIP":"VIP");
 		if(studentIdList.size() != activityUserMappers.size()){
@@ -2774,94 +2781,59 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				//生成课表
 				List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
 				classGroup.setTotalClassTimes(courseSchedules.size());
-				int courseNum = courseScheduleDao.countVipGroupCourses(vipGroup.getId().intValue(),"VIP");
-
-				if(courseNum == 0){
-					courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
-					courseScheduleService.batchAddCourseSchedule(courseSchedules);
-
-					//考勤信息
-					List<TeacherAttendance> teacherAttendances = new ArrayList<>();
-					//创建课酬信息
-					List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
-					ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId());
-					for (CourseSchedule courseSchedule : courseSchedules) {
-						//创建教师课程薪水记录
-						CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
-						courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
-						courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
-						courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
-						courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
-						courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
-						courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
-						courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherSalary.getSalary());
-						courseScheduleTeacherSalary.setActualSalary(null);
-						courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
-
-						TeacherAttendance teacherAttendance = new TeacherAttendance();
-						teacherAttendance.setGroupType(courseSchedule.getGroupType());
-						teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
-						teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
-						teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
-						teacherAttendance.setCourseScheduleId(courseSchedule.getId());
-						teacherAttendances.add(teacherAttendance);
-					}
-					courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
-					teacherAttendanceDao.batchInsert(teacherAttendances);
-
-					//群聊数据
-					Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
-					if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
-						userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
-					}
-					userRoleMap.put(vipGroup.getUserId(),"指导老师");
-					//生成课程学员关联
-					List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
-					List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
-
-					List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-					for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
-						StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
-						//实际支付金额,去除优惠券
-						BigDecimal actualPrice = successOrder.getExpectAmount();
-						BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
-						BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
-						for (int i = 0; i < courseSchedules.size(); i++) {
-							CourseSchedule courseSchedule = courseSchedules.get(i);
-							CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
-							courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
-							courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
-							courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
-							courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
-							courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
-							if (i == 0) {
-								courseScheduleStudentPayment.setExpectPrice(firstAmount);
-							}else{
-								courseScheduleStudentPayment.setExpectPrice(divide);
-							}
-							courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode())?vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice():vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
-							courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
-							courseScheduleStudentPayments.add(courseScheduleStudentPayment);
-						}
-						userRoleMap.put(classGroupStudent.getUserId(),null);
-					}
-					studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
+				courseScheduleService.checkNewCourseSchedules(courseSchedules, false,false);
+				courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
-					courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+				//考勤信息
+				List<TeacherAttendance> teacherAttendances = new ArrayList<>();
+				//创建课酬信息
+				List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
+				ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), vipGroup.getUserId());
+				for (CourseSchedule courseSchedule : courseSchedules) {
+					//创建教师课程薪水记录
+					CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+					courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+					courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
+					courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
+					courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
+					courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
+					courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
+					courseScheduleTeacherSalary.setExpectSalary(classGroupTeacherSalary.getSalary());
+					courseScheduleTeacherSalary.setActualSalary(null);
+					courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+
+					TeacherAttendance teacherAttendance = new TeacherAttendance();
+					teacherAttendance.setGroupType(courseSchedule.getGroupType());
+					teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
+					teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
+					teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
+					teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+					teacherAttendances.add(teacherAttendance);
+				}
+				courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
+				teacherAttendanceDao.batchInsert(teacherAttendances);
 
-					imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
-					imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
-					imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
-				}else {
-					List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
+				//群聊数据
+				Map<Integer,String> userRoleMap = new HashMap<Integer, String>(5);
+				if(Objects.nonNull(vipGroup.getEducationalTeacherId())){
+					userRoleMap.put(vipGroup.getEducationalTeacherId(),"乐团主管");
+				}
+				userRoleMap.put(vipGroup.getUserId(),"指导老师");
+				//生成课程学员关联
+				List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
+				List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
+
+				List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+				for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
+					StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
 					//实际支付金额,去除优惠券
-					BigDecimal actualPrice = order.getExpectAmount();
+					BigDecimal actualPrice = successOrder.getExpectAmount();
 					BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
 					BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
 					for (int i = 0; i < courseSchedules.size(); i++) {
 						CourseSchedule courseSchedule = courseSchedules.get(i);
 						CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
-						courseScheduleStudentPayment.setUserId(order.getUserId());
+						courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
 						courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
 						courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
 						courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
@@ -2875,8 +2847,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 						courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 						courseScheduleStudentPayments.add(courseScheduleStudentPayment);
 					}
-					courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+					userRoleMap.put(classGroupStudent.getUserId(),null);
 				}
+				studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
+
+				courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+
+				imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), classGroup.getName(), vipGroup.getName(), null, null, GroupType.VIP.getCode());
+				imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
+				imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(),classGroup.getGroupType());
 			}
 			SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
 			//插入缴费明细
@@ -3442,14 +3421,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(CollectionUtils.isEmpty(userCourseInfos) && vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
             StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
             if(Objects.isNull(studentPaymentOrder)){
-                bigDecimal = new BigDecimal(0);
+                bigDecimal = ZERO;
             }else{
                 bigDecimal = studentPaymentOrder.getActualAmount().add(studentPaymentOrder.getBalancePaymentAmount());
             }
 			result.put("suplusCourseOriginalFee", bigDecimal);
         }else if(!CollectionUtils.isEmpty(userCourseInfos)){
-            BigDecimal historyPrice = new BigDecimal(0);
-            BigDecimal allPrice = new BigDecimal(0);
+            BigDecimal historyPrice = ZERO;
+            BigDecimal allPrice = ZERO;
             for (StudentCourseInfoDto userCourseInfo : userCourseInfos) {
                 allPrice = allPrice.add(userCourseInfo.getExpectPrice());
                 if(now.after(userCourseInfo.getStartClassTime())){
@@ -3457,8 +3436,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 }
             }
             bigDecimal = allPrice.subtract(historyPrice);
-            if(bigDecimal.longValue() < 0){
-                bigDecimal = new BigDecimal(0);
+            if(bigDecimal.compareTo(ZERO) < 0){
+                bigDecimal = ZERO;
             }
 			result.put("suplusCourseOriginalFee", allPrice);
         }else{
@@ -4053,12 +4032,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroupId, null);
 
-		if(classGroup.getStudentNum() > 0 && (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
-			int i = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupId.toString(), GroupType.VIP);
-			if(i > 0){
-				throw new BizException("已有学员购买了该课程组,无法添加,请走学员购买流程!");
-			}
+//		if(classGroup.getStudentNum() > 0 && (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus()))){
+		int num = studentPaymentOrderDao.countGroupOrderWithoutFailed(vipGroupId.toString(), GroupType.VIP);
+		if(num > 0){
+			throw new BizException("已有学员购买了该课程组,无法添加,请走学员购买流程!");
 		}
+//		}
 		
 		VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroup(vipGroup.getId());
 		if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
@@ -4189,19 +4168,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			return;
 		}
 
-		BigDecimal surplusCoursesPrice=new BigDecimal(0);
-		boolean hasGiveClass=false;
-		int onlineCourseTimes=0,
-			offlineCourseTimes=0,
-			onlineCourseTotalTimes=0,
-			offlineCourseTotalTimes=0,
-			giveClassTimes=0;
+		BigDecimal surplusCoursesPrice = new BigDecimal(0);
 
 		//生成学生单课缴费信息
 		for (Integer studentId:studentIds) {
-			offlineCourseTimes=0;
-			onlineCourseTimes=0;
-			surplusCoursesPrice=new BigDecimal(0);
+			surplusCoursesPrice = new BigDecimal(0);
 
 			if(studentCoursePriceMap.containsKey(studentId)){
 				VipGroupStudentCoursePrice vipGroupStudentCoursePrice = studentCoursePriceMap.get(studentId);
@@ -4213,23 +4184,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			for (int i = 0;i < surplusCourses.size();i++) {
 				CourseSchedule courseSchedule = surplusCourses.get(i);
 				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					offlineCourseTimes += 1;
-				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					onlineCourseTimes += 1;
-				}
-				if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
-					if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
-							&& offlineCourseTimes > (offlineCourseTotalTimes - giveClassTimes)){
-						continue;
-					}
-
-					if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
-						if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE) && onlineCourseTimes > (onlineCourseTotalTimes-giveClassTimes)){
-							continue;
-						}
-					}
-				}
-				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 					surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOfflineClassesUnitPrice());
 				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
 					surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
@@ -4244,42 +4198,36 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 			sysUserCashAccountService.subtractFromCourseBalanceAndBalance(studentId,surplusCoursesPrice,PlatformCashAccountDetailTypeEnum.PAY_FEE, "后台添加学员金额扣减");
 
-			List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
+			List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
 
-			offlineCourseTimes = 0;
-			onlineCourseTimes = 0;
-			for (CourseSchedule vipGroupCourseSchedule : surplusCourses) {
-				if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					offlineCourseTimes += 1;
-				}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					onlineCourseTimes += 1;
-				}
+			//实际支付金额,去除优惠券
+			BigDecimal divide = ZERO;
+			BigDecimal firstAmount = ZERO;
+
+			if(surplusCoursesPrice.compareTo(ZERO) > 0){
+				divide = surplusCoursesPrice.divide(new BigDecimal(surplusCourses.size()), ROUND_DOWN);
+				firstAmount = surplusCoursesPrice.subtract(divide.multiply(new BigDecimal(surplusCourses.size()))).add(divide);
+			}
+			for (int i = 0; i < surplusCourses.size(); i++) {
+				CourseSchedule vipGroupCourseSchedule = surplusCourses.get(i);
 				CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 				courseScheduleStudentPayment.setGroupType(GroupType.VIP);
 				courseScheduleStudentPayment.setMusicGroupId(vipGroupId.toString());
 				courseScheduleStudentPayment.setClassGroupId(vipGroupCourseSchedule.getClassGroupId());
 				courseScheduleStudentPayment.setCourseScheduleId(vipGroupCourseSchedule.getId());
 				courseScheduleStudentPayment.setUserId(studentId);
+				if(i == 0){
+					courseScheduleStudentPayment.setExpectPrice(firstAmount);
+					courseScheduleStudentPayment.setActualPrice(firstAmount);
+				}else {
+					courseScheduleStudentPayment.setExpectPrice(divide);
+					courseScheduleStudentPayment.setActualPrice(divide);
+				}
                 if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					courseScheduleStudentPayment.setExpectPrice(vipGroup.getOfflineClassesUnitPrice());
 					courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
                 }else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					courseScheduleStudentPayment.setExpectPrice(vipGroup.getOnlineClassesUnitPrice());
 					courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
                 }
-				if(hasGiveClass && vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
-					if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
-							&&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
-						courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
-					}
-					if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)
-							&&onlineCourseTimes>(onlineCourseTotalTimes-giveClassTimes)){
-						courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
-					}
-				}
-				if(Objects.nonNull(discount)){
-                    courseScheduleStudentPayment.setExpectPrice(courseScheduleStudentPayment.getExpectPrice().multiply(discount).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP));
-                }
 				courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
 				courseScheduleStudentPayment.setCreateTime(now);
 				courseScheduleStudentPayment.setUpdateTime(now);

+ 20 - 3
mec-web/src/main/java/com/ym/mec/web/controller/education/ActivityController.java

@@ -54,13 +54,23 @@ public class ActivityController extends BaseController {
 
     @ApiOperation(value = "获取待排课的活动方案列表")
     @RequestMapping("/queryWaitCourseActivity")
-    public Object queryWaitCourseActivity(){
+    public Object queryWaitCourseActivity(String organId){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
         Employee employee = employeeDao.get(sysUser.getId());
-        return succeed(vipGroupActivityService.queryWaitCourseActivity(null,employee.getOrganIdList()));
+        if (organId == null) {
+            organId = employee.getOrganIdList();
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(organId.split(",")))){
+                return failed("非法请求");
+            }
+        }
+        return succeed(vipGroupActivityService.queryWaitCourseActivity(null,organId));
     }
 
     @ApiOperation(value = "获取活动待排课学员数量")
@@ -70,7 +80,14 @@ public class ActivityController extends BaseController {
         if(sysUser == null){
             return failed("用户信息获取失败");
         }
-        return succeed(vipGroupActivityService.getActivityWaitCourseStudentNum(null,activityId));
+        ActivityWaitCourseStudentNumDto courseStudentNum = vipGroupActivityService.getActivityWaitCourseStudentNum(null, activityId);
+        VipGroupActivity vipGroupActivity = courseStudentNum.getVipGroupActivity();
+        Employee employee = employeeDao.get(sysUser.getId());
+        List<String> employeeOrgans = Arrays.asList(employee.getOrganIdList().split(","));
+        List<String> activityOrgans = Arrays.asList(vipGroupActivity.getOrganId().split(","));
+        employeeOrgans.retainAll(activityOrgans);
+        courseStudentNum.setEmployeeAndActivityOrganIds(StringUtils.join(employeeOrgans,","));
+        return succeed(courseStudentNum);
     }
 
     @ApiOperation(value = "获取活动学员课排课次数")