Browse Source

活动排课

zouxuan 4 years ago
parent
commit
c1bda6c63d

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ActivityQueryDto.java

@@ -21,10 +21,10 @@ public class ActivityQueryDto{
     private Integer activityType = 0;
     private Integer activityType = 0;
 
 
     @ApiModelProperty(value = "0非会员,1会员")
     @ApiModelProperty(value = "0非会员,1会员")
-    private Integer memberNum = -1;
+    private Integer memberNum;
 
 
     @ApiModelProperty(value = "0老用户,1新用户")
     @ApiModelProperty(value = "0老用户,1新用户")
-    private Integer newStudentNum = -1;
+    private Integer newStudentNum;
 
 
     private Boolean includeClosed;
     private Boolean includeClosed;
 
 

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

@@ -23,9 +23,6 @@ public class PracticeGroupApplyBaseInfoDto extends PracticeGroup {
     @ApiModelProperty(value = "教师线上课课酬")
     @ApiModelProperty(value = "教师线上课课酬")
     private BigDecimal onlineTeacherSalary;
     private BigDecimal onlineTeacherSalary;
 
 
-    @ApiModelProperty(value = "课程组学员缴费设置")
-    private List<VipGroupStudentCoursePrice> vipGroupStudentCoursePrices;
-
     @ApiModelProperty(value = "活动课程类型")
     @ApiModelProperty(value = "活动课程类型")
     private ActivityCourseType activityCourseType;
     private ActivityCourseType activityCourseType;
 
 
@@ -74,14 +71,6 @@ public class PracticeGroupApplyBaseInfoDto extends PracticeGroup {
         this.activityCourseType = activityCourseType;
         this.activityCourseType = activityCourseType;
     }
     }
 
 
-    public List<VipGroupStudentCoursePrice> getVipGroupStudentCoursePrices() {
-        return vipGroupStudentCoursePrices;
-    }
-
-    public void setVipGroupStudentCoursePrices(List<VipGroupStudentCoursePrice> vipGroupStudentCoursePrices) {
-        this.vipGroupStudentCoursePrices = vipGroupStudentCoursePrices;
-    }
-
     public String getSubjectIdList() {
     public String getSubjectIdList() {
         return subjectIdList;
         return subjectIdList;
     }
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/PracticeGroup.java

@@ -74,6 +74,17 @@ public class PracticeGroup {
 
 
 	private Integer vipGroupActivityId;
 	private Integer vipGroupActivityId;
 
 
+	@ApiModelProperty(value = "课程规划",required = false)
+	private String courseScheduleJson;
+
+	public String getCourseScheduleJson() {
+		return courseScheduleJson;
+	}
+
+	public void setCourseScheduleJson(String courseScheduleJson) {
+		this.courseScheduleJson = courseScheduleJson;
+	}
+
 	public AuditStatusEnum getAuditStatus() {
 	public AuditStatusEnum getAuditStatus() {
 		return auditStatus;
 		return auditStatus;
 	}
 	}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/PracticeGroupSellPrice.java

@@ -43,10 +43,20 @@ public class PracticeGroupSellPrice {
 
 
     private BigDecimal comeOnPackagePrice;
     private BigDecimal comeOnPackagePrice;
 
 
+    private BigDecimal singleClassMinutesPrice;
+
     private Date createTime;
     private Date createTime;
 
 
     private Date updateTime;
     private Date updateTime;
 
 
+    public BigDecimal getSingleClassMinutesPrice() {
+        return singleClassMinutesPrice;
+    }
+
+    public void setSingleClassMinutesPrice(BigDecimal singleClassMinutesPrice) {
+        this.singleClassMinutesPrice = singleClassMinutesPrice;
+    }
+
     public BigDecimal getOnceQuartActivityPrice() {
     public BigDecimal getOnceQuartActivityPrice() {
         return onceQuartActivityPrice;
         return onceQuartActivityPrice;
     }
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -169,6 +169,7 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     //    BACKSTAGE_MUSIC_GROUP_CLOSE("BACKSTAGE_MUSIC_GROUP_CLOSE", "乐团结束"),
     //    BACKSTAGE_MUSIC_GROUP_CLOSE("BACKSTAGE_MUSIC_GROUP_CLOSE", "乐团结束"),
 //    BACKSTAGE_VIP_COURSE_APPLY("BACKSTAGE_VIP_COURSE_APPLY", "VIP课申请"),
 //    BACKSTAGE_VIP_COURSE_APPLY("BACKSTAGE_VIP_COURSE_APPLY", "VIP课申请"),
     BACKSTAGE_TEACHER_APPLY_VIP("BACKSTAGE_TEACHER_APPLY_VIP", "VIP课申请"),
     BACKSTAGE_TEACHER_APPLY_VIP("BACKSTAGE_TEACHER_APPLY_VIP", "VIP课申请"),
+    BACKSTAGE_TEACHER_APPLY_PRACTICE("BACKSTAGE_TEACHER_APPLY_PRACTICE", "网管课申请"),
     //    BACKSTAGE_VIP_COURSE_STOP("BACKSTAGE_VIP_COURSE_STOP", "VIP课停止"),
     //    BACKSTAGE_VIP_COURSE_STOP("BACKSTAGE_VIP_COURSE_STOP", "VIP课停止"),
 //    BACKSTAGE_TEACHER_FREEZE("BACKSTAGE_TEACHER_FREEZE", "老师冻结"),
 //    BACKSTAGE_TEACHER_FREEZE("BACKSTAGE_TEACHER_FREEZE", "老师冻结"),
 //    BACKSTAGE_TEACHER_POSITIVE("BACKSTAGE_TEACHER_POSITIVE", "老师转正"),
 //    BACKSTAGE_TEACHER_POSITIVE("BACKSTAGE_TEACHER_POSITIVE", "老师转正"),

+ 103 - 160
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -4283,38 +4283,24 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
 
     @Override
     @Override
     public Map countPracticeGroupPredictFee(PracticeGroupApplyBaseInfoDto practice, Integer teacherId, Long courseId) {
     public Map countPracticeGroupPredictFee(PracticeGroupApplyBaseInfoDto practice, Integer teacherId, Long courseId) {
-        if(Objects.isNull(teacherId)){
-            throw new BizException("请指定教师");
-        }
-        SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
-        Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
-        TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(teacherId,practiceCourseMinutes);
-
-        BigDecimal teacherDefaultSalary=null;
-        if(Objects.nonNull(teacherDefaultPracticeGroupSalary)){
-            teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
-        }
-        if(teacherDefaultSalary == null){
-            throw new BizException("请设置老师课酬");
-        }
-
-        VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(practice.getVipGroupActivityId());
-
-        Map<String,BigDecimal> results=new HashMap<>(1);
-        VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
-        if(Objects.isNull(vipGroupSalarySettlementDto)){
-            throw new BizException("课酬结算方案错误");
+        PracticeGroupSellPrice practiceGroupSellPrice = practiceGroupSellPriceDao.get(practice.getOrganId());
+        if (Objects.isNull(practiceGroupSellPrice)) {
+            throw new BizException("所在城市暂不参与此活动");
         }
         }
+        Map<String,BigDecimal> results = new HashMap<>(1);
         BigDecimal onlineClassNum = new BigDecimal(practice.getAllCourseNum());
         BigDecimal onlineClassNum = new BigDecimal(practice.getAllCourseNum());
-        BigDecimal onlineVipGroupCharge = teacherDefaultSalary.multiply(onlineClassNum);
+        BigDecimal totalPrice = practiceGroupSellPrice.getSingleClassMinutesPrice().multiply(onlineClassNum);
         //课程购买费用计算
         //课程购买费用计算
-        BigDecimal totalPrice = onlineVipGroupCharge.add(onlineVipGroupCharge);
-        totalPrice = totalPrice.multiply(vipGroupActivity.getDiscount()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+        if(practice.getVipGroupActivityId() != null){
+            VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(practice.getVipGroupActivityId());
+            totalPrice = totalPrice.multiply(vipGroupActivity.getDiscount()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+        }
         results.put("onlineTeacherSalary",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
         results.put("onlineTeacherSalary",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
         return results;
         return results;
     }
     }
 
 
     @Override
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Object createPracticeGroup(PracticeGroupApplyDto practice) {
     public Object createPracticeGroup(PracticeGroupApplyDto practice) {
         PracticeGroupApplyBaseInfoDto applyBaseInfoDto = practice.getPracticeGroupApplyBaseInfoDto();
         PracticeGroupApplyBaseInfoDto applyBaseInfoDto = practice.getPracticeGroupApplyBaseInfoDto();
         if (Objects.isNull(applyBaseInfoDto.getUserId())){
         if (Objects.isNull(applyBaseInfoDto.getUserId())){
@@ -4353,12 +4339,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
             throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
         }
         }
 
 
-        List<VipGroupStudentCoursePrice> vscps = applyBaseInfoDto.getVipGroupStudentCoursePrices();
-
         SysUser user = teacherDao.getUser(studentId);
         SysUser user = teacherDao.getUser(studentId);
         String userName = StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername();
         String userName = StringUtils.isEmpty(user.getUsername()) ? user.getRealName() : user.getUsername();
         //获取活动信息
         //获取活动信息
-        VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(applyBaseInfoDto.getVipGroupActivityId());
+        VipGroupActivity vipGroupActivity = null;
+        if(applyBaseInfoDto.getVipGroupActivityId() != null){
+            vipGroupActivity = vipGroupActivityDao.get(applyBaseInfoDto.getVipGroupActivityId());
+        }
         if(Objects.nonNull(vipGroupActivity) && !practice.getAllowOverstepActivityStudentNum() &&
         if(Objects.nonNull(vipGroupActivity) && !practice.getAllowOverstepActivityStudentNum() &&
                 Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes())&&vipGroupActivity.getStudentMaxUsedTimes() != -1){
                 Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes())&&vipGroupActivity.getStudentMaxUsedTimes() != -1){
             int useNum = practiceGroupDao.countStudentUserActivityNum(applyBaseInfoDto.getVipGroupActivityId(), studentId);
             int useNum = practiceGroupDao.countStudentUserActivityNum(applyBaseInfoDto.getVipGroupActivityId(), studentId);
@@ -4376,7 +4363,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             }
             }
         }
         }
 
 
-        if(Objects.nonNull(vipGroupActivity)&&Objects.nonNull(vipGroupActivity.getMinCourseNum())&&vipGroupActivity.getMinCourseNum()!=-1&&Objects.nonNull(vipGroupActivity.getMaxCourseNum())&&vipGroupActivity.getMaxCourseNum()!=-1){
+        if(Objects.nonNull(vipGroupActivity) && Objects.nonNull(vipGroupActivity.getMinCourseNum())
+                && vipGroupActivity.getMinCourseNum()!=-1 && Objects.nonNull(vipGroupActivity.getMaxCourseNum())
+                && vipGroupActivity.getMaxCourseNum()!=-1){
             if(totalClassTimes.compareTo(vipGroupActivity.getMinCourseNum())<0||totalClassTimes.compareTo(vipGroupActivity.getMaxCourseNum())>0){
             if(totalClassTimes.compareTo(vipGroupActivity.getMinCourseNum())<0||totalClassTimes.compareTo(vipGroupActivity.getMaxCourseNum())>0){
                 throw new BizException("该活动课时数为{}节~{}节", vipGroupActivity.getMinCourseNum(), vipGroupActivity.getMaxCourseNum());
                 throw new BizException("该活动课时数为{}节~{}节", vipGroupActivity.getMinCourseNum(), vipGroupActivity.getMaxCourseNum());
             }
             }
@@ -4405,11 +4394,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
 
         applyBaseInfoDto.setOnlineTeacherSalary(costInfo.get("onlineTeacherSalary"));
         applyBaseInfoDto.setOnlineTeacherSalary(costInfo.get("onlineTeacherSalary"));
         applyBaseInfoDto.setGroupStatus(GroupStatusEnum.APPLYING);
         applyBaseInfoDto.setGroupStatus(GroupStatusEnum.APPLYING);
-//        if(CollectionUtils.isEmpty(vscps)){
-//            vscps = new ArrayList<>();
-//            vscps.add(new VipGroupStudentCoursePrice(studentId, applyBaseInfoDto.getOfflineClassesUnitPrice(),
-//                    vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice(), vipGroupApplyBaseInfoDto.getTotalPrice()));
-//        }
+
         Teacher teacher = teacherService.get(applyBaseInfoDto.getUserId());
         Teacher teacher = teacherService.get(applyBaseInfoDto.getUserId());
         if(Objects.isNull(teacher)){
         if(Objects.isNull(teacher)){
             throw new BizException("教师不存在");
             throw new BizException("教师不存在");
@@ -4417,132 +4402,90 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if(Objects.isNull(teacher.getTeacherOrganId())){
         if(Objects.isNull(teacher.getTeacherOrganId())){
             throw new BizException("教师部门异常");
             throw new BizException("教师部门异常");
         }
         }
-        return null;
-//        vipGroupApplyBaseInfoDto.setOrganId(Integer.parseInt(teacher.getOrganId()));
-        //开课时间为排课的第一节课的开始时间
-//        vipGroupApplyBaseInfoDto.setCourseStartDate(firstCourseSchedule.getStartClassTime());
-//        //课程结束时间为排课的最后一节课的结束时间
-//        vipGroupApplyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
-//
-//        vipGroupApplyBaseInfoDto.setPaymentExpireDate(DateUtil.getLastSecondWithDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate()));
-//
-//        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroup.getVipGroupApplyBaseInfo().getOrganId());
-//
-//        if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
-//            vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-//        }else{
-//            if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice())
-//                    &&vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice())!=0){
-//                vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-//            }
-//            if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())
-//                    &&vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice())!=0){
-//                vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-//            }
-//        }
-//
-//        if(StringUtils.isBlank(vipGroupApplyBaseInfoDto.getStudentIdList())){
-//            vipGroupApplyBaseInfoDto.setStudentIdList(StringUtils.join(vscps.stream().map(VipGroupStudentCoursePrice::getStudentId).collect(Collectors.toList()), ","));
-//        }
-//
-//        if(vipGroup.getOnlyProgress()){
-//            vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
-//        }
-//
-//        vipGroupDao.insert(vipGroupApplyBaseInfoDto);
-//
-//        vscps.forEach(e->e.setVipGroupId(vipGroupApplyBaseInfoDto.getId()));
-//        vipGroupStudentCoursePriceDao.batchInsert(vscps);
-//
-//        vipGroup.getVipGroupApplyBaseInfo().setId(vipGroupApplyBaseInfoDto.getId());
-//
-//        //创建班级信息
-//        ClassGroup classGroup=new ClassGroup();
-//        classGroup.setSubjectIdList(vipGroupApplyBaseInfoDto.getSubjectIdList());
-//        classGroup.setExpectStudentNum(vipGroupCategory.getStudentNum());
-//        if(StringUtils.isNotBlank(studentIds)){
-//            classGroup.setStudentNum(studentIdList.size());
-//        }
-//        classGroup.setName(vipGroupApplyBaseInfoDto.getName());
-//        classGroup.setExpectStudentNum(vipGroupApplyBaseInfoDto.getStudentNum());
-//        classGroup.setTotalClassTimes(totalClassTimes);
-//        classGroup.setType(ClassGroupTypeEnum.VIP);
-//        classGroup.setDelFlag(1);
-//        classGroup.setGroupType(GroupType.VIP);
-//        classGroup.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
-//        classGroup.setCreateTime(now);
-//        classGroup.setUpdateTime(now);
-//        classGroupDao.insert(classGroup);
-//
-//        //创建班级老师关联记录
-//        ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
-//        classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
-//        classGroupTeacherMapper.setClassGroupId(classGroup.getId());
-//        classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
-//        classGroupTeacherMapper.setUserId(vipGroupApplyBaseInfoDto.getUserId());
-//        classGroupTeacherMapper.setGroupType(GroupType.VIP);
-//        classGroupTeacherMapper.setCreateTime(now);
-//        classGroupTeacherMapper.setUpdateTime(now);
-//        classGroupTeacherMapperDao.insert(classGroupTeacherMapper);
-//
-//        //创建班级与老师课酬记录
-//        ClassGroupTeacherSalary classGroupTeacherSalary=new ClassGroupTeacherSalary();
-//        classGroupTeacherSalary.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
-//        classGroupTeacherSalary.setClassGroupId(classGroup.getId());
-//        classGroupTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
-//        classGroupTeacherSalary.setUserId(vipGroupApplyBaseInfoDto.getUserId());
-//        classGroupTeacherSalary.setSalary(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
-//        classGroupTeacherSalary.setOnlineClassesSalary(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary());
-//        classGroupTeacherSalary.setGroupType(GroupType.VIP);
-//        classGroupTeacherSalary.setCreateTime(now);
-//        classGroupTeacherSalary.setUpdateTime(now);
-//        classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
-//
-//        //课程信息调整
-//        vipGroup.getCourseSchedules().forEach(courseSchedule -> {
-//            courseSchedule.setGroupType(GroupType.VIP);
-//            courseSchedule.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
-//            if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-//                courseSchedule.setSchoolId(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId());
-//            }
-//            courseSchedule.setTeacherId(vipGroupApplyBaseInfoDto.getUserId());
-//            courseSchedule.setActualTeacherId(vipGroupApplyBaseInfoDto.getUserId());
-//            courseSchedule.setStatus(CourseStatusEnum.NOT_START);
-//            courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
-//            courseSchedule.setClassGroupId(classGroup.getId());
-//            courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
-//            courseSchedule.setOrganId(vipGroupApplyBaseInfoDto.getOrganId());
-//        });
-//        courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false,false);
-//        vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
-//        vipGroupDao.update(vipGroupApplyBaseInfoDto);
-//
-//        if(StringUtils.isNotBlank(studentIds)){
-//            List<Integer> collect = studentIdList.stream().mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());
-//            classGroupService.addStudentIntoClassGroup(vipGroupApplyBaseInfoDto.getId().toString(),classGroup.getId(),collect);
-//            createVipGroupCourseScheInfo(vipGroupApplyBaseInfoDto.getId(),classGroup);
-//        }
-//
-//        Set<Integer> roleIds = new HashSet<>(1);
-//        roleIds.add(SysUserRole.SECTION_MANAGER);
-//        Map<String,Long> memo = new HashMap<>(1);
-//        memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
-////		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
-//        if(Objects.isNull(teacher)){
-//            throw new BizException("该用户不存在");
-//        }
-//        Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
-//        if(CollectionUtils.isEmpty(userIds)){
-//            throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
-//        }
-//        if(vipGroupApplyBaseInfoDto.getEducationalTeacherId() != null){
-//            userIds.add(vipGroupApplyBaseInfoDto.getEducationalTeacherId());
-//        }
-////		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
-////			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
-////		}else {
-//        sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),teacher.getRealName());
-////		}
-//        return BaseController.succeed(vipGroupApplyBaseInfoDto.getAuditStatus().getCode());
+        applyBaseInfoDto.setOrganId(teacher.getOrganId());
+//        开课时间为排课的第一节课的开始时间
+        applyBaseInfoDto.setCoursesStartDate(firstCourseSchedule.getStartClassTime());
+        //课程结束时间为排课的最后一节课的结束时间
+        applyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
+
+        applyBaseInfoDto.setPaymentExpireDate(DateUtil.getLastSecondWithDay(applyBaseInfoDto.getPaymentExpireDate()));
+
+        if(practice.getOnlyProgress()){
+            applyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
+        }
+
+        practiceGroupDao.insert(applyBaseInfoDto);
+
+        //创建班级信息
+        ClassGroup classGroup = new ClassGroup();
+        classGroup.setSubjectIdList(applyBaseInfoDto.getSubjectIdList());
+        classGroup.setExpectStudentNum(1);
+        classGroup.setStudentNum(1);
+        classGroup.setName(applyBaseInfoDto.getName());
+        classGroup.setTotalClassTimes(totalClassTimes);
+        classGroup.setType(ClassGroupTypeEnum.PRACTICE);
+        classGroup.setDelFlag(1);
+        classGroup.setGroupType(GroupType.PRACTICE);
+        classGroup.setMusicGroupId(applyBaseInfoDto.getId().toString());
+        classGroup.setCreateTime(now);
+        classGroup.setUpdateTime(now);
+        classGroupDao.insert(classGroup);
+
+        //创建班级老师关联记录
+        ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
+        classGroupTeacherMapper.setMusicGroupId(applyBaseInfoDto.getId().toString());
+        classGroupTeacherMapper.setClassGroupId(classGroup.getId());
+        classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
+        classGroupTeacherMapper.setUserId(applyBaseInfoDto.getUserId());
+        classGroupTeacherMapper.setGroupType(GroupType.PRACTICE);
+        classGroupTeacherMapper.setCreateTime(now);
+        classGroupTeacherMapper.setUpdateTime(now);
+        classGroupTeacherMapperDao.insert(classGroupTeacherMapper);
+
+        //创建班级与老师课酬记录
+        ClassGroupTeacherSalary classGroupTeacherSalary = new ClassGroupTeacherSalary();
+        classGroupTeacherSalary.setMusicGroupId(applyBaseInfoDto.getId().toString());
+        classGroupTeacherSalary.setClassGroupId(classGroup.getId());
+        classGroupTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
+        classGroupTeacherSalary.setUserId(applyBaseInfoDto.getUserId());
+        classGroupTeacherSalary.setSalary(BigDecimal.ZERO);
+        classGroupTeacherSalary.setOnlineClassesSalary(applyBaseInfoDto.getOnlineTeacherSalary());
+        classGroupTeacherSalary.setGroupType(GroupType.PRACTICE);
+        classGroupTeacherSalary.setCreateTime(now);
+        classGroupTeacherSalary.setUpdateTime(now);
+        classGroupTeacherSalaryDao.insert(classGroupTeacherSalary);
+
+        //课程信息调整
+        courseSchedules.forEach(courseSchedule -> {
+            courseSchedule.setGroupType(GroupType.PRACTICE);
+            courseSchedule.setMusicGroupId(applyBaseInfoDto.getId().toString());
+            courseSchedule.setTeacherId(applyBaseInfoDto.getUserId());
+            courseSchedule.setActualTeacherId(applyBaseInfoDto.getUserId());
+            courseSchedule.setStatus(CourseStatusEnum.NOT_START);
+            courseSchedule.setType(CourseSchedule.CourseScheduleType.PRACTICE);
+            courseSchedule.setClassGroupId(classGroup.getId());
+            courseSchedule.setName(applyBaseInfoDto.getName());
+            courseSchedule.setOrganId(applyBaseInfoDto.getOrganId());
+        });
+        courseScheduleService.checkNewCourseSchedules(courseSchedules,false,false);
+        applyBaseInfoDto.setCourseScheduleJson(JSON.toJSONString(courseSchedules));
+        practiceGroupDao.update(applyBaseInfoDto);
+
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        Map<String,Long> memo = new HashMap<>(1);
+        memo.put("practiceGroupId",applyBaseInfoDto.getId());
+        if(Objects.isNull(teacher)){
+            throw new BizException("该用户不存在");
+        }
+        Set<Integer> userIds = musicGroupDao.queryUserIdByRoleId(roleIds,teacher.getTeacherOrganId());
+        if(CollectionUtils.isEmpty(userIds)){
+            throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
+        }
+        if(applyBaseInfoDto.getEducationalTeacherId() != null){
+            userIds.add(applyBaseInfoDto.getEducationalTeacherId());
+        }
+        sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_PRACTICE, JSONObject.toJSONString(memo),teacher.getRealName());
+        return BaseController.succeed(applyBaseInfoDto.getAuditStatus().getCode());
     }
     }
 }
 }

+ 85 - 82
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -182,11 +182,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	@Override
 	@Override
 	public HttpResponseResult createVipGroup(VipGroupApplyDto vipGroup) {
 	public HttpResponseResult createVipGroup(VipGroupApplyDto vipGroup) {
 
 
-		if (Objects.isNull(vipGroup.getVipGroupApplyBaseInfo().getUserId())){
+		VipGroupApplyBaseInfoDto vipGroupApplyBaseInfo = vipGroup.getVipGroupApplyBaseInfo();
+		if (Objects.isNull(vipGroupApplyBaseInfo.getUserId())){
 			throw new BizException("请选择指导老师");
 			throw new BizException("请选择指导老师");
 		}
 		}
 
 
-	    if(vipGroup.getCourseSchedules().size()!=(vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()+vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum())){
+	    if(vipGroup.getCourseSchedules().size()!=(vipGroupApplyBaseInfo.getOfflineClassesNum() + vipGroupApplyBaseInfo.getOnlineClassesNum())){
 	        throw new BizException("建课失败,当前课程存在未排课课程,请调整相关设置");
 	        throw new BizException("建课失败,当前课程存在未排课课程,请调整相关设置");
         }
         }
 
 
@@ -197,18 +198,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("教学模式错误");
 			throw new BizException("教学模式错误");
 		}
 		}
 
 
-		if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()!=0)
-				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&(courseScheduleGroup.get(TeachModeEnum.OFFLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()))){
+		if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE)) && vipGroupApplyBaseInfo.getOfflineClassesNum()!=0)
+				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&(courseScheduleGroup.get(TeachModeEnum.OFFLINE).size()<vipGroupApplyBaseInfo.getOfflineClassesNum()))){
 	        throw new BizException("线下课课时数量安排有误");
 	        throw new BizException("线下课课时数量安排有误");
         }
         }
 
 
