yonge 5 years ago
parent
commit
9dd1d80cac

+ 33 - 26
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderCourseSettingsDao.java

@@ -8,31 +8,38 @@ import java.util.List;
 
 public interface MusicGroupPaymentCalenderCourseSettingsDao extends BaseDAO<Integer, MusicGroupPaymentCalenderCourseSettings> {
 
-    /**
-     * @param calenderId:
-     * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings>
-     * @describe 获取指定缴费日历的课程价格设置
-     * @author Joburgess
-     * @date 2020.10.27
-     */
-    List<MusicGroupPaymentCalenderCourseSettings> getWithPaymentCalender(@Param("calenderId") Long calenderId);
-
-    int deleteByMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId);
-
-    /**
-     * 获取乐团的缴费课程
-     *
-     * @param musicGroupId
-     * @return
-     */
-    List<MusicGroupPaymentCalenderCourseSettings> getMusicGroupRegCalenderCourseSettings(@Param("musicGroupId") String musicGroupId);
-
-    /**
-     * 获取乐团的缴费课程
-     *
-     * @param ids
-     * @return
-     */
-    List<MusicGroupPaymentCalenderCourseSettings> getCalenderCourseSettings(@Param("ids") List<Integer> ids);
+	/**
+	 * @param calenderId:
+	 * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings>
+	 * @describe 获取指定缴费日历的课程价格设置
+	 * @author Joburgess
+	 * @date 2020.10.27
+	 */
+	List<MusicGroupPaymentCalenderCourseSettings> getWithPaymentCalender(@Param("calenderId") Long calenderId);
+
+	int deleteByMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId);
+
+	/**
+	 * 获取乐团的缴费课程
+	 *
+	 * @param musicGroupId
+	 * @return
+	 */
+	List<MusicGroupPaymentCalenderCourseSettings> getMusicGroupRegCalenderCourseSettings(@Param("musicGroupId") String musicGroupId);
+
+	/**
+	 * 获取乐团的缴费课程
+	 *
+	 * @param ids
+	 * @return
+	 */
+	List<MusicGroupPaymentCalenderCourseSettings> getCalenderCourseSettings(@Param("ids") List<Integer> ids);
+
+	/**
+	 * 批量新增
+	 * @param musicGroupPaymentCalenderCourseSettingsList
+	 * @return
+	 */
+	int batchInsert(List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList);
 
 }

+ 0 - 65
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderDto.java

