|
@@ -24,6 +24,7 @@ import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
|
|
|
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
|
|
|
import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
import com.ym.mec.biz.dal.dto.FeeStudentDto;
|
|
@@ -33,6 +34,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
|
|
|
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentStudentCourseDetail;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
|
|
|
import com.ym.mec.biz.dal.enums.MessageTypeEnum;
|
|
@@ -56,6 +58,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
private MusicGroupPaymentCalenderCourseSettingsDao musicGroupPaymentCalenderCourseSettingsDao;
|
|
|
|
|
|
@Autowired
|
|
|
+ private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private MusicGroupDao musicGroupDao;
|
|
|
@Autowired
|
|
|
private SysConfigDao sysConfigDao;
|
|
@@ -215,41 +220,56 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
if(calender == null){
|
|
|
throw new BizException("缴费信息不存在");
|
|
|
}
|
|
|
- /*MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(calender.getMusicGroupId(), userId);
|
|
|
- if(userLastCalenderDetail != 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);
|
|
|
+ for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
|
|
|
+ //剔除可选课程
|
|
|
+ if (courseSettings.getIsStudentOptional() == false) {
|
|
|
+ totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ }
|
|
|
+ totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ }
|
|
|
Date date = new Date();
|
|
|
-// Integer countOpenPayment = musicGroupPaymentCalenderDetailDao.countOpenPayment(calender.getMusicGroupId(), userId);
|
|
|
- MusicGroupStudentFee studentFee = musicGroupStudentFeeDao.findByUser(userId, calender.getMusicGroupId());
|
|
|
- /*if(countOpenPayment > 0){
|
|
|
- throw new BizException("操作失败: 学员有未完成的缴费");
|
|
|
- }*/
|
|
|
calender.setUpdateTime(date);
|
|
|
+ calender.setExpectNum(calender.getExpectNum() + 1);
|
|
|
//生成详情
|
|
|
- MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
+ musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(calender.getId());
|
|
|
musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(studentFee.getCourseFee());
|
|
|
- studentFee.setUpdateTime(date);
|
|
|
- /*if (studentFee.getCourseFee().doubleValue() == 0) {
|
|
|
- studentFee.setPaymentStatus(PAID_COMPLETED);
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(PAID_COMPLETED);
|
|
|
- if(calender.getType() == ONLINE){
|
|
|
- studentFee.setRemainNetworkClassTimes(studentFee.getRemainNetworkClassTimes() + 1);
|
|
|
-// musicGroupStudentFeeDao.remainNetworkClassTimesAdd(userLastCalenderDetail.getId().toString());
|
|
|
- }
|
|
|
- } else {
|
|
|
- studentFee.setPaymentStatus(NON_PAYMENT);
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.NON_PAYMENT);
|
|
|
- }*/
|
|
|
- studentFee.setPaymentStatus(NON_PAYMENT);
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.NON_PAYMENT);
|
|
|
musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
musicGroupPaymentCalenderDetail.setUserId(userId);
|
|
|
musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
|
|
|
musicGroupPaymentCalenderDao.update(calender);
|
|
|
- musicGroupStudentFeeDao.update(studentFee);
|
|
|
+
|
|
|
+ List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
|
|
|
+ MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
|
|
|
+ for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
|
|
|
+ if (courseSettings.getIsStudentOptional() == true) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseType(courseSettings.getCourseType());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCreateTime(date);
|
|
|
+ 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
|
|
@@ -270,12 +290,15 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
|
|
|
BigDecimal totalPrice = new BigDecimal(0);
|
|
|
for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
|
|
|
- totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ //剔除可选课程
|
|
|
+ if (courseSettings.getIsStudentOptional() == false) {
|
|
|
+ totalPrice.add(courseSettings.getCourseCurrentPrice());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Date date = new Date();
|
|
|
MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
|
|
|
-
|
|
|
+ Map<Integer,MusicGroupPaymentCalenderDetail> userMap = new HashMap<Integer, MusicGroupPaymentCalenderDetail>();
|
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
//创建缴费明细
|
|
|
for(Integer studentId : userIdList){
|
|
@@ -289,6 +312,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
|
musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
|
|
|
|
+ userMap.put(studentId, musicGroupPaymentCalenderDetail);
|
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
}
|
|
|
|
|
@@ -298,7 +322,32 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
|
|
|
//更新预计缴费人数
|
|
|
musicGroupPaymentCalender.setExpectNum(userIdList.size());
|
|
|
musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalenderDetailDao.update(musicGroupPaymentCalenderDetail);
|
|
|
+ musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
|
|
|
+
|
|
|
+ List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
|
|
|
+ MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
|
|
|
+ //创建学生课排课分钟数
|
|
|
+ for(Integer studentId : userIdList){
|
|
|
+ for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
|
|
|
+ if (courseSettings.getIsStudentOptional() == true) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCourseType(courseSettings.getCourseType());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setCreateTime(date);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(userMap.get(studentId).getId());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setTotalCourseMinutes(courseSettings.getCourseTotalMinuties());
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUpdateTime(date);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUsedCourseMinutes(0);
|
|
|
+ musicGroupPaymentStudentCourseDetail.setUserId(studentId);
|
|
|
+
|
|
|
+ musicGroupPaymentStudentCourseDetailList.add(musicGroupPaymentStudentCourseDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(musicGroupPaymentStudentCourseDetailList.size() > 0){
|
|
|
+ musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetailList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|