소스 검색

Merge remote-tracking branch 'origin/saas' into saas

yanite 3 년 전
부모
커밋
ad9add02f3

+ 119 - 623
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -66,10 +66,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Autowired
 	private MusicGroupPaymentCalenderCourseSettingsServiceImpl musicGroupPaymentCalenderCourseSettingsService;
 	@Autowired
-	private MusicGroupOrganizationCourseSettingsDetailDao musicGroupOrganizationCourseSettingsDetailDao;
-	@Autowired
-	private OrganizationCourseUnitPriceSettingsDao organizationCourseUnitPriceSettingsDao;
-	@Autowired
 	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
 	@Autowired
 	private MusicGroupSchoolTermCourseDetailDao musicGroupSchoolTermCourseDetailDao;
@@ -120,8 +116,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Autowired
 	private StudentPaymentOrderDao studentPaymentOrderDao;
 	@Autowired
-	private MemberFeeSettingDao memberFeeSettingDao;
-	@Autowired
 	private MemberRankPrivilegesService memberRankPrivilegesService;
 	@Autowired
 	private CloudTeacherOrderDao cloudTeacherOrderDao;
@@ -144,58 +138,19 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public String create(MusicGroupPaymentCalenderDto musicGroupPaymentCalenderDto) {
-
-		String musicGroupId = musicGroupPaymentCalenderDto.getMusicGroupId();
-
 		PaymentType paymentType = musicGroupPaymentCalenderDto.getPaymentType();
-		if(paymentType == ADD_COURSE || paymentType == MUSIC_APPLY || paymentType == MUSIC_RENEW){
+		if(paymentType != SPAN_GROUP_CLASS_ADJUST){
 			throw new BizException("操作失败:该入口不支持{}",paymentType.getDesc());
 		}
-
-		PayUserType payUserType = musicGroupPaymentCalenderDto.getPayUserType();
-
 		List<MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = musicGroupPaymentCalenderDto.getMusicGroupPaymentDateRangeList();
-
-		if(musicGroupPaymentCalenderDto.getMemberRankSettingId() != null){
-			if(paymentType != ADD_STUDENT && paymentType != MUSIC_APPLY && paymentType != MUSIC_RENEW){
-				throw new BizException("操作失败:{} 不支持会员收费",paymentType.getDesc());
-			}
-		}
-
 		if(musicGroupPaymentDateRangeList.size() > 1){
 			throw new BizException("创建缴费失败:不支持多周期缴费");
 		}
+		String musicGroupId = musicGroupPaymentCalenderDto.getMusicGroupId();
 		MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
 		if (musicGroup == null) {
 			throw new BizException("乐团查询失败,请检查参数");
 		}
-		if (paymentType == PaymentType.ADD_STUDENT) {
-			//获取缴费状态在审核中或者已拒绝的缴费项目的学员
-			Integer userId = Integer.parseInt(musicGroupPaymentCalenderDto.getStudentIds());
-			if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
-				//该学员是否在其他的会员团
-				boolean hasMemberGroup = studentRegistrationDao.checkHasMemberGroup(musicGroupId,userId);
-				if(hasMemberGroup){
-					throw new BizException("操作失败:学员已在其他系统收费乐团中,不可报名该乐团请联系教务老师");
-				}
-			}
-
-			String studentIds = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroupId,null);
-			if(StringUtils.isNotEmpty(studentIds)){
-				if(studentIds.contains(userId.toString())){
-					throw new BizException("创建缴费失败:所选学员有待审核或已拒绝的缴费项目");
-				}
-			}
-			List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryNotPaymentStudentByUserIdAndMusicGroupId(userId, musicGroupId);
-			if(musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0){
-				throw new BizException("创建缴费失败:已存在缴费项目");
-			}
-		}
-
-		if (musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS && musicGroup.getStatus() != MusicGroupStatusEnum.PRE_BUILD_FEE) {
-			throw new BizException("创建缴费失败:已存在缴费项目");
-		}
-		
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			throw new BizException("请登录");
@@ -208,285 +163,55 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 		}
 
-		// 不是进行中,只能创建一次缴费
-		if (musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS) {
-			List<MusicGroupPaymentCalender> list = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
-			if (list.size() > 0) {
-				throw new BizException("创建失败,已经存在缴费信息");
-			}
-		}
+		List<MusicGroupPaymentCalenderStudentDetail> calenderStudentDetails = musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails();
 
-		PaymentCalenderStatusEnum status = PaymentCalenderStatusEnum.NO;
+		PaymentCalenderStatusEnum status = musicGroupPaymentCalenderDto.getStatus();
 
 		Date date = new Date();
 		String batchNo = idGeneratorService.generatorId() + "";
 