-        if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum()!=0)
-				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE))&&(courseScheduleGroup.get(TeachModeEnum.ONLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOnlineClassesNum()))){
+        if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE)) && vipGroupApplyBaseInfo.getOnlineClassesNum()!=0)
+				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.ONLINE))&&(courseScheduleGroup.get(TeachModeEnum.ONLINE).size() < vipGroupApplyBaseInfo.getOnlineClassesNum()))){
             throw new BizException("线上课课时数量安排有误");
             throw new BizException("线上课课时数量安排有误");
         }
         }
 
 
-		if(vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()>0
-			&&Objects.isNull(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId())){
+		if(vipGroupApplyBaseInfo.getOfflineClassesNum()>0
+			&&Objects.isNull(vipGroupApplyBaseInfo.getTeacherSchoolId())){
 			throw new BizException("请设置教学点");
 			throw new BizException("请设置教学点");
 		}
 		}
 
 
@@ -220,22 +221,20 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
         Date now=new Date();
         Date now=new Date();
 
 
-		VipGroupApplyBaseInfoDto vipGroupApplyBaseInfoDto=vipGroup.getVipGroupApplyBaseInfo();
-
-        if(Objects.isNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice())
-            &&Objects.isNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())){
+        if(Objects.isNull(vipGroupApplyBaseInfo.getOfflineClassesUnitPrice())
+            &&Objects.isNull(vipGroupApplyBaseInfo.getOnlineClassesUnitPrice())){
             throw new BizException("请设置课程单价");
             throw new BizException("请设置课程单价");
         }
         }
 
 
