| 
														
															@@ -1,62 +1,18 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 package com.ym.mec.biz.service.impl; 
														 | 
														
														 | 
														
															 package com.ym.mec.biz.service.impl; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.math.BigDecimal; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.ArrayList; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Arrays; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Collections; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Date; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.HashMap; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.HashSet; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.List; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Map; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Map.Entry; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.Set; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import java.util.stream.Collectors; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.auth.api.entity.SysUserRole; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import org.apache.commons.lang3.StringUtils; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import org.springframework.beans.factory.annotation.Autowired; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import org.springframework.stereotype.Service; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import org.springframework.transaction.annotation.Isolation; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import org.springframework.transaction.annotation.Transactional; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.auth.api.client.SysUserFeignService; 
														 | 
														
														 | 
														
															 import com.ym.mec.auth.api.client.SysUserFeignService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.auth.api.entity.SysUser; 
														 | 
														
														 | 
														
															 import com.ym.mec.auth.api.entity.SysUser; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDetailDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.OrganizationCourseUnitPriceSettingsDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.OrganizationDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.dao.SysConfigDao; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.auth.api.entity.SysUserRole; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.biz.dal.dao.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.dto.CalenderPushDto; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.dto.CalenderPushDto; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDetailDto; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDetailDto; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDto; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDto; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroup; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettings; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettingsDetail; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.ym.mec.biz.dal.entity.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.Organization; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.ym.mec.biz.dal.entity.OrganizationCourseUnitPriceSettings; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.enums.MessageTypeEnum; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.enums.MessageTypeEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.biz.dal.enums.PaymentStatusEnum; 
														 | 
														
														 | 
														
															 import com.ym.mec.biz.dal.enums.PaymentStatusEnum; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -73,6 +29,20 @@ import com.ym.mec.common.service.impl.BaseServiceImpl; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.thirdparty.message.MessageSenderPluginContext; 
														 | 
														
														 | 
														
															 import com.ym.mec.thirdparty.message.MessageSenderPluginContext; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.util.collection.MapUtil; 
														 | 
														
														 | 
														
															 import com.ym.mec.util.collection.MapUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.ym.mec.util.date.DateUtil; 
														 | 
														
														 | 
														
															 import com.ym.mec.util.date.DateUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.apache.commons.lang3.StringUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.beans.factory.annotation.Autowired; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.stereotype.Service; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.transaction.annotation.Isolation; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.transaction.annotation.Transactional; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.math.BigDecimal; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.Map.Entry; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.stream.Collectors; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @Service 
														 | 
														
														 | 
														
															 @Service 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService { 
														 | 
														
														 | 
														
															 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -213,11 +183,11 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (musicGroupPaymentCalender.getStatus() != PaymentCalenderStatusEnum.AUDITING) { 
														 | 
														
														 | 
														
															 		if (musicGroupPaymentCalender.getStatus() != PaymentCalenderStatusEnum.AUDITING) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN); 
														 | 
														
														 | 
														
															 				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			}else if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			}else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO); 
														 | 
														
														 | 
														
															 				musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			 
														 | 
														
														 | 
														
															 			 
														 |