-		// 获取设置的课程收费标准
-		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalenderDto
-				.getMusicGroupPaymentCalenderCourseSettingsList();
-
-		if(musicGroupPaymentCalenderCourseSettingsList != null){
-			// 必须课程缴费金额为0时,报名、续费不能建多期
-			if(paymentType == MUSIC_APPLY || paymentType == MUSIC_RENEW){
-				BigDecimal noOptionalCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream()
-						.filter(e -> !e.getIsStudentOptional()).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice)
-						.reduce(BigDecimal.ZERO, BigDecimal::add);
-				if(noOptionalCoursePrice.compareTo(BigDecimal.ZERO) <= 0 && musicGroupPaymentDateRangeList.size() > 1){
-					throw new BizException("必选课程缴费金额为0时不支持多周期缴费");
-				}
-			}
-		}
-		//会员原价
-		BigDecimal memberPaymentAmount = BigDecimal.ZERO;
-		BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
-		if (payUserType == SCHOOL) {
-			status = AUDITING;
-		} else {
-			if(musicGroupPaymentCalenderCourseSettingsList != null){
-				if (paymentType == MUSIC_APPLY || paymentType == MUSIC_RENEW) {
-					// 当前缴费的课程费用
-					Map<CourseScheduleType, BigDecimal> currentCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream().collect(
-							Collectors
-									.toMap(MusicGroupPaymentCalenderCourseSettings::getCourseType, MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice));
-
-					// 查询默认课程费用
-					Integer musicGroupOrganizationCourseSettingId = musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId();
-					Map<CourseScheduleType, BigDecimal> defaultCoursePrice = musicGroupOrganizationCourseSettingsDetailDao
-							.queryByMusicGroupOrganizationCourseSettingsId(musicGroupOrganizationCourseSettingId)
-							.stream()
-							.collect(
-									Collectors.toMap(MusicGroupOrganizationCourseSettingsDetail::getCourseType,
-											MusicGroupOrganizationCourseSettingsDetail::getCourseCurrentPrice));
-
-					// 相同类型的课程如果修改了课程费用,需要走审批
-					for (Entry<CourseScheduleType, BigDecimal> entry : currentCoursePrice.entrySet()) {
-						if (defaultCoursePrice.get(entry.getKey()).compareTo(entry.getValue()) != 0) {
-							status = AUDITING;
-							break;
-						}
-					}
-				} else if (paymentType == PaymentType.ADD_COURSE || paymentType == PaymentType.ADD_STUDENT) {
-					PaymentCalenderStatusEnum dtoStatus = musicGroupPaymentCalenderDto.getStatus();
-					if(dtoStatus != null && dtoStatus == AUDITING){
-						status = AUDITING;
-					}else {
-						// 如果是课程收费,判断是否审核
-						for (MusicGroupPaymentCalenderCourseSettings courseSettings : musicGroupPaymentCalenderCourseSettingsList) {
-							OrganizationCourseUnitPriceSettings defaultUnitPrice = organizationCourseUnitPriceSettingsDao.queryByOrganIdAndCourseTypeAndChargeType(
-									musicGroup.getOrganId(), courseSettings.getCourseType(), musicGroup.getChargeTypeId());
-							if (defaultUnitPrice == null) {
-								throw new BizException("请先设置分部课程类型单价");
-							}
-							if (courseSettings.getCourseTotalMinuties() != 0) {
-
-								if (defaultUnitPrice.getUnitPrice().multiply(new BigDecimal(courseSettings.getCourseTotalMinuties())).setScale(0, BigDecimal.ROUND_HALF_UP)
-										.compareTo(courseSettings.getCourseCurrentPrice()) != 0) {
-
-									status = AUDITING;
-									break;
-								}
-							} else {
-								status = AUDITING;
-								break;
-							}
-						}
-					}
-				}else if(paymentType == SPAN_GROUP_CLASS_ADJUST){
-					status = musicGroupPaymentCalenderDto.getStatus();
-				}
-			}
-			if(musicGroupPaymentCalenderDto.getMemberRankSettingId() != null){
-				//会员价格是否变动
-				MemberFeeSetting memberFee = memberFeeSettingDao.findByRankIdAndOrganId(musicGroup.getOrganId(), musicGroupPaymentCalenderDto.getMemberRankSettingId());
-				if(memberFee == null){
-					throw new BizException("操作失败:请配置当前分部会员收费标准");
-				}
-				switch (musicGroupPaymentCalenderDto.getMemberValidDate()){
-					case 1 :
-						memberPaymentAmount = memberFee.getGroupPurchaseMonthFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalMonthFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					case 6 :
-						memberPaymentAmount = memberFee.getGroupPurchaseHalfYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalHalfYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					case 12 :
-						memberPaymentAmount = memberFee.getGroupPurchaseYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					default:
-						throw new BizException("请选择正确的会员有效期");
-				}
-				if(memberPaymentAmount.compareTo(musicGroupPaymentCalenderDto.getMemberPaymentAmount()) != 0){
-					status = AUDITING;
-				}
-			}
-		}
-
-		int times = musicGroupPaymentDateRangeList.size();
-
-		// 排序
-		Collections.sort(musicGroupPaymentDateRangeList, new Comparator<MusicGroupPaymentDateRange>() {
-
-			@Override
-			public int compare(MusicGroupPaymentDateRange o1, MusicGroupPaymentDateRange o2) {
-				return o1.getPaymentValidStartDate().compareTo(o2.getPaymentValidStartDate());
-			}
-		});
-
-		for (int i = 0; i < musicGroupPaymentDateRangeList.size(); i++) {
-
-			MusicGroupPaymentDateRange musicGroupPaymentDateRange = musicGroupPaymentDateRangeList.get(i);
-
-			MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
-			musicGroupPaymentCalender.setAttribute1(musicGroupPaymentCalenderDto.getAttribute1());
-			musicGroupPaymentCalender.setOriginalMemberPaymentAmount(originalMemberPaymentAmount);
-			musicGroupPaymentCalender.setAttribute2(musicGroupPaymentCalenderDto.getAttribute2());
-			musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentDateRange.getDeadlinePaymentDate());
-//			musicGroupPaymentCalender.setIsGiveMusicNetwork(musicGroupPaymentCalenderDto.getIsGiveMusicNetwork());
-			musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
-			musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
-			musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
-
-			BigDecimal totalPaymentAmount = musicGroupPaymentCalenderDto.getMasterTotalPrice();
-			if(musicGroupPaymentCalenderCourseSettingsList != null){
-				List<MusicGroupPaymentCalenderCourseSettings> newCSList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>(
-						musicGroupPaymentCalenderCourseSettingsList.size());
-				for (MusicGroupPaymentCalenderCourseSettings pccs : musicGroupPaymentCalenderCourseSettingsList) {
-
-					MusicGroupPaymentCalenderCourseSettings tempPccs = new MusicGroupPaymentCalenderCourseSettings();
-					try {
-						BeanUtils.copyProperties(tempPccs, pccs);
-					} catch (Exception e) {
-						throw new BizException("克隆对象出错", e);
-					}
-					if (i == 0) {
-						if (pccs.getIsStudentOptional()) {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice());
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice());
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties());
-						} else {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice().subtract(
-									pccs.getCourseCurrentPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(times - 1))
-											.setScale(0, BigDecimal.ROUND_DOWN)));
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice().subtract(
-									pccs.getCourseOriginalPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(times - 1))
-											.setScale(0, BigDecimal.ROUND_DOWN)));
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties() - pccs.getCourseTotalMinuties() / times * (times - 1));
-						}
-					} else {
-						if (!pccs.getIsStudentOptional()) {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties() / times);
-						} else {
-							continue;
-						}
-					}
-					totalPaymentAmount = totalPaymentAmount.add(tempPccs.getCourseCurrentPrice());
-					newCSList.add(tempPccs);
-				}
-				musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(newCSList);
-				musicGroupPaymentCalender.setCurrentTotalAmount(musicGroupPaymentCalenderCourseSettingsList.stream().map(e->e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO,BigDecimal::add));
-			}
-			musicGroupPaymentCalender.setOriginalTotalAmount(musicGroupPaymentCalenderDto.getOriginalAmount());
-
-			if (paymentType == PaymentType.MUSIC_APPLY) {
-				if (i == 0) {
-					musicGroupPaymentCalender.setPaymentType(paymentType);
-				} else {
-					musicGroupPaymentCalender.setPaymentType(PaymentType.MUSIC_RENEW);
-				}
+		MusicGroupPaymentDateRange musicGroupPaymentDateRange = musicGroupPaymentDateRangeList.get(0);
+		MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
+		musicGroupPaymentCalender.setAttribute1(musicGroupPaymentCalenderDto.getAttribute1());
+		musicGroupPaymentCalender.setAttribute2(musicGroupPaymentCalenderDto.getAttribute2());
+		musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentDateRange.getDeadlinePaymentDate());
+		musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
+		musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
+		musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
+
+		musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(e->e.getCourseOriginalPrice()).reduce(BigDecimal.ZERO,BigDecimal::add));
+		musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(e->e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO,BigDecimal::add));
+		musicGroupPaymentCalender.setPaymentType(paymentType);
+		musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
+		musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
+		musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
+		musicGroupPaymentCalender.setOperator(sysUser.getId());
+		musicGroupPaymentCalender.setCreateTime(date);
+		musicGroupPaymentCalender.setUpdateTime(date);
+		musicGroupPaymentCalender.setStatus(status);
+		musicGroupPaymentCalender.setOrganId(musicGroup.getOrganId());
+		if (musicGroupPaymentCalender.getStatus() != AUDITING) {
+			if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
+			} else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
 			} else {
-				musicGroupPaymentCalender.setPaymentType(paymentType);
-			}
-			musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
-			musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
-			musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
-			musicGroupPaymentCalender.setOperator(sysUser.getId());
-			musicGroupPaymentCalender.setCreateTime(date);
-			musicGroupPaymentCalender.setUpdateTime(date);
-			musicGroupPaymentCalender.setStatus(status);
-			musicGroupPaymentCalender.setOrganId(musicGroup.getOrganId());
-
-			//缴费截止日期默认三天后
-			if (musicGroupPaymentCalender.getDeadlinePaymentDate() == null && payUserType == PayUserType.STUDENT) {
-				musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
-			}
-
-			if (paymentType == PaymentType.ADD_STUDENT) {
-				musicGroupPaymentCalender.setPayUserType(STUDENT);
-				if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-					musicGroupPaymentCalender.setExpectNum(1);
-				}
-			}
-			if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-				if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
-				} else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
-				} else {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
-				}
-			}
-
-			// 设置批次号
-			musicGroupPaymentCalender.setBatchNo(batchNo);
-			musicGroupPaymentCalenderDto.setBatchNo(batchNo);
-			musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
-
-			//课程费用列表
-			musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
-
-			//如果是跨团班级合并,保存用户缴费详情
-			List<MusicGroupPaymentCalenderStudentDetail> musicGroupPaymentCalenderStudentDetails = null;
-			if (musicGroupPaymentCalender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
-				musicGroupPaymentCalenderStudentDetails = musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails();
-				//记录学员缴费详情
-				musicGroupPaymentCalenderStudentDetailDao.batchInsert(musicGroupPaymentCalenderStudentDetails,musicGroupPaymentCalender.getBatchNo());
-			}
-
-			if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-				// 如果是进行中加学生
-				if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
-					addStudent(musicGroupPaymentCalender, musicGroupPaymentCalender
-							.getMusicGroupPaymentCalenderCourseSettingsList(),musicGroup);
-				}else if(musicGroupPaymentCalender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
-					//如果是跨团班级合并,添加学员
-					musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender,musicGroupPaymentCalenderStudentDetails);
-				}else if(musicGroupPaymentCalenderDto.getMergeClassFlag()){
-					//缴费项目添加学员
-					int[] ints = Arrays.stream(musicGroupPaymentCalenderDto.getStudentIds().split(",")).mapToInt(Integer::parseInt).toArray();
-					Set<Integer> list2 = Arrays.stream(ints).boxed().collect(Collectors.toSet());
-					musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender.getId(),list2,musicGroup,false);
-				}
-				//将0元未缴费学员缴费状态更新为已缴费
-				this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
 			}
 		}
