|
@@ -13,6 +13,7 @@ import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.Map.Entry;
|
|
|
+import java.util.function.Consumer;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -68,8 +69,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
@Autowired
|
|
|
private MusicGroupOrganizationCourseSettingsDetailDao musicGroupOrganizationCourseSettingsDetailDao;
|
|
|
@Autowired
|
|
|
- private MusicGroupOrganizationCourseSettingsService musicGroupOrganizationCourseSettingsService;
|
|
|
- @Autowired
|
|
|
private OrganizationCourseUnitPriceSettingsDao organizationCourseUnitPriceSettingsDao;
|
|
|
@Autowired
|
|
|
private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
|
|
@@ -129,10 +128,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
@Autowired
|
|
|
private MusicGroupPaymentCalenderActivityService musicGroupPaymentCalenderActivityService;
|
|
|
- @Resource(name = "musicRepairService")
|
|
|
- private MusicGroupPaymentCalenderBaseService musicRepairService;
|
|
|
- @Resource(name = "memberCalenderService")
|
|
|
- private MusicGroupPaymentCalenderBaseService memberCalenderService;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
|
|
@@ -566,24 +561,29 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
PaymentCalenderStatusEnum status = PaymentCalenderStatusEnum.NO;
|
|
|
|
|
|
- Date date = new Date();
|
|
|
- String batchNo = idGeneratorService.generatorId() + "";
|
|
|
-
|
|
|
- BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
|
|
|
+ //检测缴费项目是否有费用变更
|
|
|
+ Map<CalenderBaseServiceEnum, MusicGroupPaymentCalenderBaseService> calenderBaseServiceMap = MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap;
|
|
|
if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
|
|
|
status = AUDITING;
|
|
|
} else {
|
|
|
- status = memberCalenderService.checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
+ status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.MEMBER).checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
if(status != AUDITING){
|
|
|
- status = ((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
+ status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.COURSE).checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
}
|
|
|
if(status != AUDITING){
|
|
|
- status = musicRepairService.checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
+ status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.MUSIC_REPAIR).checkComponentAmount(musicGroupPaymentBaseCalender);
|
|
|
}
|
|
|
}
|
|
|
+ //计算缴费项目总金额
|
|
|
+ BigDecimal totalPaymentAmount = BigDecimal.ZERO;
|
|
|
+ totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.MEMBER).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
+ totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
+ totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.MUSIC_REPAIR).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
+ totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.ACTIVITY).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
+
|
|
|
+ Date date = new Date();
|
|
|
|
|
|
MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
|
|
|
- musicGroupPaymentCalender.setOriginalMemberPaymentAmount(originalMemberPaymentAmount);
|
|
|
musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentBaseCalender.getDeadlinePaymentDate());
|
|
|
musicGroupPaymentCalender.setMemo(musicGroupPaymentBaseCalender.getMemo());
|
|
|
musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
|
|
@@ -593,14 +593,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalender.setOperator(sysUser.getId());
|
|
|
musicGroupPaymentCalender.setCreateTime(date);
|
|
|
musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalender.setStatus(status);
|
|
|
musicGroupPaymentCalender.setPaymentType(musicGroupPaymentBaseCalender.getPaymentType());
|
|
|
-
|
|
|
- BigDecimal totalPaymentAmount = BigDecimal.ZERO;
|
|
|
- totalPaymentAmount = totalPaymentAmount.add(memberCalenderService.getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
- totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
- totalPaymentAmount = totalPaymentAmount.add(musicRepairService.getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
- totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderActivityServiceImpl)musicGroupPaymentCalenderActivityService).getActualAmount(musicGroupPaymentBaseCalender));
|
|
|
musicGroupPaymentCalender.setPaymentAmount(totalPaymentAmount);
|
|
|
|
|
|
//会员缴费信息
|
|
@@ -612,6 +605,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalender.setMemberValidDate(calenderMember.getMemberNum());
|
|
|
musicGroupPaymentCalender.setMemberPeriod(calenderMember.getPeriodEnum());
|
|
|
musicGroupPaymentCalender.setMemberOptionalFlag(calenderMember.getOptionalFlag());
|
|
|
+ musicGroupPaymentCalender.setOriginalMemberPaymentAmount(calenderMember.getOriginalAmount());
|
|
|
}
|
|
|
//乐保缴费信息
|
|
|
MusicRepairDto musicRepair = musicGroupPaymentBaseCalender.getMusicRepair();
|
|
@@ -620,6 +614,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalender.setMusicRepairActualPrice(musicRepair.getActualAmount());
|
|
|
musicGroupPaymentCalender.setMusicRepairOptionalFlag(musicRepair.getOptionalFlag());
|
|
|
}
|
|
|
+ musicGroupPaymentCalender.setStatus(status);
|
|
|
|
|
|
// BigDecimal totalPaymentAmount = musicGroupPaymentCalenderDto.getMasterTotalPrice();
|
|
|
// if(musicGroupPaymentCalenderCourseSettingsList != null){
|
|
@@ -663,6 +658,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
}
|
|
|
|
|
|
// 设置批次号
|
|
|
+ String batchNo = idGeneratorService.generatorId() + "";
|
|
|
musicGroupPaymentCalender.setBatchNo(batchNo);
|
|
|
musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
|
|
|
|
|
@@ -1178,18 +1174,16 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
|
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
|
- cloudTeacherOrder.setType(2);
|
|
|
+ cloudTeacherOrder.setType(musicGroupPaymentCalender.getMemberPeriod());
|
|
|
cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
|
|
|
cloudTeacherOrder.setOrderId(musicGroup.getOrganId().longValue());
|
|
|
cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
|
|
|
cloudTeacherOrder.setAmount(expectMemberAmount);
|
|
|
- cloudTeacherOrder.setStatus(2);
|
|
|
- cloudTeacherOrder.setStartTime(date);
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,musicGroupPaymentCalender.getMemberValidDate()));
|
|
|
+ cloudTeacherOrder.setStatus(1);
|
|
|
cloudTeacherOrder.setRemark("进行中乐团0元加学生");
|
|
|
cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
|
|
|
cloudTeacherOrderDao.insert(cloudTeacherOrder);
|
|
|
- studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
|
|
|
+// studentService.updateMemberRank(cloudTeacherOrder);
|
|
|
}
|
|
|
MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
|
|
|
if (musicGroupStudentFee != null) {
|
|
@@ -1705,16 +1699,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
if (calender == null) {
|
|
|
throw new BizException("缴费信息不存在");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//缴费项目中没有学生即可删除缴费项目
|
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryByCalenderId(id, null);
|
|
|
if (musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
throw new BizException("缴费项目中已存在学员,不能删除");
|
|
|
}
|
|
|
-// if (calender.getStatus() != PaymentCalenderStatusEnum.AUDITING && calender.getStatus() != PaymentCalenderStatusEnum.NO
|
|
|
-// && calender.getStatus() != PaymentCalenderStatusEnum.REJECT && calender.getStatus() != DRAFT) {
|
|
|
-// throw new BizException("删除失败,{} 的缴费项目不允许删除",calender.getStatus().getDesc());
|
|
|
-// }
|
|
|
MusicGroupStudentClassAdjust byBatchNo = musicGroupStudentClassAdjustDao.findByBatchNo(calender.getBatchNo());
|
|
|
if(byBatchNo != null){
|
|
|
throw new BizException("删除失败,班级调整的缴费项目不允许删除");
|
|
@@ -1732,7 +1722,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalenderDao.delete(id);
|
|
|
musicGroupPaymentCalenderDetailDao.deleteByCalenderId(id);
|
|
|
musicGroupPaymentStudentCourseDetailDao.deleteByMusicGroupPaymentCalenderId(id);
|
|
|
-
|
|
|
+ musicGroupPaymentCalenderActivityService.delByCalenderId(id);
|
|
|
List<Long> calenderIds = new ArrayList<Long>();
|
|
|
calenderIds.add(id);
|
|
|
musicGroupPaymentCalenderCourseSettingsService.deleteByMusicGroupPaymentCalenderId(calenderIds);
|