-		if(StringUtils.isBlank(vipGroupApplyBaseInfoDto.getStudentIdList())){
+		if(StringUtils.isBlank(vipGroupApplyBaseInfo.getStudentIdList())){
 			throw new BizException("请选择学员");
 			throw new BizException("请选择学员");
 		}
 		}
 
 
-        if(Objects.isNull(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary())||Objects.isNull(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary())){
+        if(Objects.isNull(vipGroupApplyBaseInfo.getOnlineTeacherSalary())||Objects.isNull(vipGroupApplyBaseInfo.getOfflineTeacherSalary())){
 			throw new BizException("请设置教师课酬");
 			throw new BizException("请设置教师课酬");
 		}
 		}
 
 
-		Integer totalClassTimes=vipGroupApplyBaseInfoDto.getOnlineClassesNum()+vipGroupApplyBaseInfoDto.getOfflineClassesNum();
+		Integer totalClassTimes=vipGroupApplyBaseInfo.getOnlineClassesNum()+vipGroupApplyBaseInfo.getOfflineClassesNum();
 		//获取第一节课
 		//获取第一节课
 		CourseSchedule firstCourseSchedule = vipGroup.getCourseSchedules().stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
 		CourseSchedule firstCourseSchedule = vipGroup.getCourseSchedules().stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get();
 		//获取最后一节课
 		//获取最后一节课
