|
@@ -81,7 +81,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void updateExpectAmount(BigDecimal expectAmount,String ids) {
|
|
|
+ public void updateExpectAmount(BigDecimal expectAmount,BigDecimal expectMemberAmount,String ids) {
|
|
|
if(expectAmount == null || StringUtils.isEmpty(ids)){
|
|
|
throw new BizException("参数校验失败");
|
|
|
}
|
|
@@ -108,7 +108,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
}
|
|
|
e.setUpdateTime(date);
|
|
|
e.setExpectAmount(expectAmount);
|
|
|
- if(expectAmount.doubleValue() > 0){
|
|
|
+ e.setExpectMemberAmount(expectMemberAmount);
|
|
|
+ if(expectAmount.doubleValue() > 0 || expectMemberAmount.doubleValue() > 0){
|
|
|
if((e.getOpen() != null && e.getOpen() == 1) || calender.getStatus() == PaymentCalenderStatusEnum.OPEN){
|
|
|
studentIds.add(e.getUserId());
|
|
|
}
|
|
@@ -119,7 +120,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
|
|
|
cloudTeacherOrder.setType(2);
|
|
|
cloudTeacherOrder.setTime(calender.getMemberValidDate());
|
|
|
- cloudTeacherOrder.setAmount(expectAmount);
|
|
|
+ //只用会员价格
|
|
|
+ cloudTeacherOrder.setAmount(expectMemberAmount);
|
|
|
cloudTeacherOrder.setStatus(2);
|
|
|
cloudTeacherOrder.setStartTime(date);
|
|
|
cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,calender.getMemberValidDate()));
|
|
@@ -233,79 +235,6 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void add(Long musicGroupPaymentCalenderId, Integer userId) {
|
|
|
- if(musicGroupPaymentCalenderId == null || userId == null){
|
|
|
- throw new BizException("参数校验异常");
|
|
|
- }
|
|
|
- MusicGroupPaymentCalender calender = musicGroupPaymentCalenderService.get(musicGroupPaymentCalenderId);
|
|
|
- if(calender == null){
|
|
|
- throw new BizException("缴费信息不存在");
|
|
|
- }
|
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = musicGroupPaymentCalenderDetailDao.findByCalenderIdAndUserId(musicGroupPaymentCalenderId, userId);
|
|
|
- if(musicGroupPaymentCalenderDetail != null){
|
|
|
- throw new BizException("新增失败,已经存在缴费记录");
|
|
|
- }
|
|
|
-
|
|
|
- List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
|
|
|
-
|
|
|
- BigDecimal totalPrice = new BigDecimal(0);
|
|
|
- if (calender.getPayUserType() == STUDENT) {
|
|
|
- totalPrice = calender.getMemberPaymentAmount();
|
|
|
- for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
|
|
|
- // 剔除可选课程
|
|
|
- if (courseSettings.getIsStudentOptional() == false) {
|
|
|
- totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
- }
|
|
|
- totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
- }
|
|
|
- }
|
|
|
- Date date = new Date();
|
|
|
- calender.setUpdateTime(date);
|
|
|
- calender.setExpectNum(calender.getExpectNum() + 1);
|
|
|
- musicGroupPaymentCalenderService.update(calender);
|
|
|
- //生成详情
|
|
|
- musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
- musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(calender.getId());
|
|
|
- musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
- if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(totalPrice) == 0) {
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
|
|
|
- } else {
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.NON_PAYMENT);
|
|
|
- }
|
|
|
- musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setUserId(userId);
|
|
|
- musicGroupPaymentCalenderDetail.setStartPaymentDate(calender.getStartPaymentDate());
|
|
|
- musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(calender.getDeadlinePaymentDate());
|
|
|
- musicGroupPaymentCalenderDetail.setResponsibleUserId(calender.getOperator());
|
|
|
- musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
|
-
|
|
|
- List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
|
|
|
- MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
|
|
|
- for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
|
|
|
- if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
- musicGroupPaymentStudentCourseDetail.setCourseType(courseSettings.getCourseType());
|
|
|
- musicGroupPaymentStudentCourseDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
|
|
|
- musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
|
|
|
- musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
|
|
|
- musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
|
|
|
- musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
- musicGroupPaymentStudentCourseDetail.setUserId(userId);
|
|
|
-
|
|
|
- musicGroupPaymentStudentCourseDetailList.add(musicGroupPaymentStudentCourseDetail);
|
|
|
- }
|
|
|
-
|
|
|
- if (musicGroupPaymentStudentCourseDetailList.size() > 0) {
|
|
|
- musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetailList);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
public void batchAdd(Long musicGroupPaymentCalenderId, Set<Integer> userIdList,MusicGroup musicGroup) {
|
|
|
|
|
|
MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderService.get(musicGroupPaymentCalenderId);
|
|
@@ -330,14 +259,14 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
|
|
|
|
|
|
//总金额 = 会员费用 + 课程费用
|
|
|
- BigDecimal totalPrice = new BigDecimal(0);
|
|
|
+ BigDecimal expectAmount = BigDecimal.ZERO;
|
|
|
+ BigDecimal expectMemberAmount = musicGroupPaymentCalender.getMemberPaymentAmount();
|
|
|
if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
|
|
|
- totalPrice = musicGroupPaymentCalender.getMemberPaymentAmount();
|
|
|
if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
|
|
|
for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
|
|
|
// 剔除可选课程
|
|
|
if (courseSettings.getIsStudentOptional() == false) {
|
|
|
- totalPrice = totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ expectAmount = expectAmount.add(courseSettings.getCourseCurrentPrice());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -352,8 +281,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
|
|
|
musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
- if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(totalPrice) == 0) {
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectAmount(expectAmount);
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectMemberAmount(expectMemberAmount);
|
|
|
+ if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
|
|
|
+ musicGroupPaymentCalenderDetail.setActualAmount(BigDecimal.ZERO);
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
} else {
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
@@ -375,6 +306,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
}
|
|
|
//更新预计缴费人数
|
|
|
musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
|
|
|
+ if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
|
|
|
+ musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + userIdList.size());
|
|
|
+ }
|
|
|
musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);
|
|
|
|
|
@@ -393,6 +327,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
|
|
|
musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId).getId());
|
|
|
musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSettings.getCourseOriginalPrice());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSettings.getCourseCurrentPrice());
|
|
|
musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
|
|
|
musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
musicGroupPaymentStudentCourseDetail.setUserId(studentId);
|
|
@@ -478,8 +414,6 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
Long musicGroupPaymentCalenderId = null;
|
|
|
for(MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList){
|
|
|
- int paymentNum = 0;
|
|
|
-
|
|
|
musicGroupPaymentCalenderId = musicGroupPaymentCalender.getId();
|
|
|
|
|
|
if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY){
|
|
@@ -499,13 +433,14 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
|
|
|
|
|
|
- BigDecimal totalPrice = new BigDecimal(0);
|
|
|
-
|
|
|
+ BigDecimal expectAmount = BigDecimal.ZERO;
|
|
|
+ BigDecimal expectMemberAmount = musicGroupPaymentCalender.getMemberPaymentAmount();
|
|
|
+
|
|
|
if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
|
|
|
for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
|
|
|
// 剔除可选课程
|
|
|
if (courseSettings.getIsStudentOptional() == false) {
|
|
|
- totalPrice = totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ expectAmount = expectAmount.add(courseSettings.getCourseCurrentPrice());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -519,10 +454,10 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
|
|
|
musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
- if (musicGroupPaymentCalenderDetail.getExpectAmount().compareTo(new BigDecimal(0)) == 0) {
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectAmount(expectAmount);
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectMemberAmount(expectMemberAmount);
|
|
|
+ if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
|
|
|
- paymentNum++;
|
|
|
} else {
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
}
|
|
@@ -544,7 +479,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
//更新预计缴费人数
|
|
|
musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
|
|
|
musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalender.setActualNum((musicGroupPaymentCalender.getActualNum()==null?0:musicGroupPaymentCalender.getActualNum()) + paymentNum);
|
|
|
+ if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
|
|
|
+ musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + userIdList.size());
|
|
|
+ }
|
|
|
musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);
|
|
|
|
|
|
MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
|
|
@@ -560,6 +497,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
|
|
|
musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId).getId());
|
|
|
musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseOriginalPrice(courseSettings.getCourseOriginalPrice());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseCurrentPrice(courseSettings.getCourseCurrentPrice());
|
|
|
musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
|
|
|
musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
musicGroupPaymentStudentCourseDetail.setUserId(studentId);
|