|  | @@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.MusicGroupSchoolTermCourseDetailService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.SysConfigService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.SysMessageService;
 | 
	
	
		
			
				|  | @@ -63,6 +64,10 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  	private MemberFeeSettingDao memberFeeSettingDao;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private OrganizationDao organizationDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private MusicGroupPaymentCalenderService musicGroupPaymentCalenderService;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private final Logger logger = LoggerFactory.getLogger(this.getClass());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -211,6 +216,18 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  		if(studentMusicMap.size() > 0){
 | 
	
		
			
				|  |  |  			for (String musicGroupId : studentMusicMap.keySet()) {
 | 
	
		
			
				|  |  |  				MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 | 
	
		
			
				|  |  | +				// 所有缴费项目已完成排课才能创建下一个缴费项目
 | 
	
		
			
				|  |  | +				String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,null);
 | 
	
		
			
				|  |  | +				if (StringUtils.isNoneBlank(orignBatchNo)) {
 | 
	
		
			
				|  |  | +					logger.error("自动创建缴费项目失败,{} 乐团存在未排课的缴费项目",musicGroup.getName());
 | 
	
		
			
				|  |  | +					continue;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				MemberFeeSetting memberFee = memberFeeSettingDao.findByRankIdAndOrganId(musicGroup.getOrganId(), memberRankSetting.getId());
 | 
	
		
			
				|  |  | +				if(memberFee == null){
 | 
	
		
			
				|  |  | +					Organization organization = organizationDao.get(musicGroup.getOrganId());
 | 
	
		
			
				|  |  | +					logger.error("自动创建缴费项目失败,{} 分部会员收费标准未配置",organization.getName());
 | 
	
		
			
				|  |  | +					continue;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  				//创建缴费项目
 | 
	
		
			
				|  |  |  				MusicGroupPaymentCalenderDto musicGroupPaymentCalenderDto = new MusicGroupPaymentCalenderDto();
 | 
	
		
			
				|  |  |  				musicGroupPaymentCalenderDto.setMusicGroupId(musicGroupId);
 | 
	
	
		
			
				|  | @@ -220,19 +237,20 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 | 
	
		
			
				|  |  |  				musicGroupPaymentCalenderDto.setPayUserType(MusicGroupPaymentCalender.PayUserType.STUDENT);
 | 
	
		
			
				|  |  |  				musicGroupPaymentCalenderDto.setPaymentType(MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW);
 | 
	
		
			
				|  |  |  				musicGroupPaymentCalenderDto.setPaymentPattern(1);
 | 
	
		
			
				|  |  | -				//会员价格是否变动
 | 
	
		
			
				|  |  | -				MemberFeeSetting memberFee = memberFeeSettingDao.findByRankIdAndOrganId(musicGroup.getOrganId(), memberRankSetting.getId());
 | 
	
		
			
				|  |  | -				if(memberFee == null){
 | 
	
		
			
				|  |  | -					Organization organization = organizationDao.get(musicGroup.getOrganId());
 | 
	
		
			
				|  |  | -					logger.error("自动创建缴费项目失败,{} 分部会员收费标准未配置",organization.getName());
 | 
	
		
			
				|  |  | -					continue;
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  |  				musicGroupPaymentCalenderDto.setMemberPaymentAmount(memberFee.getCurrentHalfYearFee().setScale(0, BigDecimal.ROUND_HALF_UP));
 | 
	
		
			
				|  |  | -				List<MusicGroupPaymentCalenderDto.MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = new ArrayList<MusicGroupPaymentCalenderDto.MusicGroupPaymentDateRange>();
 | 
	
		
			
				|  |  | +				List<MusicGroupPaymentCalenderDto.MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = new ArrayList<>();
 | 
	
		
			
				|  |  |  				MusicGroupPaymentCalenderDto.MusicGroupPaymentDateRange range = new MusicGroupPaymentCalenderDto().new MusicGroupPaymentDateRange();
 | 
	
		
			
				|  |  |  				range.setStartPaymentDate(date);
 | 
	
		
			
				|  |  |  				range.setDeadlinePaymentDate(DateUtil.addMonths(date,1));
 | 
	
		
			
				|  |  |  				musicGroupPaymentDateRangeList.add(range);
 | 
	
		
			
				|  |  | +				musicGroupPaymentCalenderDto.setMusicGroupPaymentDateRangeList(musicGroupPaymentDateRangeList);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				try {
 | 
	
		
			
				|  |  | +					musicGroupPaymentCalenderService.create(musicGroupPaymentCalenderDto);
 | 
	
		
			
				|  |  | +				}catch (Exception e){
 | 
	
		
			
				|  |  | +					logger.error("{} 乐团自动创建缴费项目失败,失败原因:{}",musicGroup.getName(),e.getMessage());
 | 
	
		
			
				|  |  | +					continue;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 |