@@ -245,25 +244,29 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("开课时间不能小于当前时间");
 			throw new BizException("开课时间不能小于当前时间");
 		}
 		}
 
 
-		if(vipGroupApplyBaseInfoDto.getRegistrationStartTime().after(vipGroupApplyBaseInfoDto.getPaymentExpireDate())){
+		if(vipGroupApplyBaseInfo.getRegistrationStartTime().after(vipGroupApplyBaseInfo.getPaymentExpireDate())){
 		    throw new BizException("报名开始时间必须在报名截至时间之前");
 		    throw new BizException("报名开始时间必须在报名截至时间之前");
         }
         }
 
 
-		if(vipGroupApplyBaseInfoDto.getPaymentExpireDate().after(firstCourseSchedule.getStartClassTime())
-            ||DateUtil.isSameDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate(),firstCourseSchedule.getEndClassTime())){
+		if(vipGroupApplyBaseInfo.getPaymentExpireDate().after(firstCourseSchedule.getStartClassTime())
+            ||DateUtil.isSameDay(vipGroupApplyBaseInfo.getPaymentExpireDate(),firstCourseSchedule.getEndClassTime())){
 		    throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
 		    throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
         }
         }
 
 
-		List<Integer> canBuyStudentIds = Arrays.stream(vipGroupApplyBaseInfoDto.getStudentIdList().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toList());
-		List<VipGroupStudentCoursePrice> vscps = vipGroup.getVipGroupApplyBaseInfo().getVipGroupStudentCoursePrices();
+		List<Integer> canBuyStudentIds = Arrays.stream(vipGroupApplyBaseInfo.getStudentIdList().split(",")).map(e -> Integer.valueOf(e)).collect(Collectors.toList());
+		List<VipGroupStudentCoursePrice> vscps = vipGroupApplyBaseInfo.getVipGroupStudentCoursePrices();
 
 
 		//获取活动信息
 		//获取活动信息
-		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupApplyBaseInfo().getVipGroupActivityId());
-		if(!vipGroup.getAllowOverstepActivityStudentNum()&&Objects.nonNull(vipGroupActivity)&&Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes())&&vipGroupActivity.getStudentMaxUsedTimes()!=-1&&StringUtils.isNotBlank(vipGroupApplyBaseInfoDto.getStudentIdList())){
-			List<String> tempStudentIds = Arrays.asList(vipGroupApplyBaseInfoDto.getStudentIdList().split(","));
+		VipGroupActivity vipGroupActivity = null;
+		if(vipGroupApplyBaseInfo.getVipGroupActivityId() != null){
+			vipGroupActivity = vipGroupActivityDao.get(vipGroupApplyBaseInfo.getVipGroupActivityId());
+		}
+
+		if(vipGroupActivity != null && !vipGroup.getAllowOverstepActivityStudentNum() && Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes()) && vipGroupActivity.getStudentMaxUsedTimes()!=-1&&StringUtils.isNotBlank(vipGroupApplyBaseInfo.getStudentIdList())){
+			List<String> tempStudentIds = Arrays.asList(vipGroupApplyBaseInfo.getStudentIdList().split(","));
 			List<Integer> errStudentIds = new ArrayList<>();
 			List<Integer> errStudentIds = new ArrayList<>();
 			for (String studentIdStr : tempStudentIds) {
 			for (String studentIdStr : tempStudentIds) {
-				int useNum = vipGroupDao.countStudentUserActivityNum(vipGroup.getVipGroupApplyBaseInfo().getVipGroupActivityId(), Integer.valueOf(studentIdStr));
+				int useNum = vipGroupDao.countStudentUserActivityNum(vipGroupApplyBaseInfo.getVipGroupActivityId(), Integer.valueOf(studentIdStr));
 				if(useNum>=vipGroupActivity.getStudentMaxUsedTimes()){
 				if(useNum>=vipGroupActivity.getStudentMaxUsedTimes()){
 					errStudentIds.add(Integer.valueOf(studentIdStr));
 					errStudentIds.add(Integer.valueOf(studentIdStr));
 				}
 				}
@@ -276,7 +279,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			}
 		}
 		}
 		//判断课程安排是否超出范围
 		//判断课程安排是否超出范围
