|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|