|
|
@@ -635,28 +635,25 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
|
- public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
|
|
|
- // 获取当天创建且未缴费的数据,并推送
|
|
|
- List<MusicGroupPaymentCalenderDetail> details = musicGroupPaymentCalenderDetailDao.queryNoPaymentCanPushList();
|
|
|
- if (details != null && details.size() > 0) {
|
|
|
- Set<String> musicGroupIds = details.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
|
|
|
- Map<String, String> musicGroupNameMap = MapUtil.convertMybatisMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
|
|
|
- for (MusicGroupPaymentCalenderDetail detail : details) {
|
|
|
- if (detail.getExpectAmount().doubleValue() == 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Map<Integer, String> push = new HashMap<>(1);
|
|
|
- push.put(detail.getUserId(), detail.getUserId() + "");
|
|
|
- String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
|
|
|
- String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + detail.getMusicGroupId();
|
|
|
- // 发送续费通知
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
|
|
|
- null, 0, memo, "STUDENT", musicGroupNameMap.get(detail.getMusicGroupId()));
|
|
|
+ //推送待续费通知
|
|
|
+ public void pushWaitRenewMessage(Long calenderId,MusicGroup musicGroup){
|
|
|
+ Set<Integer> studentIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentStudentIds(calenderId);
|
|
|
+ if (studentIds.size() > 0) {
|
|
|
+ Map<Integer, String> push = new HashMap<>();
|
|
|
+ for (Integer userId : studentIds) {
|
|
|
+ push.put(userId, userId + "");
|
|
|
}
|
|
|
+ String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
|
|
|
+ String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroup.getId();
|
|
|
+ // 发送续费通知
|
|
|
+ sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
|
|
|
+ null, 0, memo, "STUDENT", musicGroup.getName());
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
|
|
|
+ public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
|
|
|
Date date = new Date();
|
|
|
List<PaymentStatusEnum> statusList = new ArrayList<PaymentStatusEnum>();
|
|
|
statusList.add(PaymentStatusEnum.NO);
|
|
|
@@ -664,48 +661,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(statusList,PayUserType.STUDENT.getCode());
|
|
|
|
|
|
List<MusicGroupPaymentCalender> updateMusicGroupPaymentCalenderList = new ArrayList<MusicGroupPaymentCalender>();
|
|
|
-
|
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
|
|
|
- MusicGroupStudentFee musicGroupStudentFee = null;
|
|
|
- List<MusicGroupStudentFee> updateMusicGroupStudentFeeList = new ArrayList<MusicGroupStudentFee>();
|
|
|
- List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
- List<MusicGroupPaymentCalenderDetail> updateMusicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
-
|
|
|
for (MusicGroupPaymentCalender mgpc : musicGroupPaymentCalenderList) {
|
|
|
- Set<Integer> studentIds = musicGroupPaymentCalenderDetailDao.queryStudentIds(mgpc.getId());
|
|
|
- List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(mgpc.getMusicGroupId(),
|
|
|
- StringUtils.join(studentIds, ","));
|
|
|
- Map<Integer, MusicGroupStudentFee> feeMap = musicGroupStudentFeeList.stream()
|
|
|
- .collect(Collectors.toMap(MusicGroupStudentFee::getUserId, fee -> fee));
|
|
|
-
|
|
|
if (mgpc.getDeadlinePaymentDate() != null && date.after(mgpc.getDeadlinePaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.OPEN) {
|
|
|
// “进行中”更新至“已结束”
|
|
|
mgpc.setUpdateTime(date);
|
|
|
mgpc.setStatus(PaymentCalenderStatusEnum.OVER);
|
|
|
updateMusicGroupPaymentCalenderList.add(mgpc);
|
|
|
|
|
|
- // 0元学生改成“已缴费”
|
|
|
- List<MusicGroupPaymentCalenderDetail> list = musicGroupPaymentCalenderDetailDao.queryByCalenderId(mgpc.getId(),PaymentStatus.NON_PAYMENT.getCode());
|
|
|
- for (MusicGroupPaymentCalenderDetail mgpcd : list) {
|
|
|
- if (mgpcd.getExpectAmount().doubleValue() == 0) {
|
|
|
- mgpcd.setActualAmount(BigDecimal.ZERO);
|
|
|
- mgpcd.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
- mgpcd.setUpdateTime(date);
|
|
|
- updateMusicGroupPaymentCalenderDetailList.add(mgpcd);
|
|
|
-
|
|
|
- // 更新fee表,且加1
|
|
|
- musicGroupStudentFee = feeMap.get(mgpcd.getUserId());
|
|
|
- if (musicGroupStudentFee != null) {
|
|
|
- musicGroupStudentFee.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
- musicGroupStudentFee.setUpdateTime(date);
|
|
|
- if(mgpc.getIsGiveMusicNetwork()){
|
|
|
- musicGroupStudentFee.setRemainNetworkClassTimes(musicGroupStudentFee.getContinuousAbsenteeismTimes() + 1);
|
|
|
- }
|
|
|
- updateMusicGroupStudentFeeList.add(musicGroupStudentFee);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
} else if (mgpc.getStartPaymentDate() != null && date.after(mgpc.getStartPaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.NO) {
|
|
|
MusicGroup musicGroup = musicGroupDao.get(mgpc.getMusicGroupId());
|
|
|
//如果乐团还在审核中
|
|
|
@@ -716,58 +678,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
mgpc.setUpdateTime(date);
|
|
|
mgpc.setStatus(PaymentCalenderStatusEnum.OPEN);
|
|
|
updateMusicGroupPaymentCalenderList.add(mgpc);
|
|
|
-
|
|
|
- // 学生状态更新进行中
|
|
|
- // Set<Integer> studentIds = new HashSet<Integer>();
|
|
|
- // 创建缴费明细
|
|
|
- /*
|
|
|
- * for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) { if (mgsf.getPaymentStatus() != PaymentStatus.PAID_COMPLETED) {
|
|
|
- * continue; } musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
- * musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(mgpc.getId()); musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- * musicGroupPaymentCalenderDetail.setExpectAmount(mgsf.getCourseFee());
|
|
|
- * musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT); if (mgsf.getCourseFee().doubleValue() != 0) {
|
|
|
- * studentIds.add(mgsf.getUserId()); } musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
- * musicGroupPaymentCalenderDetail.setUserId(mgsf.getUserId());
|
|
|
- *
|
|
|
- * musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail); }
|
|
|
- */
|
|
|
-
|
|
|
- // 更新学员缴费状态
|
|
|
- for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
|
|
|
- mgsf.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
- mgsf.setUpdateTime(date);
|
|
|
- updateMusicGroupStudentFeeList.add(mgsf);
|
|
|
- }
|
|
|
- if (studentIds.size() > 0) {
|
|
|
- Map<Integer, String> push = new HashMap<>();
|
|
|
- for (Integer userId : studentIds) {
|
|
|
- push.put(userId, userId + "");
|
|
|
- }
|
|
|
- String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
|
|
|
- String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroup.getId();
|
|
|
- // 发送续费通知
|
|
|
- sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
|
|
|
- null, 0, memo, "STUDENT", musicGroup.getName());
|
|
|
- }
|
|
|
+ //推送待续费通知
|
|
|
+ pushWaitRenewMessage(mgpc.getId(),musicGroup);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if (updateMusicGroupPaymentCalenderList.size() > 0) {
|
|
|
musicGroupPaymentCalenderDao.batchUpdate(updateMusicGroupPaymentCalenderList);
|
|
|
}
|
|
|
-
|
|
|
- if (musicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
- musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
|
|
|
- }
|
|
|
-
|
|
|
- if (updateMusicGroupStudentFeeList.size() > 0) {
|
|
|
- musicGroupStudentFeeDao.batchUpdate(updateMusicGroupStudentFeeList);
|
|
|
- }
|
|
|
-
|
|
|
- if (updateMusicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
- musicGroupPaymentCalenderDetailDao.batchUpdate(updateMusicGroupPaymentCalenderDetailList);
|
|
|
- }
|
|
|
-
|
|
|
return true;
|
|
|
}
|
|
|
|