-		if(Objects.nonNull(vipGroupActivity)&&(Objects.nonNull(vipGroupActivity.getCoursesEndTime())||Objects.nonNull(vipGroupActivity.getCoursesStartTime()))){
+		if(Objects.nonNull(vipGroupActivity) && (Objects.nonNull(vipGroupActivity.getCoursesEndTime())||Objects.nonNull(vipGroupActivity.getCoursesStartTime()))){
 			if(latestCourseSchedule.getEndClassTime().after(vipGroupActivity.getCoursesEndTime())
 			if(latestCourseSchedule.getEndClassTime().after(vipGroupActivity.getCoursesEndTime())
 					||firstCourseSchedule.getStartClassTime().before(vipGroupActivity.getCoursesStartTime())){
 					||firstCourseSchedule.getStartClassTime().before(vipGroupActivity.getCoursesStartTime())){
 				throw new BizException("课时安排时间超出范围!");
 				throw new BizException("课时安排时间超出范围!");
@@ -292,26 +295,26 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			}
 		}
 		}
 
 
-		if(Objects.nonNull(vipGroupActivity)&&Objects.nonNull(vipGroupActivity.getMinCourseNum())&&vipGroupActivity.getMinCourseNum()!=-1&&Objects.nonNull(vipGroupActivity.getMaxCourseNum())&&vipGroupActivity.getMaxCourseNum()!=-1){
-			Integer requestCourseNum = vipGroupApplyBaseInfoDto.getOnlineClassesNum() + vipGroupApplyBaseInfoDto.getOfflineClassesNum();
+		if(Objects.nonNull(vipGroupActivity) && Objects.nonNull(vipGroupActivity.getMinCourseNum())&&vipGroupActivity.getMinCourseNum()!=-1&&Objects.nonNull(vipGroupActivity.getMaxCourseNum())&&vipGroupActivity.getMaxCourseNum()!=-1){
+			Integer requestCourseNum = vipGroupApplyBaseInfo.getOnlineClassesNum() + vipGroupApplyBaseInfo.getOfflineClassesNum();
 			if(requestCourseNum.compareTo(vipGroupActivity.getMinCourseNum())<0||requestCourseNum.compareTo(vipGroupActivity.getMaxCourseNum())>0){
 			if(requestCourseNum.compareTo(vipGroupActivity.getMinCourseNum())<0||requestCourseNum.compareTo(vipGroupActivity.getMaxCourseNum())>0){
 				throw new BizException("该活动课时数为{}节~{}节", vipGroupActivity.getMinCourseNum(), vipGroupActivity.getMaxCourseNum());
 				throw new BizException("该活动课时数为{}节~{}节", vipGroupActivity.getMinCourseNum(), vipGroupActivity.getMaxCourseNum());
 			}
 			}
 		}
 		}
 
 
-		int repeatVipGroups = vipGroupDao.countUserRepeatVipGroupInCourseStartEndTime(vipGroupApplyBaseInfoDto.getUserId(), firstCourseSchedule.getStartClassTime(), latestCourseSchedule.getEndClassTime());
+		int repeatVipGroups = vipGroupDao.countUserRepeatVipGroupInCourseStartEndTime(vipGroupApplyBaseInfo.getUserId(), firstCourseSchedule.getStartClassTime(), latestCourseSchedule.getEndClassTime());
 		if(repeatVipGroups>0){
 		if(repeatVipGroups>0){
 			throw new BizException("请勿重复提交");
 			throw new BizException("请勿重复提交");
 		}
 		}
 
 
-		VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroupApplyBaseInfoDto.getVipGroupCategoryId());
+		VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroupApplyBaseInfo.getVipGroupCategoryId());
 		if(Objects.isNull(vipGroupCategory)){
 		if(Objects.isNull(vipGroupCategory)){
 			throw new BizException("课程形式不存在");
 			throw new BizException("课程形式不存在");
 		}
 		}
 		List<String> studentNames = studentDao.getStudentNames(canBuyStudentIds);
 		List<String> studentNames = studentDao.getStudentNames(canBuyStudentIds);
 
 
 		//生成vip课信息
 		//生成vip课信息
-		List<String> bySubIds = subjectDao.findBySubIds(vipGroupApplyBaseInfoDto.getSubjectIdList());
+		List<String> bySubIds = subjectDao.findBySubIds(vipGroupApplyBaseInfo.getSubjectIdList());
 		StringBuffer className=new StringBuffer();
 		StringBuffer className=new StringBuffer();
 		if(Objects.isNull(vipGroupCategory.getMusicTheory())||!vipGroupCategory.getMusicTheory()){
 		if(Objects.isNull(vipGroupCategory.getMusicTheory())||!vipGroupCategory.getMusicTheory()){
 			className.append(StringUtils.join(bySubIds,","));
 			className.append(StringUtils.join(bySubIds,","));
@@ -320,34 +323,34 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			className.append("乐理课•");
 			className.append("乐理课•");
 		}
 		}
 		className.append(StringUtils.join(studentNames, ","));
 		className.append(StringUtils.join(studentNames, ","));
-		vipGroupApplyBaseInfoDto.setName(className.toString());
+		vipGroupApplyBaseInfo.setName(className.toString());
 
 
 		//计算课程相关费用信息
 		//计算课程相关费用信息
-		Map<String, BigDecimal> costInfo = countVipGroupPredictFee(vipGroupApplyBaseInfoDto,
-				vipGroupApplyBaseInfoDto.getUserId(), null);
+		Map<String, BigDecimal> costInfo = countVipGroupPredictFee(vipGroupApplyBaseInfo,
+				vipGroupApplyBaseInfo.getUserId(), null);
 
 
-        vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
+		vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.PASS);
 
 
 		//如果默认课酬与实际课酬不匹配则需要审批
 		//如果默认课酬与实际课酬不匹配则需要审批
-		if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary())<0||
-			costInfo.get("onlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary())<0
+		if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfo.getOfflineTeacherSalary())<0||
+			costInfo.get("onlineTeacherSalary").compareTo(vipGroupApplyBaseInfo.getOnlineTeacherSalary())<0
 			&&StringUtils.isBlank(studentIds)){
 			&&StringUtils.isBlank(studentIds)){
-			vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+			vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.ING);
 		}
 		}
 
 
-		vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
+		vipGroupApplyBaseInfo.setTotalPrice(costInfo.get("totalPrice"));
 		if(StringUtils.isNotBlank(studentIds)){
 		if(StringUtils.isNotBlank(studentIds)){
-			vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.PROGRESS);
+			vipGroupApplyBaseInfo.setStatus(VipGroupStatusEnum.PROGRESS);
 		}else{
 		}else{
-			vipGroupApplyBaseInfoDto.setStatus(VipGroupStatusEnum.APPLYING);
+			vipGroupApplyBaseInfo.setStatus(VipGroupStatusEnum.APPLYING);
 		}
 		}
 		if(CollectionUtils.isEmpty(vscps)){
 		if(CollectionUtils.isEmpty(vscps)){
 			vscps = new ArrayList<>();
 			vscps = new ArrayList<>();
 			for (Integer canBuyStudentId : canBuyStudentIds) {
 			for (Integer canBuyStudentId : canBuyStudentIds) {
-				vscps.add(new VipGroupStudentCoursePrice(canBuyStudentId, vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice(), vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice(), vipGroupApplyBaseInfoDto.getTotalPrice()));
+				vscps.add(new VipGroupStudentCoursePrice(canBuyStudentId, vipGroupApplyBaseInfo.getOfflineClassesUnitPrice(), vipGroupApplyBaseInfo.getOfflineClassesUnitPrice(), vipGroupApplyBaseInfo.getTotalPrice()));
 			}
 			}
 		}
 		}
-        Teacher teacher = teacherService.get(vipGroupApplyBaseInfoDto.getUserId());
+        Teacher teacher = teacherService.get(vipGroupApplyBaseInfo.getUserId());
 		if(Objects.isNull(teacher)){
 		if(Objects.isNull(teacher)){
 		    throw new BizException("教师不存在");
 		    throw new BizException("教师不存在");
         }
         }
@@ -356,66 +359,66 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         }
 //        vipGroupApplyBaseInfoDto.setOrganId(Integer.parseInt(teacher.getOrganId()));
 //        vipGroupApplyBaseInfoDto.setOrganId(Integer.parseInt(teacher.getOrganId()));
 		//开课时间为排课的第一节课的开始时间
 		//开课时间为排课的第一节课的开始时间
-		vipGroupApplyBaseInfoDto.setCourseStartDate(firstCourseSchedule.getStartClassTime());
+		vipGroupApplyBaseInfo.setCourseStartDate(firstCourseSchedule.getStartClassTime());
 		//课程结束时间为排课的最后一节课的结束时间
 		//课程结束时间为排课的最后一节课的结束时间