-
-		// 如果是报名,需要修改乐团状态
-		if (paymentType == MUSIC_APPLY) {
-			if (status != AUDITING) {
-				musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(创建缴费 -> 报名中)", sysUser.getId(), ""));
-			} else {
-				musicGroup.setStatus(MusicGroupStatusEnum.FEE_AUDIT);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(创建缴费 -> 费用审核中)", sysUser.getId(), ""));
-			}
-			musicGroup.setUpdateTime(date);
-			musicGroupDao.update(musicGroup);
-		} else if (paymentType == ADD_STUDENT) {
-			if (status != AUDITING) {
-				// 学生加到班级
-				String classGroupIdStr = musicGroupPaymentCalenderDto.getAttribute1();
-				classGroupService.addStudentToClassGroupAndCourseArranging(Integer.parseInt(musicGroupPaymentCalenderDto.getStudentIds()), classGroupIdStr,
-						batchNo, musicGroupPaymentCalenderCourseSettingsList,musicGroup);
-			}
+		// 设置批次号
+		musicGroupPaymentCalender.setBatchNo(batchNo);
+		musicGroupPaymentCalenderDto.setBatchNo(batchNo);
+		musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
+		//如果是跨团班级合并,保存用户缴费详情
+		//记录学员缴费详情
+		musicGroupPaymentCalenderStudentDetailDao.batchInsert(musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails(),musicGroupPaymentCalender.getBatchNo());
+		if (musicGroupPaymentCalender.getStatus() != AUDITING) {
+			//如果是跨团班级合并,添加学员
+			musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender,musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails());
+			//将0元未缴费学员缴费状态更新为已缴费
+			this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
 		}
