|
@@ -25,8 +25,6 @@ import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
|
|
|
import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
|
|
|
import com.ym.mec.biz.dal.dao.SysConfigDao;
|
|
|
import com.ym.mec.biz.dal.dto.CalenderPushDto;
|
|
|
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
|
|
|
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto.PaymentDateRange;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
import com.ym.mec.biz.dal.entity.MusicGroupOrganizationCourseSettingsDetail;
|
|
@@ -79,9 +77,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean create(MusicGroupPaymentCalenderDto musicGroupPaymentCalenderDto) {
|
|
|
+ public boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender) {
|
|
|
|
|
|
- String musicGroupId = musicGroupPaymentCalenderDto.getMusicGroupId();
|
|
|
+ String musicGroupId = musicGroupPaymentCalender.getMusicGroupId();
|
|
|
|
|
|
MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
|
|
|
|
|
@@ -91,95 +89,104 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
|
|
|
Date date = new Date();
|
|
|
Map<Integer, String> pushUserMap = new HashMap<Integer, String>();
|
|
|
- MusicGroupPaymentCalender musicGroupPaymentCalender = null;
|
|
|
MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
|
|
|
- List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = new ArrayList<MusicGroupPaymentCalender>();
|
|
|
List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
|
|
|
|
|
|
- for(PaymentDateRange paymentDateRange : musicGroupPaymentCalenderDto.getPaymentDateRangeList()){
|
|
|
- musicGroupPaymentCalender = musicGroupPaymentCalenderDto;
|
|
|
- musicGroupPaymentCalender.setCreateTime(date);
|
|
|
- musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalender.setPaymentValidStartDate(paymentDateRange.getStartDate());
|
|
|
- musicGroupPaymentCalender.setPaymentValidEndDate(paymentDateRange.getEndDate());
|
|
|
-
|
|
|
- if (musicGroupPaymentCalender.getDeadlinePaymentDate() == null) {
|
|
|
- musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
|
|
|
- }
|
|
|
- int count = musicGroupPaymentCalenderDao.queryIntersectionByValidDate(musicGroupId, musicGroupPaymentCalender.getPaymentValidStartDate(),
|
|
|
- musicGroupPaymentCalender.getPaymentValidEndDate(), null);
|
|
|
- if (count > 0) {
|
|
|
- throw new BizException("缴费有效期存在冲突,请修改缴费有效期");
|
|
|
+
|
|
|
+ musicGroupPaymentCalender.setCreateTime(date);
|
|
|
+ musicGroupPaymentCalender.setUpdateTime(date);
|
|
|
+
|
|
|
+ if (musicGroupPaymentCalender.getDeadlinePaymentDate() == null) {
|
|
|
+ musicGroupPaymentCalender.setDeadlinePaymentDate(DateUtil.addDays(musicGroupPaymentCalender.getStartPaymentDate(), 3));
|
|
|
+ }
|
|
|
+ int count = musicGroupPaymentCalenderDao.queryIntersectionByValidDate(musicGroupId, musicGroupPaymentCalender.getPaymentValidStartDate(),
|
|
|
+ musicGroupPaymentCalender.getPaymentValidEndDate(), null);
|
|
|
+ if (count > 0) {
|
|
|
+ throw new BizException("缴费有效期存在冲突,请修改缴费有效期");
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取设置的课程
|
|
|
+ List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalender.getMusicGroupPaymentCalenderCourseSettingsList();
|
|
|
+ if(musicGroupPaymentCalenderCourseSettingsList == null){
|
|
|
+ musicGroupPaymentCalenderCourseSettingsList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>();
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询默认课程费用
|
|
|
+ Integer musicGroupOrganizationCourseSettingId = musicGroupPaymentCalender.getMusicGroupOrganizationCourseSettingId();
|
|
|
+ Map<CourseScheduleType, BigDecimal> defaultCoursePrice = musicGroupOrganizationCourseSettingsDetailDao.queryByMusicGroupOrganizationCourseSettingsId(musicGroupOrganizationCourseSettingId).stream().collect(Collectors.toMap(MusicGroupOrganizationCourseSettingsDetail :: getCourseType, MusicGroupOrganizationCourseSettingsDetail :: getCourseCurrentPrice));
|
|
|
+
|
|
|
+ //当前缴费的课程费用
|
|
|
+ Map<CourseScheduleType,BigDecimal> currentCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream().collect(Collectors.toMap(MusicGroupPaymentCalenderCourseSettings :: getCourseType, MusicGroupPaymentCalenderCourseSettings :: getCourseCurrentPrice));
|
|
|
+
|
|
|
+ BigDecimal totalPrice = new BigDecimal(0);
|
|
|
+ //相同类型的课程如果修改了课程费用,需要走审批
|
|
|
+ for(Entry<CourseScheduleType, BigDecimal> entry : currentCoursePrice.entrySet()){
|
|
|
+ if(defaultCoursePrice.get(entry.getKey()).compareTo(entry.getValue()) != 0){
|
|
|
+ musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.AUDITING);
|
|
|
}
|
|
|
-
|
|
|
- //查询默认课程费用
|
|
|
- Integer musicGroupOrganizationCourseSettingId = musicGroupPaymentCalender.getMusicGroupOrganizationCourseSettingId();
|
|
|
- Map<CourseScheduleType, BigDecimal> defaultCoursePrice = musicGroupOrganizationCourseSettingsDetailDao.queryByMusicGroupOrganizationCourseSettingsId(musicGroupOrganizationCourseSettingId).stream().collect(Collectors.toMap(MusicGroupOrganizationCourseSettingsDetail :: getCourseType, MusicGroupOrganizationCourseSettingsDetail :: getCourseCurrentPrice));
|
|
|
-
|
|
|
- //当前缴费的课程费用
|
|
|
- Map<CourseScheduleType,BigDecimal> currentCoursePrice = musicGroupPaymentCalenderDto.getMusicGroupPaymentCalenderCourseSettingsList().stream().collect(Collectors.toMap(MusicGroupPaymentCalenderCourseSettings :: getCourseType, MusicGroupPaymentCalenderCourseSettings :: getCourseCurrentPrice));
|
|
|
-
|
|
|
- BigDecimal totalPrice = new BigDecimal(0);
|
|
|
- //相同类型的课程如果修改了课程费用,需要走审批
|
|
|
- for(Entry<CourseScheduleType, BigDecimal> entry : currentCoursePrice.entrySet()){
|
|
|
- if(defaultCoursePrice.get(entry.getKey()).compareTo(entry.getValue()) != 0){
|
|
|
- musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.AUDITING);
|
|
|
- }
|
|
|
- totalPrice.add(entry.getValue());
|
|
|
+ totalPrice.add(entry.getValue());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (musicGroupPaymentCalender.getStatus() != PaymentCalenderStatusEnum.AUDITING) {
|
|
|
+ if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
|
|
|
+ musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
|
|
|
+ } else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
|
|
|
+ musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
|
|
|
+ } else {
|
|
|
+ musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
|
|
|
}
|
|
|
|
|
|
- if (musicGroupPaymentCalender.getStatus() != PaymentCalenderStatusEnum.AUDITING) {
|
|
|
- if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
|
|
|
- musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
|
|
|
- } else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
|
|
|
- musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
|
|
|
- } else {
|
|
|
- musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
|
|
|
- }
|
|
|
-
|
|
|
- //如果是报名,需要修改乐团状态
|
|
|
- if (musicGroupPaymentCalender.getPaymentType() == 1) {
|
|
|
- musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
|
|
|
- musicGroup.setUpdateTime(date);
|
|
|
- musicGroupDao.update(musicGroup);
|
|
|
- }
|
|
|
+ //如果是报名,需要修改乐团状态
|
|
|
+ if (musicGroupPaymentCalender.getPaymentType() == 1) {
|
|
|
+ musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
|
|
|
+ musicGroup.setUpdateTime(date);
|
|
|
+ musicGroupDao.update(musicGroup);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- musicGroupPaymentCalender.setExpectNum(0);
|
|
|
- if(StringUtils.isNoneBlank(musicGroupPaymentCalenderDto.getStudentIds())){
|
|
|
- String[] sutdentIdList = musicGroupPaymentCalenderDto.getStudentIds().split(",");
|
|
|
- musicGroupPaymentCalender.setExpectNum(sutdentIdList.length);
|
|
|
-
|
|
|
- if (musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.OPEN) {
|
|
|
- for(String studentId : sutdentIdList){
|
|
|
- pushUserMap.put(Integer.parseInt(studentId), studentId);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //创建缴费明细
|
|
|
+ musicGroupPaymentCalender.setExpectNum(0);
|
|
|
+ if(StringUtils.isNoneBlank(musicGroupPaymentCalender.getStudentIds())){
|
|
|
+ String[] sutdentIdList = musicGroupPaymentCalender.getStudentIds().split(",");
|
|
|
+ musicGroupPaymentCalender.setExpectNum(sutdentIdList.length);
|
|
|
+
|
|
|
+ if (musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.OPEN) {
|
|
|
for(String studentId : sutdentIdList){
|
|
|
- musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
- musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
- musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
- musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
- musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
- musicGroupPaymentCalenderDetail.setUserId(Integer.parseInt(studentId));
|
|
|
-
|
|
|
- musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
+ pushUserMap.put(Integer.parseInt(studentId), studentId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- musicGroupPaymentCalenderList.add(musicGroupPaymentCalender);
|
|
|
+ //创建缴费明细
|
|
|
+ for(String studentId : sutdentIdList){
|
|
|
+ musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
|
|
|
+ musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
+ musicGroupPaymentCalenderDetail.setCreateTime(date);
|
|
|
+ musicGroupPaymentCalenderDetail.setExpectAmount(totalPrice);
|
|
|
+ musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
+ musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
+ musicGroupPaymentCalenderDetail.setUserId(Integer.parseInt(studentId));
|
|
|
+ musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
|
+ musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
|
+
|
|
|
+ musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
|
|
|
+
|
|
|
+ for(MusicGroupPaymentCalenderCourseSettings musicGroupPaymentCalenderCourseSettings : musicGroupPaymentCalenderCourseSettingsList){
|
|
|
+ musicGroupPaymentCalenderCourseSettings.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
+ musicGroupPaymentCalenderCourseSettings.setCreateTime(date);
|
|
|
+ musicGroupPaymentCalenderCourseSettings.setUpdateTime(date);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(musicGroupPaymentCalenderCourseSettingsList.size() > 0){
|
|
|
+ musicGroupPaymentCalenderCourseSettingsDao.batchInsert(musicGroupPaymentCalenderCourseSettingsList);
|
|
|
}
|
|
|
|
|
|
if (musicGroupPaymentCalenderDetailList.size() > 0) {
|
|
|
musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
|
|
|
}
|
|
|
|
|
|
- if(musicGroupPaymentCalenderList.size() > 0){
|
|
|
- musicGroupPaymentCalenderDao.batchInsert(musicGroupPaymentCalenderList);
|
|
|
- }
|
|
|
|
|
|
// 发送续费通知
|
|
|
if (pushUserMap.size() > 0) {
|
|
@@ -196,6 +203,16 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public int update(MusicGroupPaymentCalender musicGroupPaymentCalender) {
|
|
|
+
|
|
|
+ MusicGroupPaymentCalender orginMusicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(musicGroupPaymentCalender.getId());
|
|
|
+ if(orginMusicGroupPaymentCalender == null){
|
|
|
+ throw new BizException("查询不到缴费记录");
|
|
|
+ }
|
|
|
+ //只有“拒绝”才能修改
|
|
|
+ if(orginMusicGroupPaymentCalender.getStatus() != PaymentCalenderStatusEnum.REJECT){
|
|
|
+ throw new BizException("缴费记录只有被“审核拒绝”才能修改");
|
|
|
+ }
|
|
|
+
|
|
|
String musicGroupId = musicGroupPaymentCalender.getMusicGroupId();
|
|
|
|
|
|
MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
|
|
@@ -216,13 +233,18 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
throw new BizException("缴费有效期存在冲突,请修改缴费有效期");
|
|
|
}
|
|
|
|
|
|
+ //获取设置的课程
|
|
|
+ List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalender.getMusicGroupPaymentCalenderCourseSettingsList();
|
|
|
+ if(musicGroupPaymentCalenderCourseSettingsList == null){
|
|
|
+ musicGroupPaymentCalenderCourseSettingsList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>();
|
|
|
+ }
|
|
|
+
|
|
|
//查询默认课程费用
|
|
|
Integer musicGroupOrganizationCourseSettingId = musicGroupPaymentCalender.getMusicGroupOrganizationCourseSettingId();
|
|
|
Map<CourseScheduleType, BigDecimal> defaultCoursePrice = musicGroupOrganizationCourseSettingsDetailDao.queryByMusicGroupOrganizationCourseSettingsId(musicGroupOrganizationCourseSettingId).stream().collect(Collectors.toMap(MusicGroupOrganizationCourseSettingsDetail :: getCourseType, MusicGroupOrganizationCourseSettingsDetail :: getCourseCurrentPrice));
|
|
|
|
|
|
//当前缴费的课程费用
|
|
|
- Map<CourseScheduleType,BigDecimal> currentCoursePrice = null;
|
|
|
- //musicGroupPaymentCalender.getMusicGroupPaymentCalenderCourseSettingsList().stream().collect(Collectors.toMap(MusicGroupPaymentCalenderCourseSettings :: getCourseType, MusicGroupPaymentCalenderCourseSettings :: getCourseCurrentPrice));
|
|
|
+ Map<CourseScheduleType,BigDecimal> currentCoursePrice = musicGroupPaymentCalenderCourseSettingsList.stream().collect(Collectors.toMap(MusicGroupPaymentCalenderCourseSettings :: getCourseType, MusicGroupPaymentCalenderCourseSettings :: getCourseCurrentPrice));
|
|
|
|
|
|
BigDecimal totalPrice = new BigDecimal(0);
|
|
|
//相同类型的课程如果修改了课程费用,需要走审批
|
|
@@ -253,7 +275,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
Map<Integer, String> pushUserMap = new HashMap<Integer, String>();
|
|
|
|
|
|
musicGroupPaymentCalender.setExpectNum(0);
|
|
|
- /*if(StringUtils.isNoneBlank(musicGroupPaymentCalender.getStudentIds())){
|
|
|
+ if(StringUtils.isNoneBlank(musicGroupPaymentCalender.getStudentIds())){
|
|
|
String[] sutdentIdList = musicGroupPaymentCalender.getStudentIds().split(",");
|
|
|
musicGroupPaymentCalender.setExpectNum(sutdentIdList.length);
|
|
|
|
|
@@ -276,10 +298,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
|
|
|
musicGroupPaymentCalenderDetail.setUpdateTime(date);
|
|
|
musicGroupPaymentCalenderDetail.setUserId(Integer.parseInt(studentId));
|
|
|
+ musicGroupPaymentCalenderDetail.setStartPaymentDate(musicGroupPaymentCalender.getStartPaymentDate());
|
|
|
+ musicGroupPaymentCalenderDetail.setDeadlinePaymentDate(musicGroupPaymentCalender.getDeadlinePaymentDate());
|
|
|
|
|
|
musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
|
|
|
}
|
|
|
- }*/
|
|
|
+ }
|
|
|
|
|
|
musicGroupPaymentCalenderDao.update(musicGroupPaymentCalender);
|
|
|
|
|
@@ -287,6 +311,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
|
|
|
musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
|
|
|
}
|
|
|
|
|
|
+ musicGroupPaymentCalenderCourseSettingsDao.deleteByMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
|
|
|
+
|
|
|
+ if(musicGroupPaymentCalenderCourseSettingsList.size() > 0){
|
|
|
+ musicGroupPaymentCalenderCourseSettingsDao.batchInsert(musicGroupPaymentCalenderCourseSettingsList);
|
|
|
+ }
|
|
|
+
|
|
|
// 发送续费通知
|
|
|
if (pushUserMap.size() > 0) {
|
|
|
String configValue = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
|