-		vipGroupApplyBaseInfoDto.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
+		vipGroupApplyBaseInfo.setCoursesExpireDate(latestCourseSchedule.getEndClassTime());
 
 
-		vipGroupApplyBaseInfoDto.setPaymentExpireDate(DateUtil.getLastSecondWithDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate()));
+		vipGroupApplyBaseInfo.setPaymentExpireDate(DateUtil.getLastSecondWithDay(vipGroupApplyBaseInfo.getPaymentExpireDate()));
 
 
-        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupApplyBaseInfo().getVipGroupCategoryId(), vipGroup.getVipGroupApplyBaseInfo().getOrganId());
+        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroupApplyBaseInfo.getVipGroupCategoryId(), vipGroupApplyBaseInfo.getOrganId());
 
 
         if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
         if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
-            vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+			vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.ING);
         }else{
         }else{
-			if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice())
-					&&vipGroupApplyBaseInfoDto.getOfflineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice())!=0){
-				vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+			if(Objects.nonNull(vipGroupApplyBaseInfo.getOfflineClassesUnitPrice())
+					&&vipGroupApplyBaseInfo.getOfflineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice())!=0){
+				vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.ING);
 			}
 			}
-			if(Objects.nonNull(vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice())
-					&&vipGroupApplyBaseInfoDto.getOnlineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice())!=0){
-				vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+			if(Objects.nonNull(vipGroupApplyBaseInfo.getOnlineClassesUnitPrice())
+					&&vipGroupApplyBaseInfo.getOnlineClassesUnitPrice().compareTo(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice())!=0){
+				vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.ING);
 			}
 			}
         }
         }
 
 
-        if(StringUtils.isBlank(vipGroupApplyBaseInfoDto.getStudentIdList())){
-			vipGroupApplyBaseInfoDto.setStudentIdList(StringUtils.join(vscps.stream().map(VipGroupStudentCoursePrice::getStudentId).collect(Collectors.toList()), ","));
+        if(StringUtils.isBlank(vipGroupApplyBaseInfo.getStudentIdList())){
+			vipGroupApplyBaseInfo.setStudentIdList(StringUtils.join(vscps.stream().map(VipGroupStudentCoursePrice::getStudentId).collect(Collectors.toList()), ","));
 		}
 		}
 
 
         if(vipGroup.getOnlyProgress()){
         if(vipGroup.getOnlyProgress()){
-			vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
+			vipGroupApplyBaseInfo.setAuditStatus(AuditStatusEnum.PASS);
 		}
 		}
 
 
-		vipGroupDao.insert(vipGroupApplyBaseInfoDto);
+		vipGroupDao.insert(vipGroupApplyBaseInfo);
 
 
-		vscps.forEach(e->e.setVipGroupId(vipGroupApplyBaseInfoDto.getId()));
+		vscps.forEach(e->e.setVipGroupId(vipGroupApplyBaseInfo.getId()));
 		vipGroupStudentCoursePriceDao.batchInsert(vscps);
 		vipGroupStudentCoursePriceDao.batchInsert(vscps);
 
 
-        vipGroup.getVipGroupApplyBaseInfo().setId(vipGroupApplyBaseInfoDto.getId());
+        vipGroup.getVipGroupApplyBaseInfo().setId(vipGroupApplyBaseInfo.getId());
 
 
 		//创建班级信息
 		//创建班级信息
 		ClassGroup classGroup=new ClassGroup();
 		ClassGroup classGroup=new ClassGroup();
-		classGroup.setSubjectIdList(vipGroupApplyBaseInfoDto.getSubjectIdList());
+		classGroup.setSubjectIdList(vipGroupApplyBaseInfo.getSubjectIdList());
 		classGroup.setExpectStudentNum(vipGroupCategory.getStudentNum());
 		classGroup.setExpectStudentNum(vipGroupCategory.getStudentNum());
 		if(StringUtils.isNotBlank(studentIds)){
 		if(StringUtils.isNotBlank(studentIds)){
 			classGroup.setStudentNum(studentIdList.size());
 			classGroup.setStudentNum(studentIdList.size());
 		}
 		}
-		classGroup.setName(vipGroupApplyBaseInfoDto.getName());
-		classGroup.setExpectStudentNum(vipGroupApplyBaseInfoDto.getStudentNum());
+		classGroup.setName(vipGroupApplyBaseInfo.getName());
+		classGroup.setExpectStudentNum(vipGroupApplyBaseInfo.getStudentNum());
 		classGroup.setTotalClassTimes(totalClassTimes);
 		classGroup.setTotalClassTimes(totalClassTimes);
 		classGroup.setType(ClassGroupTypeEnum.VIP);
 		classGroup.setType(ClassGroupTypeEnum.VIP);
 		classGroup.setDelFlag(1);
 		classGroup.setDelFlag(1);
 		classGroup.setGroupType(GroupType.VIP);
 		classGroup.setGroupType(GroupType.VIP);
-		classGroup.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+		classGroup.setMusicGroupId(vipGroupApplyBaseInfo.getId().toString());
 		classGroup.setCreateTime(now);
 		classGroup.setCreateTime(now);
 		classGroup.setUpdateTime(now);
 		classGroup.setUpdateTime(now);
 		classGroupDao.insert(classGroup);
 		classGroupDao.insert(classGroup);
 
 
 		//创建班级老师关联记录
 		//创建班级老师关联记录
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
 		ClassGroupTeacherMapper classGroupTeacherMapper=new ClassGroupTeacherMapper();
-		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+		classGroupTeacherMapper.setMusicGroupId(vipGroupApplyBaseInfo.getId().toString());
 		classGroupTeacherMapper.setClassGroupId(classGroup.getId());
 		classGroupTeacherMapper.setClassGroupId(classGroup.getId());
 		classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
 		classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
-		classGroupTeacherMapper.setUserId(vipGroupApplyBaseInfoDto.getUserId());
+		classGroupTeacherMapper.setUserId(vipGroupApplyBaseInfo.getUserId());
 		classGroupTeacherMapper.setGroupType(GroupType.VIP);
 		classGroupTeacherMapper.setGroupType(GroupType.VIP);
 		classGroupTeacherMapper.setCreateTime(now);
 		classGroupTeacherMapper.setCreateTime(now);
 		classGroupTeacherMapper.setUpdateTime(now);
 		classGroupTeacherMapper.setUpdateTime(now);
@@ -423,12 +426,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
 		//创建班级与老师课酬记录
 		//创建班级与老师课酬记录
 		ClassGroupTeacherSalary classGroupTeacherSalary=new ClassGroupTeacherSalary();
 		ClassGroupTeacherSalary classGroupTeacherSalary=new ClassGroupTeacherSalary();
-		classGroupTeacherSalary.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+		classGroupTeacherSalary.setMusicGroupId(vipGroupApplyBaseInfo.getId().toString());
 		classGroupTeacherSalary.setClassGroupId(classGroup.getId());
 		classGroupTeacherSalary.setClassGroupId(classGroup.getId());
 		classGroupTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
 		classGroupTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
-		classGroupTeacherSalary.setUserId(vipGroupApplyBaseInfoDto.getUserId());
-		classGroupTeacherSalary.setSalary(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary());
-		classGroupTeacherSalary.setOnlineClassesSalary(vipGroupApplyBaseInfoDto.getOnlineTeacherSalary());
+		classGroupTeacherSalary.setUserId(vipGroupApplyBaseInfo.getUserId());
+		classGroupTeacherSalary.setSalary(vipGroupApplyBaseInfo.getOfflineTeacherSalary());
+		classGroupTeacherSalary.setOnlineClassesSalary(vipGroupApplyBaseInfo.getOnlineTeacherSalary());
 		classGroupTeacherSalary.setGroupType(GroupType.VIP);
 		classGroupTeacherSalary.setGroupType(GroupType.VIP);
 		classGroupTeacherSalary.setCreateTime(now);
 		classGroupTeacherSalary.setCreateTime(now);
 		classGroupTeacherSalary.setUpdateTime(now);
 		classGroupTeacherSalary.setUpdateTime(now);