-
 		if (status == AUDITING) {
 			// 如果是审核中
 			Organization organization = organizationDao.get(musicGroup.getOrganId());
@@ -495,7 +220,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}else {
 			imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);
 		}
-
 		return batchNo;
 	}
 
@@ -795,31 +519,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if(musicGroupPaymentCalenderList == null || musicGroupPaymentCalenderList.size() == 0){
 			throw new BizException("[批次号]参数错误");
 		}
-		
 		PaymentCalenderStatusEnum status = musicGroupPaymentCalenderList.get(0).getStatus();
 		if(status != PaymentCalenderStatusEnum.REJECT && status != PaymentCalenderStatusEnum.DRAFT){
 			throw new BizException("{}的缴费状态不允许修改",status.getDesc());
 		}
-		String musicGroupId = musicGroupPaymentCalenderDto.getMusicGroupId();
-
 		PaymentType paymentType = musicGroupPaymentCalenderDto.getPaymentType();
-
-		PayUserType payUserType = musicGroupPaymentCalenderDto.getPayUserType();
-
-		List<MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = musicGroupPaymentCalenderDto.getMusicGroupPaymentDateRangeList();
-
-		if(musicGroupPaymentCalenderDto.getMemberRankSettingId() != null){
-			if(paymentType != ADD_STUDENT && paymentType != MUSIC_APPLY && paymentType != MUSIC_RENEW){
-				throw new BizException("操作失败:{} 不支持会员收费",paymentType.getDesc());
-			}
+		if(paymentType != SPAN_GROUP_CLASS_ADJUST){
+			throw new BizException("操作失败:该入口不支持{}",paymentType.getDesc());
 		}
-
-		if ((paymentType == PaymentType.ADD_COURSE) && musicGroupPaymentDateRangeList.size() > 1) {
-			throw new BizException("[临时加课]不支持多周期缴费");
+		List<MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = musicGroupPaymentCalenderDto.getMusicGroupPaymentDateRangeList();
+		if(musicGroupPaymentDateRangeList.size() > 1){
+			throw new BizException("创建缴费失败:不支持多周期缴费");
 		}
+		String musicGroupId = musicGroupPaymentCalenderDto.getMusicGroupId();
 
 		MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
-
 		if (musicGroup == null) {
 			throw new BizException("乐团查询失败,请检查参数");
 		}
@@ -827,9 +541,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (sysUser == null) {
 			throw new BizException("请登录");
 		}
-		if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && musicGroupPaymentDateRangeList.size() > 1) {
-			throw new BizException("创建缴费失败:会员收费乐团不支持多周期缴费");
-		}
 
 		List<Long> calenderIds = musicGroupPaymentCalenderList.stream().map(MusicGroupPaymentCalender :: getId).collect(Collectors.toList());
 		//删除原来数据
@@ -840,281 +551,82 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 		Date date = new Date();
 
-		// 获取设置的课程
-		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalenderDto
-				.getMusicGroupPaymentCalenderCourseSettingsList();
-
-		//会员原价
-		BigDecimal memberPaymentAmount = BigDecimal.ZERO;
-		BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
-		if (payUserType == SCHOOL) {
-			status = AUDITING;
-		} else {
-			if(musicGroupPaymentCalenderCourseSettingsList != null){
-				if (paymentType == MUSIC_APPLY || paymentType == MUSIC_RENEW) {
-					// 当前缴费的课程费用
-					Map<CourseScheduleType, BigDecimal> currentCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream().collect(
-							Collectors
-									.toMap(MusicGroupPaymentCalenderCourseSettings::getCourseType, MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice));
-
-					// 查询默认课程费用
-					Integer musicGroupOrganizationCourseSettingId = musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId();
-					Map<CourseScheduleType, BigDecimal> defaultCoursePrice = musicGroupOrganizationCourseSettingsDetailDao
-							.queryByMusicGroupOrganizationCourseSettingsId(musicGroupOrganizationCourseSettingId)
-							.stream()
-							.collect(
-									Collectors.toMap(MusicGroupOrganizationCourseSettingsDetail::getCourseType,
-											MusicGroupOrganizationCourseSettingsDetail::getCourseCurrentPrice));
-
-					// 相同类型的课程如果修改了课程费用,需要走审批
-					for (Entry<CourseScheduleType, BigDecimal> entry : currentCoursePrice.entrySet()) {
-						if (defaultCoursePrice.get(entry.getKey()).compareTo(entry.getValue()) != 0) {
-							status = AUDITING;
-							break;
-						}
-					}
-				} else if (paymentType == PaymentType.ADD_COURSE || paymentType == PaymentType.ADD_STUDENT) {
-					// 如果是临时加课,判断是否审核
-					for (MusicGroupPaymentCalenderCourseSettings courseSettings : musicGroupPaymentCalenderCourseSettingsList) {
-						OrganizationCourseUnitPriceSettings defaultUnitPrice = organizationCourseUnitPriceSettingsDao.queryByOrganIdAndCourseTypeAndChargeType(
-								musicGroup.getOrganId(), courseSettings.getCourseType(), musicGroup.getChargeTypeId());
-						if (defaultUnitPrice == null) {
-							throw new BizException("请先设置分部课程类型单价");
-						}
-						if (courseSettings.getCourseTotalMinuties() != 0) {
-							if (defaultUnitPrice.getUnitPrice().multiply(new BigDecimal(courseSettings.getCourseTotalMinuties())).setScale(0, BigDecimal.ROUND_HALF_UP)
-									.compareTo(courseSettings.getCourseCurrentPrice()) != 0) {
-
-								status = AUDITING;
-								break;
-							}
-						} else {
-							status = AUDITING;
-							break;
-						}
-					}
-				}else if(paymentType == SPAN_GROUP_CLASS_ADJUST){
-					MusicGroupStudentClassAdjust adjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
-					//获取默认的学员缴费详情
-					List<Integer> studentIdList = JSON.parseArray(adjust.getStudentIds(), Integer.class);
-					//获取欠费学员列表
-					List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(musicGroup.getId(), studentIdList);
-					if(noPaymentUserIds.size() > 0){
-						throw new BizException("操作失败:有欠费的学员不允许创建缴费");
-					}
-					//获取缴费状态在审核中或者已拒绝的缴费项目的学员
-					String studentIds = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroupId,batchNo);
-					if(StringUtils.isNotEmpty(studentIds)){
-						for (Integer integer : studentIdList) {
-							if(studentIds.contains(integer.toString())){
-								throw new BizException("操作失败:所选学员有待审核或已拒绝的缴费项目");
-							}
-						}
-					}
-
-					List<MusicGroupPaymentCalenderStudentDetail> musicGroupPaymentCalenderStudentDetails = classGroupService.queryStudentPaymentCalenders(adjust.getMasterClassGroupId(),
-							adjust.getClassGroupStudents(),studentIdList);
-					List<MusicGroupPaymentCalenderStudentDetail> calenderStudentDetails = musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails();
-
-					boolean containsAll = musicGroupPaymentCalenderStudentDetails.containsAll(calenderStudentDetails);
-					if(!containsAll){
-						status = AUDITING;
-						//保存新的学员详情
-					}
-					//删除之前的记录
-					musicGroupPaymentCalenderStudentDetailDao.delByBatchNo(batchNo);
-					//保存现有记录
-					musicGroupPaymentCalenderStudentDetailDao.batchInsert(calenderStudentDetails,batchNo);
-				}
-			}
-			if(musicGroupPaymentCalenderDto.getMemberRankSettingId() != null){
-				//会员价格是否变动
-				MemberFeeSetting memberFee = memberFeeSettingDao.findByRankIdAndOrganId(musicGroup.getOrganId(), musicGroupPaymentCalenderDto.getMemberRankSettingId());
-				if(memberFee == null){
-					throw new BizException("操作失败:请配置当前分部会员收费标准");
-				}
-				switch (musicGroupPaymentCalenderDto.getMemberValidDate()){
-					case 1 :
-						memberPaymentAmount = memberFee.getGroupPurchaseMonthFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalMonthFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					case 6 :
-						memberPaymentAmount = memberFee.getGroupPurchaseHalfYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalHalfYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					case 12 :
-						memberPaymentAmount = memberFee.getGroupPurchaseYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						originalMemberPaymentAmount = memberFee.getOriginalYearFee().setScale(0, BigDecimal.ROUND_HALF_UP);
-						break;
-					default:
-						throw new BizException("请选择正确的会员有效期");
-				}
-				if(memberPaymentAmount.compareTo(musicGroupPaymentCalenderDto.getMemberPaymentAmount()) != 0){
-					status = AUDITING;
+		MusicGroupStudentClassAdjust adjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
+		//获取默认的学员缴费详情
+		List<Integer> studentIdList = JSON.parseArray(adjust.getStudentIds(), Integer.class);
+		//获取欠费学员列表
+		List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(musicGroup.getId(), studentIdList);
+		if(noPaymentUserIds.size() > 0){
+			throw new BizException("操作失败:有欠费的学员不允许创建缴费");
+		}
+		//获取缴费状态在审核中或者已拒绝的缴费项目的学员
+		String studentIds = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroupId,batchNo);
+		if(StringUtils.isNotEmpty(studentIds)){
+			for (Integer integer : studentIdList) {
+				if(studentIds.contains(integer.toString())){
+					throw new BizException("操作失败:所选学员有待审核或已拒绝的缴费项目");
 				}
 			}
 		}
 
-		int times = musicGroupPaymentDateRangeList.size();
-
-		// 排序
-		Collections.sort(musicGroupPaymentDateRangeList, new Comparator<MusicGroupPaymentDateRange>() {
-
-			@Override
-			public int compare(MusicGroupPaymentDateRange o1, MusicGroupPaymentDateRange o2) {
-				return o1.getPaymentValidStartDate().compareTo(o2.getPaymentValidStartDate());
-			}
-		});
-
-		for (int i = 0; i < musicGroupPaymentDateRangeList.size(); i++) {
-
-			MusicGroupPaymentDateRange musicGroupPaymentDateRange = musicGroupPaymentDateRangeList.get(i);
-
-			MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
-			musicGroupPaymentCalender.setAttribute1(musicGroupPaymentCalenderDto.getAttribute1());
-			musicGroupPaymentCalender.setAttribute2(musicGroupPaymentCalenderDto.getAttribute2());
-			musicGroupPaymentCalender.setOriginalMemberPaymentAmount(originalMemberPaymentAmount);
-			musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentDateRange.getDeadlinePaymentDate());
-//			musicGroupPaymentCalender.setIsGiveMusicNetwork(musicGroupPaymentCalenderDto.getIsGiveMusicNetwork());
-			musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
-			musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
-			musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
-			BigDecimal totalPaymentAmount = BigDecimal.ZERO;
-			if(musicGroupPaymentCalenderCourseSettingsList != null){
-				List<MusicGroupPaymentCalenderCourseSettings> newCSList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>(
-						musicGroupPaymentCalenderCourseSettingsList.size());
-
-				if(musicGroupPaymentCalenderDto.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
-					totalPaymentAmount = musicGroupPaymentDateRange.getPaymentAmount();
-				}
-				for (MusicGroupPaymentCalenderCourseSettings pccs : musicGroupPaymentCalenderCourseSettingsList) {
+		List<MusicGroupPaymentCalenderStudentDetail> musicGroupPaymentCalenderStudentDetails = classGroupService.queryStudentPaymentCalenders(adjust.getMasterClassGroupId(),
+				adjust.getClassGroupStudents(),studentIdList);
+		List<MusicGroupPaymentCalenderStudentDetail> calenderStudentDetails = musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails();
 
-					MusicGroupPaymentCalenderCourseSettings tempPccs = new MusicGroupPaymentCalenderCourseSettings();
-					try {
-						BeanUtils.copyProperties(tempPccs, pccs);
-					} catch (Exception e) {
-						throw new BizException("克隆对象出错", e);
-					}
-					if (i == 0) {
-						if (pccs.getIsStudentOptional()) {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice());
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice());
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties());
-						} else {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice().subtract(
-									pccs.getCourseCurrentPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(times - 1))
-											.setScale(0, BigDecimal.ROUND_DOWN)));
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice().subtract(
-									pccs.getCourseOriginalPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(times - 1))
-											.setScale(0, BigDecimal.ROUND_DOWN)));
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties() - pccs.getCourseTotalMinuties() / times * (times - 1));
-						}
-					} else {
-						if (!pccs.getIsStudentOptional()) {
-							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
-							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
-							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties() / times);
-						} else {
-							continue;
-						}
-					}
-					totalPaymentAmount = totalPaymentAmount.add(tempPccs.getCourseCurrentPrice());
-					newCSList.add(tempPccs);
-				}
-				musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(newCSList);
-			}
-
-			musicGroupPaymentCalender.setCurrentTotalAmount(totalPaymentAmount);
+		boolean containsAll = musicGroupPaymentCalenderStudentDetails.containsAll(calenderStudentDetails);
+		if(!containsAll){
+			status = AUDITING;
+		}
+		//删除之前的记录
+		musicGroupPaymentCalenderStudentDetailDao.delByBatchNo(batchNo);
+		//保存现有记录
+		musicGroupPaymentCalenderStudentDetailDao.batchInsert(calenderStudentDetails,batchNo);
 