@@ -1,65 +0,0 @@
-package com.ym.mec.biz.dal.dto;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
-
-public class MusicGroupPaymentCalenderDto extends MusicGroupPaymentCalender {
-
-	private String studentIds;
-
-	private List<MusicGroupPaymentCalenderCourseSettings> MusicGroupPaymentCalenderCourseSettingsList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>();
-
-	private List<PaymentDateRange> paymentDateRangeList = new ArrayList<PaymentDateRange>();
-
-	public String getStudentIds() {
-		return studentIds;
-	}
-
-	public void setStudentIds(String studentIds) {
-		this.studentIds = studentIds;
-	}
-
-	public List<MusicGroupPaymentCalenderCourseSettings> getMusicGroupPaymentCalenderCourseSettingsList() {
-		return MusicGroupPaymentCalenderCourseSettingsList;
-	}
-
-	public void setMusicGroupPaymentCalenderCourseSettingsList(List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList) {
-		MusicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalenderCourseSettingsList;
-	}
-
-	public List<PaymentDateRange> getPaymentDateRangeList() {
-		return paymentDateRangeList;
-	}
-
-	public void setPaymentDateRangeList(List<PaymentDateRange> paymentDateRangeList) {
-		this.paymentDateRangeList = paymentDateRangeList;
-	}
-
-	public class PaymentDateRange {
-
-		private Date startDate;
-
-		private Date endDate;
-
-		public Date getStartDate() {
-			return startDate;
-		}
-
-		public void setStartDate(Date startDate) {
-			this.startDate = startDate;
-		}
-
-		public Date getEndDate() {
-			return endDate;
-		}
-
-		public void setEndDate(Date endDate) {
-			this.endDate = endDate;
-		}
-	}
-
-}

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -2,7 +2,9 @@ package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -95,6 +97,11 @@ public class MusicGroupPaymentCalender {
 	private java.util.Date createTime;
 
 	private java.util.Date updateTime;
+	
+	private String studentIds;
+
+	private List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = new ArrayList<MusicGroupPaymentCalenderCourseSettings>();
+
 
 	public Integer getPaymentType() {
 		return paymentType;
@@ -240,6 +247,22 @@ public class MusicGroupPaymentCalender {
 		this.payUserType = payUserType;
 	}
 
+	public String getStudentIds() {
+		return studentIds;
+	}
+
+	public void setStudentIds(String studentIds) {
+		this.studentIds = studentIds;
+	}
+
+	public List<MusicGroupPaymentCalenderCourseSettings> getMusicGroupPaymentCalenderCourseSettingsList() {
+		return musicGroupPaymentCalenderCourseSettingsList;
+	}
+
+	public void setMusicGroupPaymentCalenderCourseSettingsList(List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList) {
+		this.musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalenderCourseSettingsList;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderCourseSettings.java

@@ -13,7 +13,7 @@ public class MusicGroupPaymentCalenderCourseSettings {
 	private Integer id;
 	
 	/**  */
-	private Integer musicGroupPaymentCalenderId;
+	private Long musicGroupPaymentCalenderId;
 	
 	/** 课程类型 */
 	private CourseSchedule.CourseScheduleType courseType;
@@ -47,11 +47,11 @@ public class MusicGroupPaymentCalenderCourseSettings {
 		return this.id;
 	}
 			
-	public void setMusicGroupPaymentCalenderId(Integer musicGroupPaymentCalenderId){
+	public void setMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId){
 		this.musicGroupPaymentCalenderId = musicGroupPaymentCalenderId;
 	}
 	
-	public Integer getMusicGroupPaymentCalenderId(){
+	public Long getMusicGroupPaymentCalenderId(){
 		return this.musicGroupPaymentCalenderId;
 	}
 			

+ 0 - 22
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java

@@ -53,12 +53,6 @@ public class MusicGroupPaymentCalenderDetail {
 	/**  */
 	private java.util.Date deadlinePaymentDate;
 
-	/**  */
-	private java.util.Date startPaymentDateMgpc;
-
-	/**  */
-	private java.util.Date deadlinePaymentDateMgpc;
-
 	@ApiModelProperty(value = "订单编号",required = true)
 	private Long paymentOrderId;
 
@@ -68,22 +62,6 @@ public class MusicGroupPaymentCalenderDetail {
 	/**  */
 	private java.util.Date createTime;
 
-	public Date getStartPaymentDateMgpc() {
-		return startPaymentDateMgpc;
-	}
-
-	public void setStartPaymentDateMgpc(Date startPaymentDateMgpc) {
-		this.startPaymentDateMgpc = startPaymentDateMgpc;
-	}
-
-	public Date getDeadlinePaymentDateMgpc() {
-		return deadlinePaymentDateMgpc;
-	}
-
-	public void setDeadlinePaymentDateMgpc(Date deadlinePaymentDateMgpc) {
-		this.deadlinePaymentDateMgpc = deadlinePaymentDateMgpc;
-	}
-
 	private SysUser sysUser = new SysUser();
 
 	public YesOrNoEnum getOpenFlag() {

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -2,7 +2,6 @@ package com.ym.mec.biz.service;
 
 import java.util.List;
 
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.common.service.BaseService;
 
@@ -13,7 +12,7 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	 * @param musicGroupPaymentCalenderDto
 	 * @return
 	 */
-	boolean create(MusicGroupPaymentCalenderDto musicGroupPaymentCalenderDto);
+	boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender);
 	
 	/**
 	 * 更新缴费信息

+ 109 - 79
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -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);
+			}
+		}
+		
+		Long musicGroupPaymentCalenderId = musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
+		
+		for(MusicGroupPaymentCalenderCourseSettings musicGroupPaymentCalenderCourseSettings : musicGroupPaymentCalenderCourseSettingsList){
+			musicGroupPaymentCalenderCourseSettings.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
+			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);

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderCourseSettingsMapper.xml

@@ -39,6 +39,16 @@
 		(id_,music_group_payment_calender_id_,course_type_,course_total_minuties_,unit_price_,course_original_price_,course_current_price_,is_student_optional_,create_time_,update_time_)
 		VALUES(#{id},#{musicGroupPaymentCalenderId},#{courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseTotalMinuties},#{unitPrice},#{courseOriginalPrice},#{courseCurrentPrice},#{isStudentOptional},#{createTime},#{updateTime})
 	</insert>
+	
+	<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+		INSERT INTO music_group_payment_calender_course_settings
+		(id_,music_group_payment_calender_id_,course_type_,course_total_minuties_,unit_price_,course_original_price_,course_current_price_,is_student_optional_,create_time_,update_time_)
+		VALUES
+		<foreach collection="list" item="item" separator=",">
+		(#{item.id},#{item.musicGroupPaymentCalenderId},#{item.courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.courseTotalMinuties},#{item.unitPrice},#{item.courseOriginalPrice},#{item.courseCurrentPrice},#{item.isStudentOptional},#{item.createTime},#{item.updateTime})
+		</foreach>
+	</insert>
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update"

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -54,7 +54,8 @@
 		#{userStatus},#{payTime},#{updateTime},#{createTime},#{startPaymentDate},#{deadlinePaymentDate},#{paymentOrderId})
 	</insert>
 
-    <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail">
+    <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
         INSERT INTO music_group_payment_calender_detail
 		(id_,music_group_payment_calender_id_,user_id_,expect_amount_,actual_amount_,
 		payment_status_,user_status_,pay_time_,update_time_,create_time_,start_payment_date_,deadline_payment_date_,payment_order_id_)

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -41,9 +41,9 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO music_group_payment_calender
-        (music_group_id_,music_group_organization_course_settings_id_,pay_user_type_,reject_reason_,start_payment_date_,deadline_payment_date_,status_,expect_num_,
+        (id_,music_group_id_,music_group_organization_course_settings_id_,pay_user_type_,reject_reason_,start_payment_date_,deadline_payment_date_,status_,expect_num_,
         actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_,payment_type_)
-        VALUES(#{musicGroupId},#{musicGroupOrganizationCourseSettingId},#{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{rejectReason},#{startPaymentDate},#{deadlinePaymentDate},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        VALUES(#{id},#{musicGroupId},#{musicGroupOrganizationCourseSettingId},#{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{rejectReason},#{startPaymentDate},#{deadlinePaymentDate},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{expectNum},#{actualNum},#{memo},#{isGiveMusicNetwork},now(),now(),
         #{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern},#{paymentType})
     </insert>

+ 2 - 3
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java

@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
@@ -36,8 +35,8 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     @ApiOperation(value = "新增乐团缴费日历")
     @PostMapping(value = "/add", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalender/add')")
-    public Object add(@RequestBody MusicGroupPaymentCalenderDto musicGroupPaymentCalenderDto) {
-        musicGroupPaymentCalenderService.create(musicGroupPaymentCalenderDto);
+    public Object add(@RequestBody MusicGroupPaymentCalender musicGroupPaymentCalender) {
+        musicGroupPaymentCalenderService.create(musicGroupPaymentCalender);
         return succeed();
     }