@@ -437,32 +440,32 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		//课程信息调整
 		//课程信息调整
 		vipGroup.getCourseSchedules().forEach(courseSchedule -> {
 		vipGroup.getCourseSchedules().forEach(courseSchedule -> {
 			courseSchedule.setGroupType(GroupType.VIP);
 			courseSchedule.setGroupType(GroupType.VIP);
-			courseSchedule.setMusicGroupId(vipGroupApplyBaseInfoDto.getId().toString());
+			courseSchedule.setMusicGroupId(vipGroupApplyBaseInfo.getId().toString());
 		    if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 		    if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 				courseSchedule.setSchoolId(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId());
 				courseSchedule.setSchoolId(vipGroup.getVipGroupApplyBaseInfo().getTeacherSchoolId());
 			}
 			}
-		    courseSchedule.setTeacherId(vipGroupApplyBaseInfoDto.getUserId());
-			courseSchedule.setActualTeacherId(vipGroupApplyBaseInfoDto.getUserId());
+		    courseSchedule.setTeacherId(vipGroupApplyBaseInfo.getUserId());
+			courseSchedule.setActualTeacherId(vipGroupApplyBaseInfo.getUserId());
 			courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 			courseSchedule.setStatus(CourseStatusEnum.NOT_START);
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
 			courseSchedule.setClassGroupId(classGroup.getId());
 			courseSchedule.setClassGroupId(classGroup.getId());
-			courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
-			courseSchedule.setOrganId(vipGroupApplyBaseInfoDto.getOrganId());
+			courseSchedule.setName(vipGroupApplyBaseInfo.getName());
+			courseSchedule.setOrganId(vipGroupApplyBaseInfo.getOrganId());
 		});
 		});
 		courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false,false);
 		courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false,false);
-		vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
-		vipGroupDao.update(vipGroupApplyBaseInfoDto);
+		vipGroupApplyBaseInfo.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
+		vipGroupDao.update(vipGroupApplyBaseInfo);
 
 
 		if(StringUtils.isNotBlank(studentIds)){
 		if(StringUtils.isNotBlank(studentIds)){
 			List<Integer> collect = studentIdList.stream().mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());
 			List<Integer> collect = studentIdList.stream().mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());
-			classGroupService.addStudentIntoClassGroup(vipGroupApplyBaseInfoDto.getId().toString(),classGroup.getId(),collect);
-			createVipGroupCourseScheInfo(vipGroupApplyBaseInfoDto.getId(),classGroup);
+			classGroupService.addStudentIntoClassGroup(vipGroupApplyBaseInfo.getId().toString(),classGroup.getId(),collect);
+			createVipGroupCourseScheInfo(vipGroupApplyBaseInfo.getId(),classGroup);
 		}
 		}
 
 
 		Set<Integer> roleIds = new HashSet<>(1);
 		Set<Integer> roleIds = new HashSet<>(1);
 		roleIds.add(SysUserRole.SECTION_MANAGER);
 		roleIds.add(SysUserRole.SECTION_MANAGER);
 		Map<String,Long> memo = new HashMap<>(1);
 		Map<String,Long> memo = new HashMap<>(1);
-		memo.put("vipGroupId",vipGroupApplyBaseInfoDto.getId());
+		memo.put("vipGroupId",vipGroupApplyBaseInfo.getId());
 //		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
 //		SysUser sysUser = sysUserFeignService.queryUserById(vipGroup.getVipGroupApplyBaseInfo().getUserId());
 		if(Objects.isNull(teacher)){
 		if(Objects.isNull(teacher)){
 			throw new BizException("该用户不存在");
 			throw new BizException("该用户不存在");
@@ -471,15 +474,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(CollectionUtils.isEmpty(userIds)){
 		if(CollectionUtils.isEmpty(userIds)){
 			throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
 			throw new BizException("当前分部没有运营主管,无法创建,请联系总部工作人员!");
 		}
 		}
-		if(vipGroupApplyBaseInfoDto.getEducationalTeacherId() != null){
-			userIds.add(vipGroupApplyBaseInfoDto.getEducationalTeacherId());
+		if(vipGroupApplyBaseInfo.getEducationalTeacherId() != null){
+			userIds.add(vipGroupApplyBaseInfo.getEducationalTeacherId());
 		}
 		}
 //		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
 //		if (vipGroup.getVipGroupApplyBaseInfo().getUserId() != null){
 //			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
 //			sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_VIP_COURSE_APPLY, JSONObject.toJSONString(memo),sysUser.getUsername(),sysUser.getUsername());
 //		}else {
 //		}else {
 		sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),teacher.getRealName());
 		sysMessageService.batchSeoMessage(userIds,MessageTypeEnum.BACKSTAGE_TEACHER_APPLY_VIP, JSONObject.toJSONString(memo),teacher.getRealName());
 //		}
 //		}
-		return BaseController.succeed(vipGroupApplyBaseInfoDto.getAuditStatus().getCode());
+		return BaseController.succeed(vipGroupApplyBaseInfo.getAuditStatus().getCode());
 	}
 	}
 
 
 	@Override
 	@Override

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -28,6 +28,7 @@
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="be_renew_group_id_" property="beRenewGroupId"/>
         <result column="be_renew_group_id_" property="beRenewGroupId"/>
         <result column="educational_teacher_id_" property="educationalTeacherId"/>
         <result column="educational_teacher_id_" property="educationalTeacherId"/>
+        <result column="course_schedule_json_" property="courseScheduleJson"/>
     </resultMap>
     </resultMap>
 
 
     <resultMap id="PracticeCourseDto" type="com.ym.mec.biz.dal.dto.PracticeCourseDto" extends="PracticeGroup">
     <resultMap id="PracticeCourseDto" type="com.ym.mec.biz.dal.dto.PracticeCourseDto" extends="PracticeGroup">
@@ -66,6 +67,9 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroup">
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroup">
         UPDATE practice_group
         UPDATE practice_group
         <set>
         <set>
+            <if test="courseScheduleJson != null">
+                course_schedule_json_ = #{courseScheduleJson},
+            </if>
             <if test="subjectId!=null">
             <if test="subjectId!=null">
                 subject_id_=#{subjectId},
                 subject_id_=#{subjectId},
             </if>
             </if>

+ 8 - 4
mec-biz/src/main/resources/config/mybatis/PracticeGroupSellPriceMapper.xml

@@ -21,6 +21,7 @@
 		<result column="high_online_ten_course_activity_price_with_old_user" property="highOnlineTenCourseActivityPriceWithOldUser" />
 		<result column="high_online_ten_course_activity_price_with_old_user" property="highOnlineTenCourseActivityPriceWithOldUser" />
 		<result column="care_package_price" property="carePackagePrice" />
 		<result column="care_package_price" property="carePackagePrice" />
 		<result column="come_on_package_price" property="comeOnPackagePrice" />
 		<result column="come_on_package_price" property="comeOnPackagePrice" />
+		<result column="single_class_minutes_price_" property="singleClassMinutesPrice" />
 		<result column="create_time_" property="createTime" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="update_time_" property="updateTime" />
 	</resultMap>
 	</resultMap>
@@ -40,17 +41,20 @@
 	<!-- 向数据库增加一条记录 -->
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.PracticeGroupSellPrice"
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.PracticeGroupSellPrice"
 		useGeneratedKeys="true" keyColumn="organ_id_" keyProperty="organId">
 		useGeneratedKeys="true" keyColumn="organ_id_" keyProperty="organId">
-		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
-			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO practice_group_sell_price
 		INSERT INTO practice_group_sell_price