-			if (paymentType == PaymentType.MUSIC_APPLY) {
-				if (i == 0) {
-					musicGroupPaymentCalender.setPaymentType(paymentType);
-				} else {
-					musicGroupPaymentCalender.setPaymentType(PaymentType.MUSIC_RENEW);
-				}
+		MusicGroupPaymentDateRange musicGroupPaymentDateRange = musicGroupPaymentDateRangeList.get(0);
+		MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
+		musicGroupPaymentCalender.setAttribute1(musicGroupPaymentCalenderDto.getAttribute1());
+		musicGroupPaymentCalender.setAttribute2(musicGroupPaymentCalenderDto.getAttribute2());
+		musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentDateRange.getDeadlinePaymentDate());
+		musicGroupPaymentCalender.setMemo(musicGroupPaymentCalenderDto.getMemo());
+		musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
+		musicGroupPaymentCalender.setMusicGroupOrganizationCourseSettingId(musicGroupPaymentCalenderDto.getMusicGroupOrganizationCourseSettingId());
+		musicGroupPaymentCalender.setOriginalTotalAmount(calenderStudentDetails.stream().map(e->e.getCourseOriginalPrice()).reduce(BigDecimal.ZERO,BigDecimal::add));
+		musicGroupPaymentCalender.setCurrentTotalAmount(calenderStudentDetails.stream().map(e->e.getCourseCurrentPrice()).reduce(BigDecimal.ZERO,BigDecimal::add));
+		musicGroupPaymentCalender.setPaymentType(paymentType);
+		musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
+		musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
+		musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
+		musicGroupPaymentCalender.setOperator(sysUser.getId());
+		musicGroupPaymentCalender.setCreateTime(date);
+		musicGroupPaymentCalender.setUpdateTime(date);
+		musicGroupPaymentCalender.setStatus(status);
+		musicGroupPaymentCalender.setOrganId(musicGroup.getOrganId());
+		if (musicGroupPaymentCalender.getStatus() != AUDITING) {
+			if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
+			} else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
 			} else {
-				musicGroupPaymentCalender.setPaymentType(paymentType);
-			}
-			musicGroupPaymentCalender.setPayUserType(musicGroupPaymentCalenderDto.getPayUserType());
-			musicGroupPaymentCalender.setStartPaymentDate(musicGroupPaymentDateRange.getStartPaymentDate());
-			if(StringUtils.isNotEmpty(musicGroupPaymentCalenderDto.getStudentIds())){
-				musicGroupPaymentCalender.setStudentIds(musicGroupPaymentCalenderDto.getStudentIds());
-			}
-			musicGroupPaymentCalender.setOperator(sysUser.getId());
-			musicGroupPaymentCalender.setCreateTime(date);
-			musicGroupPaymentCalender.setUpdateTime(date);
-			musicGroupPaymentCalender.setStatus(status);
-
-			if (musicGroupPaymentCalender.getDeadlinePaymentDate() == null && payUserType == PayUserType.STUDENT) {
-				musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
-			}
-
-			if (paymentType == PaymentType.ADD_STUDENT) {
-				musicGroupPaymentCalender.setPayUserType(STUDENT);
-//				musicGroupPaymentCalender.setIsGiveMusicNetwork(false);
-				if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-					musicGroupPaymentCalender.setExpectNum(1);
-				}
-			}
-			if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-				if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
-				} else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
-				} else {
-					musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
-				}
-			}
-
-			// 设置批次号
-			musicGroupPaymentCalender.setBatchNo(batchNo);
-			//设置会员缴费金额、级别以及有效期
-//			musicGroupPaymentCalender.setMemberPaymentAmount(musicGroupPaymentCalenderDto.getMemberPaymentAmount());
-//			musicGroupPaymentCalender.setMemberRankSettingId(musicGroupPaymentCalenderDto.getMemberRankSettingId());
-//			musicGroupPaymentCalender.setMemberValidDate(musicGroupPaymentCalenderDto.getMemberValidDate());
-			musicGroupPaymentCalenderDto.setBatchNo(batchNo);
-			musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
-			List<MusicGroupPaymentCalenderCourseSettings> currentMusicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalender
-					.getMusicGroupPaymentCalenderCourseSettingsList();
-
-			if (musicGroupPaymentCalender.getStatus() != AUDITING) {
-				// 如果是进行中加学生
-				if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
-					addStudent(musicGroupPaymentCalender, currentMusicGroupPaymentCalenderCourseSettings,musicGroup);
-				}else if(musicGroupPaymentCalender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
-					//如果是跨团班级合并,添加学员
-					musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender,musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails());
-				}
-				//将0元未缴费学员缴费状态更新为已缴费
-				this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
 			}
