|
@@ -219,8 +219,6 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
Map<Integer, Long> userCalenderDetailMap = new HashMap<>();
|
|
Map<Integer, Long> userCalenderDetailMap = new HashMap<>();
|
|
Map<Integer, Integer> activityuserMap = new HashMap<>();
|
|
Map<Integer, Integer> activityuserMap = new HashMap<>();
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<>();
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<>();
|
|
- //创建缴费明细
|
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
|
|
|
|
|
|
|
|
List<MusicGroupPaymentCalenderActivity> calenderActivities = musicGroupPaymentCalenderActivityService.findByCalenderId(musicGroupPaymentCalenderId);
|
|
List<MusicGroupPaymentCalenderActivity> calenderActivities = musicGroupPaymentCalenderActivityService.findByCalenderId(musicGroupPaymentCalenderId);
|
|
Map<Integer, VipGroupActivity> collect = new HashMap<>();
|
|
Map<Integer, VipGroupActivity> collect = new HashMap<>();
|
|
@@ -245,13 +243,15 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
|
|
musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
|
|
- musicGroupPaymentCalenderDetail.setCourseIncome(this.getCourseIncome(calenderMember,musicGroup));
|
|
|
|
|
|
+ //设置云教练、课程收入
|
|
|
|
+ this.setCourseIncome(calenderMember,musicGroupPaymentCalenderDetail);
|
|
|
|
+ Integer organId = musicGroupPaymentCalender.getOrganId();
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
if (musicGroupPaymentCalender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) == 0 || musicGroupPaymentCalender.getPayUserType() == SCHOOL) {
|
|
if (musicGroupPaymentCalender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) == 0 || musicGroupPaymentCalender.getPayUserType() == SCHOOL) {
|
|
// 添加会员
|
|
// 添加会员
|
|
if (calenderMember != null) {
|
|
if (calenderMember != null) {
|
|
CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
- cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
|
|
|
|
+ cloudTeacherOrder.setOrganId(organId);
|
|
cloudTeacherOrder.setType(calenderMember.getPeriod());
|
|
cloudTeacherOrder.setType(calenderMember.getPeriod());
|
|
cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
cloudTeacherOrder.setStudentId(studentId);
|
|
cloudTeacherOrder.setStudentId(studentId);
|
|
@@ -275,7 +275,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
|
|
activityUserMapper.setSubNoCoursePrice(BigDecimal.ZERO);
|
|
activityUserMapper.setActivityId(calenderActivity.getActivityId());
|
|
activityUserMapper.setActivityId(calenderActivity.getActivityId());
|
|
activityUserMapper.setUserId(studentId);
|
|
activityUserMapper.setUserId(studentId);
|
|
- activityUserMapper.setOrganId(musicGroup.getOrganId());
|
|
|
|
|
|
+ activityUserMapper.setOrganId(organId);
|
|
if(musicGroupPaymentCalender.getPayUserType() == SCHOOL){
|
|
if(musicGroupPaymentCalender.getPayUserType() == SCHOOL){
|
|
activityUserMapper.setAddMemo("学校缴费新增学员");
|
|
activityUserMapper.setAddMemo("学校缴费新增学员");
|
|
}else {
|
|
}else {
|
|
@@ -317,16 +317,22 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private BigDecimal getCourseIncome(MusicGroupPaymentCalenderMember calenderMember,MusicGroup musicGroup){
|
|
|
|
- if(Objects.nonNull(calenderMember) && musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
|
|
- //获取云教练溢出费用
|
|
|
|
- BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
|
|
|
|
- calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
|
|
|
|
- if(calenderMember.getActualAmount().compareTo(courseIncome) > 0){
|
|
|
|
- return calenderMember.getActualAmount().subtract(courseIncome);
|
|
|
|
|
|
+ public void setCourseIncome(MusicGroupPaymentCalenderMember calenderMember, MusicGroupPaymentCalenderDetail calenderDetail){
|
|
|
|
+ if(Objects.nonNull(calenderMember)){
|
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(calenderDetail.getMusicGroupId());
|
|
|
|
+ if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
|
|
+ //获取云教练溢出费用
|
|
|
|
+ BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
|
|
|
|
+ calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
|
|
|
|
+ if(calenderMember.getActualAmount().compareTo(courseIncome) > 0){
|
|
|
|
+ calenderDetail.setExpectMemberAmount(courseIncome);
|
|
|
|
+ calenderDetail.setActualAmount(calenderMember.getActualAmount().subtract(courseIncome));
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ calenderDetail.setExpectMemberAmount(calenderMember.getActualAmount());
|
|
|
|
+ calenderDetail.setActualAmount(BigDecimal.ZERO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return BigDecimal.ZERO;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -475,58 +481,57 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public void addCalenderDetail(StudentPaymentOrder studentPaymentOrder, StudentRegistration studentRegistration) {
|
|
|
|
- Date nowDate = new Date();
|
|
|
|
- Integer tenantId = studentPaymentOrder.getTenantId();
|
|
|
|
|
|
+ public void addCalenderDetail(StudentPaymentOrder studentPaymentOrder) {
|
|
//缴费详情 calender detail
|
|
//缴费详情 calender detail
|
|
- MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderService.get(studentPaymentOrder.getCalenderId());
|
|
|
|
- Long currentPaymentCalenderId = studentPaymentOrder.getCalenderId();
|
|
|
|
|
|
+ Long calenderId = studentPaymentOrder.getCalenderId();
|
|
|
|
+ MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderService.get(calenderId);
|
|
//查询缴费项目关联的订单
|
|
//查询缴费项目关联的订单
|
|
- List<StudentPaymentOrder> orderList = studentPaymentOrderDao.findByCalenderId(currentPaymentCalenderId, studentPaymentOrder.getUserId());
|
|
|
|
|
|
+ List<StudentPaymentOrder> orderList = studentPaymentOrderDao.findByCalenderId(calenderId, studentPaymentOrder.getUserId());
|
|
if (orderList.size() == 1) {
|
|
if (orderList.size() == 1) {
|
|
- // 更新实际缴费人数
|
|
|
|
- if (musicGroupPaymentCalender.getActualNum() == null) {
|
|
|
|
- musicGroupPaymentCalender.setActualNum(1);
|
|
|
|
- } else {
|
|
|
|
- musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + 1);
|
|
|
|
- }
|
|
|
|
|
|
+ // 更新缴费人数
|
|
|
|
+ Integer expectNum = 0;
|
|
if (musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY) {
|
|
if (musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY) {
|
|
- if (musicGroupPaymentCalender.getExpectNum() == null) {
|
|
|
|
- musicGroupPaymentCalender.setExpectNum(1);
|
|
|
|
- } else {
|
|
|
|
- musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + 1);
|
|
|
|
- }
|
|
|
|
|
|
+ expectNum = 1;
|
|
}
|
|
}
|
|
- musicGroupPaymentCalender.setUpdateTime(nowDate);
|
|
|
|
- musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
|
|
|
|
|
|
+ musicGroupPaymentCalenderDao.updatePaymentNum(studentPaymentOrder.getCalenderId(),1,expectNum);
|
|
}
|
|
}
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = musicGroupPaymentCalenderDetailDao.findByCalenderIdAndUserId(currentPaymentCalenderId, studentPaymentOrder.getUserId());
|
|
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = musicGroupPaymentCalenderDetailDao.findByCalenderIdAndUserId(calenderId, studentPaymentOrder.getUserId());
|
|
|
|
+ //只有报名订单,缴费详情才会是null
|
|
if (musicGroupPaymentCalenderDetail == null) {
|
|
if (musicGroupPaymentCalenderDetail == null) {
|
|
musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
- musicGroupPaymentCalenderDetail.setTenantId(tenantId);
|
|
|
|
|
|
+ musicGroupPaymentCalenderDetail.setTenantId(studentPaymentOrder.getTenantId());
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
|
|
musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
|
|
musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
|
|
musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
- musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
|
|
|
+ musicGroupPaymentCalenderDetail.setPayTime(date);
|
|
musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
musicGroupPaymentCalenderDetail.setUseInCourse(0);
|
|
musicGroupPaymentCalenderDetail.setUseInCourse(0);
|
|
musicGroupPaymentCalenderDetail.setOpen(1);
|
|
musicGroupPaymentCalenderDetail.setOpen(1);
|
|
musicGroupPaymentCalenderDetail.setUserStatus(null);
|
|
musicGroupPaymentCalenderDetail.setUserStatus(null);
|
|
musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
- musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
|
|
|
|
- musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
|
|
|
|
|
|
+ //判断乐团收费类型
|
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(musicGroupPaymentCalender.getMusicGroupId());
|
|
|
|
+ if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
|
|
+
|
|
|
|
+ } else if (musicGroup.getCourseViewType() == CourseViewTypeEnum.COURSE_FEE) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
} else {
|
|
} else {
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
- musicGroupPaymentCalenderDetail.setPayTime(nowDate);
|
|
|
|
|
|
+ musicGroupPaymentCalenderDetail.setPayTime(date);
|
|
musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
musicGroupPaymentCalenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
|
+ MusicGroupPaymentCalenderMember calenderMember = musicGroupPaymentCalenderMemberService.findByCalenderId(calenderId);
|
|
|
|
+ this.setCourseIncome(calenderMember,musicGroupPaymentCalenderDetail);
|
|
musicGroupPaymentCalenderDetailDao.update(musicGroupPaymentCalenderDetail);
|
|
musicGroupPaymentCalenderDetailDao.update(musicGroupPaymentCalenderDetail);
|
|
}
|
|
}
|
|
|
|
|
|
//保存、更新云教练缴费项目预收
|
|
//保存、更新云教练缴费项目预收
|
|
- operatingReportCloudService.updateSet(musicGroupPaymentCalender,studentPaymentOrder.getId());
|
|
|
|
|
|
+ operatingReportCloudService.updateSet(musicGroupPaymentCalender,musicGroupPaymentCalenderDetail.getExpectMemberAmount());
|
|
//续费项目加学员时就生成了课程时长,报名项目在缴费成功后才需要添加课程时长
|
|
//续费项目加学员时就生成了课程时长,报名项目在缴费成功后才需要添加课程时长
|
|
musicGroupPaymentStudentCourseDetailService.batchInsert(studentPaymentOrder.getUserId(),
|
|
musicGroupPaymentStudentCourseDetailService.batchInsert(studentPaymentOrder.getUserId(),
|
|
musicGroupPaymentCalender,
|
|
musicGroupPaymentCalender,
|