-		(`organ_id_`, `once_original_price`, `once_activity_price`, `twice_original_price`, `twice_activity_price`, `create_time_`, `update_time_`)
-		VALUES(#{organId},#{onceOriginalPrice},#{onceActivityPrice},#{twiceOriginalPrice},#{twiceActivityPrice},#{createTime},#{updateTime})
+		(`organ_id_`, `once_original_price`, `once_activity_price`, `twice_original_price`,
+		 `twice_activity_price`, `create_time_`, `update_time_`,single_class_minutes_price_)
+		VALUES(#{organId},#{onceOriginalPrice},#{onceActivityPrice},#{twiceOriginalPrice},
+		       #{twiceActivityPrice},NOW(),NOW(),#{singleClassMinutesPrice})
 	</insert>
 	</insert>
 
 
 	<!-- 根据主键查询一条记录 -->
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroupSellPrice">
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroupSellPrice">
 		UPDATE practice_group_sell_price
 		UPDATE practice_group_sell_price
 		<set>
 		<set>
+			<if test="singleClassMinutesPrice != null">
+				single_class_minutes_price_ = #{singleClassMinutesPrice},
+			</if>
 			<if test="onceOriginalPrice != null">
 			<if test="onceOriginalPrice != null">
 				once_original_price = #{onceOriginalPrice},
 				once_original_price = #{onceOriginalPrice},
 			</if>
 			</if>

+ 4 - 4
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -276,16 +276,16 @@
 			vip_group_activity vga
 			vip_group_activity vga
 			LEFT JOIN activity_apply_student_type ast ON vga.id_ = ast.activity_id_
 			LEFT JOIN activity_apply_student_type ast ON vga.id_ = ast.activity_id_
 		WHERE
 		WHERE
-			FIND_IN_SET(#{activityQueryDto.categoryId}, vga.vip_group_category_id_list_ )
+			FIND_IN_SET(#{activityQueryDto.categoryId}, vga.vip_group_category_id_list_ ) AND vga.status_ = 'PROGRESS'
 		<if test="activityQueryDto.includeClosed == null">
 		<if test="activityQueryDto.includeClosed == null">
 			AND (vga.end_time_ IS NULL OR NOW() BETWEEN vga.start_time_ AND vga.end_time_)
 			AND (vga.end_time_ IS NULL OR NOW() BETWEEN vga.start_time_ AND vga.end_time_)
 		</if>
 		</if>
-		AND vga.del_flag_ = 0 AND vga.course_type_ = #{activityQueryDto.courseType} AND INTE_ARRAY(vga.organ_id_,#{activityQueryDto.organIds})
+		AND vga.del_flag_ = 0 AND vga.course_type_ = #{activityQueryDto.courseType} AND FIND_IN_SET(#{activityQueryDto.organId},vga.organ_id_)
 		<if test="activityQueryDto.newStudentNum != null">
 		<if test="activityQueryDto.newStudentNum != null">
-			AND ast.new_student_ = #{activityQueryDto.newStudentNum}
+			AND ast.new_student_ != #{activityQueryDto.newStudentNum}
 		</if>
 		</if>
 		<if test="activityQueryDto.memberNum != null">
 		<if test="activityQueryDto.memberNum != null">
-			AND ast.member_flag_ = #{activityQueryDto.memberNum}
+			AND ast.member_flag_ != #{activityQueryDto.memberNum}
 		</if>
 		</if>
 	</select>
 	</select>
     <select id="queryNamesById" resultType="java.util.Map">
     <select id="queryNamesById" resultType="java.util.Map">

+ 0 - 1
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -46,7 +46,6 @@ public class PracticeGroupController extends BaseController {
     @Autowired
     @Autowired
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
     List<Integer> excludeOrganIds=new ArrayList<>(Arrays.asList(new Integer[]{36}));
     List<Integer> excludeOrganIds=new ArrayList<>(Arrays.asList(new Integer[]{36}));
-
     @Autowired
     @Autowired
     private SysMessageService sysMessageService;
     private SysMessageService sysMessageService;
     @Autowired
     @Autowired

+ 8 - 8
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -88,14 +88,14 @@ public class VipGroupActivityController extends BaseController {
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
 
 
         if(newStudentNumCount == 0){
         if(newStudentNumCount == 0){
-            activityQueryDto.setNewStudentNum(0);
-        }else if(newStudentNumCount == userIds.size()){
             activityQueryDto.setNewStudentNum(1);
             activityQueryDto.setNewStudentNum(1);
+        }else if(newStudentNumCount == userIds.size()){
+            activityQueryDto.setNewStudentNum(0);
         }
         }
         if(memberCount == 0){
         if(memberCount == 0){
-            activityQueryDto.setMemberNum(0);
-        }else if(memberCount == userIds.size()){
             activityQueryDto.setMemberNum(1);
             activityQueryDto.setMemberNum(1);
+        }else if(memberCount == userIds.size()){
+            activityQueryDto.setMemberNum(0);
         }
         }
 
 
         SysUser student = teacherDao.getUser(userIds.get(0));
         SysUser student = teacherDao.getUser(userIds.get(0));
@@ -157,14 +157,14 @@ public class VipGroupActivityController extends BaseController {
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
 
 
         if(newStudentNumCount == 0){
         if(newStudentNumCount == 0){
-            activityQueryDto.setNewStudentNum(0);
-        }else if(newStudentNumCount == userIds.size()){
             activityQueryDto.setNewStudentNum(1);
             activityQueryDto.setNewStudentNum(1);
+        }else if(newStudentNumCount == userIds.size()){
+            activityQueryDto.setNewStudentNum(0);
         }
         }
         if(memberCount == 0){
         if(memberCount == 0){
-            activityQueryDto.setMemberNum(0);
-        }else if(memberCount == userIds.size()){
             activityQueryDto.setMemberNum(1);
             activityQueryDto.setMemberNum(1);
+        }else if(memberCount == userIds.size()){
+            activityQueryDto.setMemberNum(0);
         }
         }
 
 
         SysUser student = teacherDao.getUser(userIds.get(0));
         SysUser student = teacherDao.getUser(userIds.get(0));

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

@@ -35,7 +35,7 @@ import java.util.Objects;
  * @Author Joburgess
  * @Author Joburgess
  * @Date 2019/9/21
  * @Date 2019/9/21
  */
  */
-@Api(tags = "陪练课")
+@Api(tags = "网管课")
 @RequestMapping("practiceGroupManage")
 @RequestMapping("practiceGroupManage")
 @RestController
 @RestController
 public class PracticeGroupManageController extends BaseController {
 public class PracticeGroupManageController extends BaseController {

+ 4 - 7
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -112,9 +112,6 @@ public class VipGroupActivityController extends BaseController {
     @GetMapping("/findByVipGroupCategory")
     @GetMapping("/findByVipGroupCategory")
     @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/findByVipGroupCategory')")
     @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/findByVipGroupCategory')")
     public Object findByVipGroupCategory(ActivityQueryDto activityQueryDto){
     public Object findByVipGroupCategory(ActivityQueryDto activityQueryDto){
-        if(StringUtils.isBlank(activityQueryDto.getOrganId())){
-            return failed("请选择分部");
-        }
         if(activityQueryDto.getCategoryId() == null){
         if(activityQueryDto.getCategoryId() == null){
             return failed("请选择课程形式");
             return failed("请选择课程形式");
         }
         }
@@ -127,14 +124,14 @@ public class VipGroupActivityController extends BaseController {
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
 
 
         if(newStudentNumCount == 0){
         if(newStudentNumCount == 0){
-            activityQueryDto.setNewStudentNum(0);
-        }else if(newStudentNumCount == userIds.size()){
             activityQueryDto.setNewStudentNum(1);
             activityQueryDto.setNewStudentNum(1);
+        }else if(newStudentNumCount == userIds.size()){
+            activityQueryDto.setNewStudentNum(0);
         }
         }
         if(memberCount == 0){
         if(memberCount == 0){
-            activityQueryDto.setMemberNum(0);
-        }else if(memberCount == userIds.size()){
             activityQueryDto.setMemberNum(1);
             activityQueryDto.setMemberNum(1);
+        }else if(memberCount == userIds.size()){
+            activityQueryDto.setMemberNum(0);
         }
         }
 
 
         SysUser student = teacherDao.getUser(userIds.get(0));
         SysUser student = teacherDao.getUser(userIds.get(0));

+ 4 - 4
mec-web/src/main/java/com/ym/mec/web/controller/education/EduVipGroupActivityController.java

@@ -67,14 +67,14 @@ public class EduVipGroupActivityController extends BaseController {
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
         long memberCount = students.stream().filter(e -> e.getMemberRankSettingId() != null).count();
 
 
         if(newStudentNumCount == 0){
         if(newStudentNumCount == 0){
-            activityQueryDto.setNewStudentNum(0);
-        }else if(newStudentNumCount == userIds.size()){
             activityQueryDto.setNewStudentNum(1);
             activityQueryDto.setNewStudentNum(1);
+        }else if(newStudentNumCount == userIds.size()){
+            activityQueryDto.setNewStudentNum(0);
         }
         }
         if(memberCount == 0){
         if(memberCount == 0){
-            activityQueryDto.setMemberNum(0);
-        }else if(memberCount == userIds.size()){
             activityQueryDto.setMemberNum(1);
             activityQueryDto.setMemberNum(1);
+        }else if(memberCount == userIds.size()){
+            activityQueryDto.setMemberNum(0);
         }
         }
 
 
         SysUser student = teacherDao.getUser(userIds.get(0));
         SysUser student = teacherDao.getUser(userIds.get(0));