-
-			//课程费用列表
-			musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
 		}
+		// 设置批次号
+		musicGroupPaymentCalender.setBatchNo(batchNo);
+		musicGroupPaymentCalenderDto.setBatchNo(batchNo);
+		musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
+		List<MusicGroupPaymentCalenderCourseSettings> currentMusicGroupPaymentCalenderCourseSettings = musicGroupPaymentCalender
+				.getMusicGroupPaymentCalenderCourseSettingsList();
 
-		// 如果是报名,需要修改乐团状态
-		if (paymentType == MUSIC_APPLY) {
-			if (status != AUDITING) {
-				musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(创建缴费 -> 报名中)", sysUser.getId(), ""));
-			} else {
-				musicGroup.setStatus(MusicGroupStatusEnum.FEE_AUDIT);
-				// 记录操作日志
-				musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "报名缴费项目创建成功(创建缴费 -> 费用审核中)", sysUser.getId(), ""));
-			}
-			musicGroup.setUpdateTime(date);
-			musicGroupDao.update(musicGroup);
-		} else if (paymentType == ADD_STUDENT) {
-			if (status != AUDITING) {
-				// 学生加到班级
-				String classGroupIdStr = musicGroupPaymentCalenderDto.getAttribute1();
-				if (StringUtils.isNotBlank(classGroupIdStr)) {
-					classGroupService.addStudentToClassGroupAndCourseArranging(Integer.parseInt(musicGroupPaymentCalenderDto.getStudentIds()), classGroupIdStr,
-							batchNo, musicGroupPaymentCalenderCourseSettingsList,musicGroup);
-				}
+		if (musicGroupPaymentCalender.getStatus() != AUDITING) {
+			// 如果是进行中加学生
+			if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
+				addStudent(musicGroupPaymentCalender, currentMusicGroupPaymentCalenderCourseSettings,musicGroup);
+			}else if(musicGroupPaymentCalender.getPaymentType() == SPAN_GROUP_CLASS_ADJUST){
+				//如果是跨团班级合并,添加学员
+				musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalender,musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderStudentDetails());
 			}
+			//将0元未缴费学员缴费状态更新为已缴费
+			this.updateNoPaymentAndZeroPaymentStatus(musicGroupPaymentCalender,true);
 		}
 
 		if (status == AUDITING) {
@@ -1123,29 +635,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(),new SysUserRoleEnum[]{ORGAN_MANAGER},
 					null,null,MessageTypeEnum.BACKSTAGE_PAYMENT_CALENDER_AUDIT,organization.getName(), musicGroup.getName());
 		}else {
-			if(paymentType == ADD_STUDENT){
-				MusicGroupStudentClassAdjust musicGroupStudentClassAdjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
-				if(musicGroupStudentClassAdjust != null){
-					//如果是合班缴费
-					autoClassGroupAdjust(musicGroupStudentClassAdjust);
-				}else {
-					imUserFriendService.refreshGroupImUserFriend(musicGroupId,GroupType.MUSIC);
-				}
-			}else if(paymentType == SPAN_GROUP_CLASS_ADJUST){
-				//删除和解冻班级,课程信息
-				MusicGroupStudentClassAdjust adjust = musicGroupStudentClassAdjustDao.findByBatchNo(batchNo);
-				List<Map> classGroupStudents = JSON.parseArray(adjust.getClassGroupStudents(),Map.class);
-				List<Integer> studentIds = JSON.parseArray(adjust.getStudentIds(), Integer.class);
-				List<Long> courseIds = JSON.parseArray(adjust.getSubLockCourseIds(), Long.class);
-				List<Long> allLockCourseIds = JSON.parseArray(adjust.getAllLockCourseIds(), Long.class);
-				classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
-						,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
-			}
+			//删除和解冻班级,课程信息
+			List<Map> classGroupStudents = JSON.parseArray(adjust.getClassGroupStudents(),Map.class);
+			List<Long> courseIds = JSON.parseArray(adjust.getSubLockCourseIds(), Long.class);
+			List<Long> allLockCourseIds = JSON.parseArray(adjust.getAllLockCourseIds(), Long.class);
+			classGroupService.spanGroupClassAdjustPass(adjust.getMasterClassGroupId()
+					,studentIdList,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
 		}
-
-		//统计变更学员数
-		groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);
-
 		return batchNo;
 	}
 

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/CloudCoachPaymentProgramMapper.xml

@@ -92,6 +92,9 @@
 
 	<sql id="queryPageSql">
 		<where>
+			<if test="tenantId != null">
+				AND ccpp.tenant_id_ = #{tenantId}
+			</if>
 			<if test="period != null and period != ''">
 				AND ccpp.period_ = #{period}
 			</if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/StudentCloudCoachPaymentDetailsMapper.xml

@@ -72,6 +72,9 @@
 
 	<sql id="queryPageSql">
 		<where>
+			<if test="tenantId != null">
+				AND sccpd.tenant_id_ = #{tenantId}
+			</if>
 			<if test="paymentId != null">
 				AND sccpd.cloud_coach_payment_program_id_ = #{paymentId}
 			</if>

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

@@ -8,7 +8,6 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;