Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
d21629c35a

+ 2 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -27,14 +27,6 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
     List<MusicGroupPaymentCalender> findByMusicGroupId(String musicGroupId);
 
     /**
-     * 批量新增乐团缴费周期
-     *
-     * @param calender
-     * @param musicGroupId
-     */
-    void batchAdd(@Param("calender") List<Integer> calender, @Param("musicGroupId") String musicGroupId);
-
-    /**
      * 批量修改
      *
      * @param musicGroupPaymentCalenderList
@@ -106,8 +98,8 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return int
      */
     int queryIntersectionByValidDate(@Param("musicGroupId") String musicGroupId,
-                                     @Param("paymentValidStartDate") String paymentValidStartDate,
-                                     @Param("paymentValidEndDate") String paymentValidEndDate,
+                                     @Param("paymentValidStartDate") Date paymentValidStartDate,
+                                     @Param("paymentValidEndDate") Date paymentValidEndDate,
                                      @Param("calenderId") Long calenderId);
 
     /**

+ 84 - 35
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -4,23 +4,63 @@ import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
 
-import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
+import com.ym.mec.common.enums.BaseEnum;
 
 /**
  * 对应数据库表(music_group_payment_calender):
  */
-public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCalender> {
+public class MusicGroupPaymentCalender {
+
+	public enum PaymentCalenderStatusEnum implements BaseEnum<String, PaymentCalenderStatusEnum> {
+		AUDITING("审核中"), REJECT("拒绝"), NO("未开启缴费"), OPEN("开启缴费"), OVER("缴费已结束");
+
+		private String desc;
+
+		PaymentCalenderStatusEnum(String desc) {
+			this.desc = desc;
+		}
+
+		@Override
+		public String getCode() {
+			return this.name();
+		}
+
+		public String getDesc() {
+			return desc;
+		}
+
+	}
+
+	public enum PayUserType implements BaseEnum<String, PayUserType> {
+		STUDENT("学生"), SCHOOL("学校");
+
+		private String desc;
+
+		PayUserType(String desc) {
+			this.desc = desc;
+		}
+
+		@Override
+		public String getCode() {
+			return this.name();
+		}
+
+		public String getDesc() {
+			return desc;
+		}
+
+	}
 
 	private Long id;
 
 	@ApiModelProperty(value = "乐团编号", required = false)
 	private String musicGroupId;
-
-	@ApiModelProperty(value = "缴费月份", required = false)
-	private Integer paymentMonth;
+	
+	private Integer musicGroupOrganizationCourseSettingId;
+	
+	private PayUserType payUserType;
 
 	@ApiModelProperty(value = "开始缴费日期", required = false)
 	private java.util.Date startPaymentDate;
@@ -29,10 +69,10 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 	private Date deadlinePaymentDate;
 
 	@ApiModelProperty(value = "缴费有效期开始时间", required = false)
-	private String paymentValidStartDate;
+	private Date paymentValidStartDate;
 
 	@ApiModelProperty(value = "缴费有效期截止时间", required = false)
-	private String paymentValidEndDate;
+	private Date paymentValidEndDate;
 
 	@ApiModelProperty(value = "缴费方式0按月,1按季,2一次性", required = false)
 	private Integer paymentPattern;
@@ -40,7 +80,7 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 	@ApiModelProperty(value = "缴费类型0续费,1报名", required = false)
 	private Integer paymentType;
 
-	private PaymentStatusEnum paymentStatus;
+	private PaymentCalenderStatusEnum status;
 
 	private Integer expectNum;
 
@@ -49,6 +89,8 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 	private String memo;
 
 	private Boolean isGiveMusicNetwork;
+	
+	private String rejectReason;
 
 	private java.util.Date createTime;
 
@@ -72,24 +114,20 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 		this.paymentPattern = paymentPattern;
 	}
 
-	public String getPaymentValidStartDate() {
+	public Date getPaymentValidStartDate() {
 		return paymentValidStartDate;
 	}
 
-	public void setPaymentValidStartDate(String paymentValidStartDate) {
+	public void setPaymentValidStartDate(Date paymentValidStartDate) {
 		this.paymentValidStartDate = paymentValidStartDate;
 	}
 
-	public String getPaymentValidEndDate() {
+	public Date getPaymentValidEndDate() {
 		return paymentValidEndDate;
 	}
 
-	public void setPaymentValidEndDate(String paymentValidEndDate) {
-		if(StringUtils.isEmpty(paymentValidEndDate)){
-			this.paymentValidEndDate = null;
-		}else {
-			this.paymentValidEndDate = paymentValidEndDate;
-		}
+	public void setPaymentValidEndDate(Date paymentValidEndDate) {
+		this.paymentValidEndDate = paymentValidEndDate;
 	}
 
 	public String getStudentIds() {
@@ -116,14 +154,6 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 		return this.musicGroupId;
 	}
 
-	public void setPaymentMonth(Integer paymentMonth) {
-		this.paymentMonth = paymentMonth;
-	}
-
-	public Integer getPaymentMonth() {
-		return this.paymentMonth;
-	}
-
 	public void setStartPaymentDate(java.util.Date startPaymentDate) {
 		this.startPaymentDate = startPaymentDate;
 	}
@@ -156,12 +186,12 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 		this.deadlinePaymentDate = deadlinePaymentDate;
 	}
 
-	public PaymentStatusEnum getPaymentStatus() {
-		return paymentStatus;
+	public PaymentCalenderStatusEnum getStatus() {
+		return status;
 	}
 
-	public void setPaymentStatus(PaymentStatusEnum paymentStatus) {
-		this.paymentStatus = paymentStatus;
+	public void setStatus(PaymentCalenderStatusEnum status) {
+		this.status = status;
 	}
 
 	public Integer getExpectNum() {
@@ -196,14 +226,33 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 		this.isGiveMusicNetwork = isGiveMusicNetwork;
 	}
 
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
+	public String getRejectReason() {
+		return rejectReason;
+	}
+
+	public void setRejectReason(String rejectReason) {
+		this.rejectReason = rejectReason;
+	}
+
+	public Integer getMusicGroupOrganizationCourseSettingId() {
+		return musicGroupOrganizationCourseSettingId;
+	}
+
+	public void setMusicGroupOrganizationCourseSettingId(Integer musicGroupOrganizationCourseSettingId) {
+		this.musicGroupOrganizationCourseSettingId = musicGroupOrganizationCourseSettingId;
+	}
+
+	public PayUserType getPayUserType() {
+		return payUserType;
+	}
+
+	public void setPayUserType(PayUserType payUserType) {
+		this.payUserType = payUserType;
 	}
 
 	@Override
-	public int compareTo(MusicGroupPaymentCalender cal) {
-		return this.paymentMonth.compareTo(cal.getPaymentMonth());
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
 	}
 
 }

+ 16 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentStatusEnum.java

@@ -2,24 +2,27 @@ package com.ym.mec.biz.dal.enums;
 
 import com.ym.mec.common.enums.BaseEnum;
 
-public enum PaymentStatusEnum implements BaseEnum<String, PaymentStatusEnum> {
-	NO("未开启缴费"),
-	OPEN("开启缴费"),
-	OVER("已结束");
-	
-	PaymentStatusEnum(String desc){
-		this.desc = desc;
-	}
+public enum PaymentStatusEnum implements BaseEnum<Integer, PaymentStatusEnum> {
+	NO(0,"未开启缴费"),
+	OPEN(1,"开启缴费"),
+	YES(2,"已缴费");
+
+	private Integer code;
 
 	private String desc;
-	
-	public String getDesc() {
-		return desc;
+
+	PaymentStatusEnum(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
 	}
 
 	@Override
-	public String getCode() {
-		return this.name();
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
 	}
 
 }

+ 9 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -1,15 +1,20 @@
 package com.ym.mec.biz.service;
 
+import java.util.List;
+
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.page.MusicCalenderQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.util.Date;
-import java.util.List;
-
 public interface MusicGroupPaymentCalenderService extends BaseService<Long, MusicGroupPaymentCalender> {
+
+	/**
+	 * 获取列表
+	 * @param queryInfo
+	 * @return
+	 */
+	PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo);
 	
 	/**
 	 * 创建缴费信息
@@ -31,14 +36,6 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	void batchInsert(List<MusicGroupPaymentCalender> musicGroupPaymentCalenders);
 
 	/**
-	 * 获取下次缴费时间
-	 * @param musicGroupId
-	 * @param latestPaidDate
-	 * @return
-	 */
-	Date getNextPaymentDate(String musicGroupId, Date latestPaidDate, MusicGroupStudentFee fee);
-
-	/**
 	 * 修改缴费日期
 	 * @param paymentCalender
 	 */
@@ -58,13 +55,6 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
     Object getDetail(Long id);
 
 	/**
-	 * 获取列表
-	 * @param queryInfo
-	 * @return
-	 */
-	PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo);
-
-	/**
 	 * 推送乐团缴费提醒
 	 * @param id
 	 * @param userIds

+ 26 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -1,14 +1,37 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.*;
+import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.NON_PAYMENT;
+import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
+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.FeeStudentDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderDetailService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
@@ -16,18 +39,6 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.NON_PAYMENT;
-import static com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED;
-import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.OPEN;
 
 @Service
 public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalenderDetail>  implements MusicGroupPaymentCalenderDetailService {
@@ -77,7 +88,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			e.setUpdateTime(date);
 			e.setExpectAmount(expectAmount);
 			if(expectAmount.doubleValue() > 0){
-				if((e.getOpen() != null && e.getOpen() == 1) || calender.getPaymentStatus() == OPEN){
+				if((e.getOpen() != null && e.getOpen() == 1) || calender.getStatus() == PaymentCalenderStatusEnum.OPEN){
 					studentIds.add(e.getUserId());
 				}
 			}

+ 107 - 147
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1,9 +1,30 @@
 package com.ym.mec.biz.service.impl;
 
-import com.ym.mec.biz.dal.dao.*;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
+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.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
@@ -20,16 +41,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.NO;
 
 @Service
 public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long, MusicGroupPaymentCalender> implements MusicGroupPaymentCalenderService {
@@ -53,6 +64,23 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	}
 
 	@Override
+	public PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo) {
+		PageInfo<MusicGroupPaymentCalender> pageInfo = queryPage(queryInfo);
+		List<MusicGroupPaymentCalender> rows = pageInfo.getRows();
+		if (rows.size() == 0) {
+			return pageInfo;
+		}
+		Set<Long> collect = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
+		Map<Long, Long> expectNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countExpectNum(collect));
+		Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(collect));
+		rows.forEach(e -> {
+			e.setActualNum(actualNumMap.get(e.getId()) == null ? 0 : actualNumMap.get(e.getId()).intValue());
+			e.setExpectNum(expectNumMap.get(e.getId()) == null ? 0 : expectNumMap.get(e.getId()).intValue());
+		});
+		return pageInfo;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean create(MusicGroupPaymentCalender musicGroupPaymentCalender) {
 		String musicGroupId = musicGroupPaymentCalender.getMusicGroupId();
@@ -69,28 +97,28 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}
 		// 判断缴费开始时间、结束时间是否被其他缴费记录占用
 		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(musicGroupId, musicGroupPaymentCalender.getStartPaymentDate(),
-				musicGroupPaymentCalender.getDeadlinePaymentDate(),null);
+				musicGroupPaymentCalender.getDeadlinePaymentDate(), null);
 
-//		String format = DateUtil.format(musicGroupPaymentCalender.getStartPaymentDate(), DateUtil.DEFAULT_PATTERN);
-//		String format1 = DateUtil.format(musicGroupPaymentCalender.getDeadlinePaymentDate(), DateUtil.DEFAULT_PATTERN);
-//		int count = musicGroupPaymentCalenderDao.queryIntersectionByDate(musicGroupId, format,format1);
+		// String format = DateUtil.format(musicGroupPaymentCalender.getStartPaymentDate(), DateUtil.DEFAULT_PATTERN);
+		// String format1 = DateUtil.format(musicGroupPaymentCalender.getDeadlinePaymentDate(), DateUtil.DEFAULT_PATTERN);
+		// int count = musicGroupPaymentCalenderDao.queryIntersectionByDate(musicGroupId, format,format1);
 		if (count > 0) {
 			throw new BizException("缴费日期存在冲突,请修改缴费日期");
 		}
 		count = musicGroupPaymentCalenderDao.queryIntersectionByValidDate(musicGroupId, musicGroupPaymentCalender.getPaymentValidStartDate(),
-				musicGroupPaymentCalender.getPaymentValidEndDate(),null);
+				musicGroupPaymentCalender.getPaymentValidEndDate(), null);
 		if (count > 0) {
 			throw new BizException("缴费有效期存在冲突,请修改缴费有效期");
 		}
 		if (date.after(musicGroupPaymentCalender.getDeadlinePaymentDate())) {
-			musicGroupPaymentCalender.setPaymentStatus(PaymentStatusEnum.OVER);
+			musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OVER);
 		} else if (date.after(musicGroupPaymentCalender.getStartPaymentDate())) {
-			musicGroupPaymentCalender.setPaymentStatus(PaymentStatusEnum.OPEN);
+			musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.OPEN);
 		} else {
-			musicGroupPaymentCalender.setPaymentStatus(PaymentStatusEnum.NO);
+			musicGroupPaymentCalender.setStatus(PaymentCalenderStatusEnum.NO);
 		}
 		// 统计缴费人数
-		musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId,musicGroupPaymentCalender.getStudentIds());
+		musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(musicGroupId, musicGroupPaymentCalender.getStudentIds());
 		if (musicGroupStudentFeeList == null) {
 			musicGroupStudentFeeList = new ArrayList<>();
 		}
@@ -119,7 +147,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				musicGroupPaymentCalenderDetail.setUserId(mgsf.getUserId());
 				musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
 			}
-			if (musicGroupPaymentCalender.getPaymentStatus() == PaymentStatusEnum.OPEN) {
+			if (musicGroupPaymentCalender.getStatus() == PaymentCalenderStatusEnum.OPEN) {
 				// 更新学员缴费状态
 				for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
 					mgsf.setPaymentStatus(PaymentStatus.NON_PAYMENT);
@@ -156,47 +184,45 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	public void autoUpdateMusicGroupStudentFeeStatus() {
 		Date date = new Date();
 		String format = DateUtil.format(date, DateUtil.DEFAULT_PATTERN);
-		//获取距离缴费开启指定天数后的缴费明细
+		// 获取距离缴费开启指定天数后的缴费明细
 		String configValue = sysConfigDao.findConfigValue("push_payment_detail");
-		Map<Long, Long> maps = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryCalenderByDay(configValue,format));
-		if(maps != null && maps.size() > 0){
+		Map<Long, Long> maps = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryCalenderByDay(configValue, format));
+		if (maps != null && maps.size() > 0) {
 			Set<Long> calenderId = maps.keySet();
 			List<CalenderPushDto> calenderPushDtos = musicGroupPaymentCalenderDao.getCalenderPushDto(calenderId);
 			Map<Long, List<CalenderPushDto>> collect = calenderPushDtos.stream().collect(Collectors.groupingBy(CalenderPushDto::getCalenderId));
-			calenderId.forEach(e->{
+			calenderId.forEach(e -> {
 				CalenderPushDto calenderPushDto = collect.get(e).get(0);
 				Map<Integer, String> receivers = new HashMap<>(1);
-				receivers.put(calenderPushDto.getTeacherId(),calenderPushDto.getTeacherPhone());
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_DETAIL,
-						receivers, null, 0, null, null,calenderPushDto.getMusicGroupName(),
-						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate(),maps.get(e));
+				receivers.put(calenderPushDto.getTeacherId(), calenderPushDto.getTeacherPhone());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_DETAIL, receivers, null, 0,
+						null, null, calenderPushDto.getMusicGroupName(), calenderPushDto.getPaymentValidStartDate(), calenderPushDto.getPaymentValidEndDate(),
+						maps.get(e));
 			});
 		}
-		//获取离截止还有指定时间的缴费项,并发送推送消息给指定老师
+		// 获取离截止还有指定时间的缴费项,并发送推送消息给指定老师
 		String configValue1 = sysConfigDao.findConfigValue("push_create_payment_calender");
-		List<Long> calenderIds = musicGroupPaymentCalenderDao.queryEndIds(configValue1,format);
-		if(calenderIds != null && calenderIds.size() > 0){
+		List<Long> calenderIds = musicGroupPaymentCalenderDao.queryEndIds(configValue1, format);
+		if (calenderIds != null && calenderIds.size() > 0) {
 			List<CalenderPushDto> calenderPushDtos = musicGroupPaymentCalenderDao.getCalenderPushDto(calenderIds);
 			Map<Long, List<CalenderPushDto>> collect = calenderPushDtos.stream().collect(Collectors.groupingBy(CalenderPushDto::getCalenderId));
-			calenderIds.forEach(e->{
+			calenderIds.forEach(e -> {
 				CalenderPushDto calenderPushDto = collect.get(e).get(0);
 				Map<Integer, String> receivers = new HashMap<>(1);
-				receivers.put(calenderPushDto.getTeacherId(),calenderPushDto.getTeacherPhone());
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_CREATE,
-						receivers, null, 0, null, null,calenderPushDto.getMusicGroupName(),
-						calenderPushDto.getPaymentValidStartDate(),calenderPushDto.getPaymentValidEndDate());
+				receivers.put(calenderPushDto.getTeacherId(), calenderPushDto.getTeacherPhone());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_CREATE, receivers, null, 0,
+						null, null, calenderPushDto.getMusicGroupName(), calenderPushDto.getPaymentValidStartDate(), calenderPushDto.getPaymentValidEndDate());
 			});
 		}
 
-		//乐团报名到期,提醒教务老师创建缴费
-		List<CalenderPushDto> calenderPushDtos = musicGroupPaymentCalenderDao.getMusicCalenderPushDto(configValue1,format);
-		if(calenderPushDtos != null && calenderPushDtos.size() > 0){
-			calenderPushDtos.forEach(e->{
+		// 乐团报名到期,提醒教务老师创建缴费
+		List<CalenderPushDto> calenderPushDtos = musicGroupPaymentCalenderDao.getMusicCalenderPushDto(configValue1, format);
+		if (calenderPushDtos != null && calenderPushDtos.size() > 0) {
+			calenderPushDtos.forEach(e -> {
 				Map<Integer, String> receivers = new HashMap<>(1);
-				receivers.put(e.getTeacherId(),e.getTeacherPhone());
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_CREATE,
-						receivers, null, 0, null, null,e.getMusicGroupName(),
-						e.getPaymentValidStartDate(),e.getPaymentValidEndDate());
+				receivers.put(e.getTeacherId(), e.getTeacherPhone());
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.SMS_PAYMENT_CREATE, receivers, null, 0,
+						null, null, e.getMusicGroupName(), e.getPaymentValidStartDate(), e.getPaymentValidEndDate());
 			});
 		}
 	}
@@ -240,14 +266,15 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 		for (MusicGroupPaymentCalender mgpc : musicGroupPaymentCalenderList) {
 			Set<Integer> studentIds = musicGroupPaymentCalenderDetailDao.queryStudentIds(mgpc.getId());
-			List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(mgpc.getMusicGroupId(),StringUtils.join(studentIds,","));
+			List<MusicGroupStudentFee> musicGroupStudentFeeList = musicGroupStudentFeeDao.queryByMusicGroupId(mgpc.getMusicGroupId(),
+					StringUtils.join(studentIds, ","));
 			Map<Integer, MusicGroupStudentFee> feeMap = musicGroupStudentFeeList.stream()
 					.collect(Collectors.toMap(MusicGroupStudentFee::getUserId, fee -> fee));
 
-			if (mgpc.getDeadlinePaymentDate() != null && date.after(mgpc.getDeadlinePaymentDate()) && mgpc.getPaymentStatus() == PaymentStatusEnum.OPEN) {
+			if (mgpc.getDeadlinePaymentDate() != null && date.after(mgpc.getDeadlinePaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.OPEN) {
 				// “进行中”更新至“已结束”
 				mgpc.setUpdateTime(date);
-				mgpc.setPaymentStatus(PaymentStatusEnum.OVER);
+				mgpc.setStatus(PaymentCalenderStatusEnum.OVER);
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 
 				// 0元学生改成“已缴费”
@@ -270,32 +297,26 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					}
 				}
 
-			} else if (mgpc.getStartPaymentDate() != null && date.after(mgpc.getStartPaymentDate()) && mgpc.getPaymentStatus() == PaymentStatusEnum.NO) {
+			} else if (mgpc.getStartPaymentDate() != null && date.after(mgpc.getStartPaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.NO) {
 				// “未开始”更新至“进行中”
 				mgpc.setUpdateTime(date);
-				mgpc.setPaymentStatus(PaymentStatusEnum.OPEN);
+				mgpc.setStatus(PaymentCalenderStatusEnum.OPEN);
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 
 				// 学生状态更新进行中
-//				Set<Integer> studentIds = new HashSet<Integer>();
+				// Set<Integer> studentIds = new HashSet<Integer>();
 				// 创建缴费明细
-				/*for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
-					if (mgsf.getPaymentStatus() != PaymentStatus.PAID_COMPLETED) {
-						continue;
-					}
-					musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
-					musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(mgpc.getId());
-					musicGroupPaymentCalenderDetail.setCreateTime(date);
-					musicGroupPaymentCalenderDetail.setExpectAmount(mgsf.getCourseFee());
-					musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
-					if (mgsf.getCourseFee().doubleValue() != 0) {
-						studentIds.add(mgsf.getUserId());
-					}
-					musicGroupPaymentCalenderDetail.setUpdateTime(date);
-					musicGroupPaymentCalenderDetail.setUserId(mgsf.getUserId());
-
-					musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
-				}*/
+				/*
+				 * for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) { if (mgsf.getPaymentStatus() != PaymentStatus.PAID_COMPLETED) {
+				 * continue; } musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
+				 * musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(mgpc.getId()); musicGroupPaymentCalenderDetail.setCreateTime(date);
+				 * musicGroupPaymentCalenderDetail.setExpectAmount(mgsf.getCourseFee());
+				 * musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT); if (mgsf.getCourseFee().doubleValue() != 0) {
+				 * studentIds.add(mgsf.getUserId()); } musicGroupPaymentCalenderDetail.setUpdateTime(date);
+				 * musicGroupPaymentCalenderDetail.setUserId(mgsf.getUserId());
+				 * 
+				 * musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail); }
+				 */
 
 				// 更新学员缴费状态
 				for (MusicGroupStudentFee mgsf : musicGroupStudentFeeList) {
@@ -349,74 +370,30 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	}
 
 	@Override
-	public Date getNextPaymentDate(String musicGroupId, Date latestPaidDate, MusicGroupStudentFee fee) {
-		List<Integer> months = null;
-		if (fee != null) {
-			String paymentPeriodList = fee.getPaymentPeriodList();
-			if (StringUtils.isEmpty(paymentPeriodList)) {
-				return null;
-			} else {
-				months = Arrays.asList(paymentPeriodList.split(",")).stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
-				Collections.sort(months);
-			}
-		} else {
-			List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId);
-			if (musicGroupPaymentCalenderList != null && musicGroupPaymentCalenderList.size() > 0) {
-				months = musicGroupPaymentCalenderList.stream().map(e -> e.getPaymentMonth()).sorted().collect(Collectors.toList());
-			}
-		}
-		if (months != null && months.size() > 0) {
-			Date date = latestPaidDate;
-			if (date == null) {
-				date = new Date();
-			}
-			// 获取当前月份
-			int currentMonth = Integer.parseInt(DateUtil.getMonth(date));
-			int nextMonth = months.get(0);
-			for (int i = 0; i < months.size(); i++) {
-				if (currentMonth < months.get(i)) {
-					nextMonth = months.get(i);
-					break;
-				}
-			}
-			// 修改学员付费周期
-			Date nextPaymentDate = null;
-			if (nextMonth > currentMonth) {
-				nextPaymentDate = DateUtil.addMonths(date, nextMonth - currentMonth);
-			} else if (nextMonth < currentMonth) {
-				nextPaymentDate = DateUtil.addMonths(date, 12 - currentMonth + nextMonth);
-			} else {
-				nextPaymentDate = DateUtil.addMonths(date, 12);
-			}
-			return DateUtil.getFirstDayOfMonth(nextPaymentDate);
-		}
-		return null;
-	}
-
-	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void updateStartTime(MusicGroupPaymentCalender paymentCalender) {
-//		if (startTime == null || id == null || endTime == null) {
-//			throw new BizException("参数校验失败");
-//		}
+		// if (startTime == null || id == null || endTime == null) {
+		// throw new BizException("参数校验失败");
+		// }
 		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(paymentCalender.getId());
 		if (calender == null) {
 			throw new BizException("缴费信息不存在");
 		}
-		if (calender.getPaymentStatus() == null || calender.getPaymentStatus() != NO) {
+		if (calender.getStatus() == null || calender.getStatus() != PaymentCalenderStatusEnum.NO) {
 			throw new BizException("修改失败,缴费状态不匹配");
 		}
 		Date date = new Date();
 		// 判断缴费开始时间、结束时间是否被其他缴费记录占用
-		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(calender.getMusicGroupId(), paymentCalender.getStartPaymentDate(),paymentCalender.getDeadlinePaymentDate(),paymentCalender.getId());
-//		String format = DateUtil.format(startTime, DateUtil.DEFAULT_PATTERN);
-//		String format1 = DateUtil.format(endTime, DateUtil.DEFAULT_PATTERN);
-//		int count = musicGroupPaymentCalenderDao.queryIntersectionByDate(calender.getMusicGroupId(), format,format1);
+		int count = musicGroupPaymentCalenderDao.queryIntersectionByPaymentDate(calender.getMusicGroupId(), paymentCalender.getStartPaymentDate(),
+				paymentCalender.getDeadlinePaymentDate(), paymentCalender.getId());
+		// String format = DateUtil.format(startTime, DateUtil.DEFAULT_PATTERN);
+		// String format1 = DateUtil.format(endTime, DateUtil.DEFAULT_PATTERN);
+		// int count = musicGroupPaymentCalenderDao.queryIntersectionByDate(calender.getMusicGroupId(), format,format1);
 		if (count > 0) {
 			throw new BizException("缴费时间存在冲突,请修改缴费开始日期");
 		}
 		count = musicGroupPaymentCalenderDao.queryIntersectionByValidDate(calender.getMusicGroupId(), paymentCalender.getPaymentValidStartDate(),
-				paymentCalender.getPaymentValidEndDate(),paymentCalender.getId());
+				paymentCalender.getPaymentValidEndDate(), paymentCalender.getId());
 		if (count > 0) {
 			throw new BizException("缴费有效期存在冲突,请修改缴费有效期");
 		}
@@ -426,12 +403,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		calender.setPaymentValidEndDate(paymentCalender.getPaymentValidEndDate());
 		calender.setPaymentPattern(paymentCalender.getPaymentPattern());
 		calender.setUpdateTime(date);
-		if (paymentCalender.getDeadlinePaymentDate().before(date) && !DateUtil.isSameDay(date,paymentCalender.getDeadlinePaymentDate())) {
-			calender.setPaymentStatus(PaymentStatusEnum.OVER);
-		} else if (date.after(paymentCalender.getStartPaymentDate()) || DateUtil.isSameDay(date,paymentCalender.getStartPaymentDate())) {
-			calender.setPaymentStatus(PaymentStatusEnum.OPEN);
-			//修改Fee缴费状态为未缴费
-			musicGroupStudentFeeDao.updatePaymentStatus(calender.getId(),"NON_PAYMENT");
+		if (paymentCalender.getDeadlinePaymentDate().before(date) && !DateUtil.isSameDay(date, paymentCalender.getDeadlinePaymentDate())) {
+			calender.setStatus(PaymentCalenderStatusEnum.OVER);
+		} else if (date.after(paymentCalender.getStartPaymentDate()) || DateUtil.isSameDay(date, paymentCalender.getStartPaymentDate())) {
+			calender.setStatus(PaymentCalenderStatusEnum.OPEN);
+			// 修改Fee缴费状态为未缴费
+			musicGroupStudentFeeDao.updatePaymentStatus(calender.getId(), "NON_PAYMENT");
 			List<MusicGroupPaymentCalenderDetail> details = musicGroupPaymentCalenderDetailDao.queryByCalenderId(calender.getId());
 			Set<Integer> studentIds = details.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
 			if (studentIds.size() > 0) {
@@ -447,7 +424,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 						null, 0, memo, "STUDENT", musicGroup.getName());
 			}
 		} else {
-			calender.setPaymentStatus(PaymentStatusEnum.NO);
+			calender.setStatus(PaymentCalenderStatusEnum.NO);
 		}
 		musicGroupPaymentCalenderDao.update(calender);
 	}
@@ -462,7 +439,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (calender == null) {
 			throw new BizException("缴费信息不存在");
 		}
-		if (calender.getPaymentStatus() == null || calender.getPaymentStatus() != NO) {
+		if (calender.getStatus() == null || calender.getStatus() != PaymentCalenderStatusEnum.NO) {
 			throw new BizException("删除失败,缴费状态不匹配");
 		}
 		musicGroupPaymentCalenderDao.delete(id);
@@ -486,23 +463,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	}
 
 	@Override
-	public PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo) {
-		PageInfo<MusicGroupPaymentCalender> pageInfo = queryPage(queryInfo);
-		List<MusicGroupPaymentCalender> rows = pageInfo.getRows();
-		if (rows.size() == 0) {
-			return pageInfo;
-		}
-		Set<Long> collect = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
-		Map<Long, Long> expectNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countExpectNum(collect));
-		Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(collect));
-		rows.forEach(e -> {
-			e.setActualNum(actualNumMap.get(e.getId()) == null ? 0 : actualNumMap.get(e.getId()).intValue());
-			e.setExpectNum(expectNumMap.get(e.getId()) == null ? 0 : expectNumMap.get(e.getId()).intValue());
-		});
-		return pageInfo;
-	}
-
-	@Override
 	public void paymentPush(Long id, String userIds) {
 		// 推送所有
 		if (StringUtils.isEmpty(userIds)) {

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -323,7 +323,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         studentRegistration.setId(null);
                         if (musicGroupSubjectPlan.getFee().compareTo(BigDecimal.ZERO) == 0) {
                             studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
-                            studentRegistration.setPaymentStatus(PaymentStatusEnum.OVER);
+                            studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
                         } else {
                             studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.APPLY);
                             studentRegistration.setPaymentStatus(PaymentStatusEnum.OPEN);
@@ -1724,7 +1724,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, musicGroupId);
-        if (studentRegistration == null || studentRegistration.getPaymentStatus() != PaymentStatusEnum.OVER) {
+        if (studentRegistration == null || studentRegistration.getPaymentStatus() != PaymentStatusEnum.YES) {
             throw new BizException("请走报名缴费流程");
         }
         MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
@@ -2240,8 +2240,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //获取付费主体
         subFeeSettingDto.setMusicGroupPaymentEntities(musicGroupPaymentEntitiesDao.findByMusicGroupId(musicGroupId));
         //获取缴费周期
-        List<Integer> paymentMonth = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId).stream().map(e -> e.getPaymentMonth()).collect(Collectors.toList());
-        subFeeSettingDto.setMonths(paymentMonth);
+        //List<Integer> paymentMonth = musicGroupPaymentCalenderDao.findByMusicGroupId(musicGroupId).stream().map(e -> e.getPaymentMonth()).collect(Collectors.toList());
+        //subFeeSettingDto.setMonths(paymentMonth);
         return subFeeSettingDto;
     }
 

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -703,7 +703,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             if (reduce == BigDecimal.ZERO) {
                 paymentStatus = MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED;
                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
-                studentRegistration.setPaymentStatus(PaymentStatusEnum.OVER);
+                studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
                 studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
                 studentPaymentOrder.setActualAmount(reduce);
                 studentPaymentOrder.setPayTime(date);
@@ -851,7 +851,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         //成功报名状态变更
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(studentPaymentOrder.getUserId(), studentPaymentOrder.getMusicGroupId());
 
-        if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.OVER)) {
+        if (studentRegistration.getPaymentStatus().equals(PaymentStatusEnum.YES)) {
             return studentPaymentOrder;
         }
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getActualSubjectId());
@@ -863,7 +863,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             if (studentRegistration.getTemporaryCourseFee() != null) {
                 studentRegistration.setTemporaryCourseFee(new BigDecimal(0));
             }
-            studentRegistration.setPaymentStatus(PaymentStatusEnum.OVER);
+            studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
             studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
             studentRegistrationDao.update(studentRegistration);
 

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

@@ -34,7 +34,6 @@
         <result column="repair_user_id_" property="repairUserId"/>
         <result column="ownership_type_" property="ownershipType"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="fee_type_" property="feeType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="del_flag_" property="delFlag"/>
         <result column="payment_valid_start_date_" property="paymentValidStartDate"/>
         <result column="payment_valid_end_date_" property="paymentValidEndDate"/>
@@ -71,7 +70,7 @@
          bill_start_date_, improvent_classes_num_, enroll_classes_, payment_expire_date_, is_extra_class_,
          settlement_type_, cooperation_organ_id_, enlightenment_course_time_,
          parent_meeting_time_, img_, director_user_id_, is_classroom_lessons_, memo_, expect_start_group_date_,
-         ownership_type_, repair_user_id_, fee_type_, del_flag_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_)
+         ownership_type_, repair_user_id_, del_flag_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_)
         VALUES (#{id}, #{name}, #{organId}, #{schoolId}, #{applyExpireDate}, #{teamTeacherId}, #{educationalTeacherId},
                 #{chargeTypeId}, #{courseForm}, now(), now(),
                 #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{billStartDate},
@@ -81,7 +80,7 @@
                 #{cooperationOrganId}, #{enlightenmentCourseTime}, #{parentMeetingTime}, #{img}, #{directorUserId},
                 #{isClassroomLessons}, #{memo}, #{expectStartGroupDate},
                 #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{repairUserId},
-                #{feeType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{delFlag},#{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern})
+                #{delFlag},#{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -98,9 +97,6 @@
             <if test="ownershipType != null">
                 ownership_type_ = #{ownershipType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
-            <if test="feeType != null">
-                fee_type_ = #{feeType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
             <if test="status != null">
                 status_ = #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>

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

@@ -9,13 +9,15 @@
     <resultMap type="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender" id="MusicGroupPaymentCalender">
         <result column="id_" property="id"/>
         <result column="music_group_id_" property="musicGroupId"/>
-        <result column="payment_month_" property="paymentMonth"/>
+        <result column="music_group_organization_course_settings_id_" property="musicGroupOrganizationCourseSettingId"/>
+        <result column="pay_user_type_" property="payUserType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="start_payment_date_" property="startPaymentDate"/>
         <result column="deadline_payment_date_" property="deadlinePaymentDate"/>
-        <result column="payment_status_" property="paymentStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="expect_num_" property="expectNum"/>
         <result column="actual_num_" property="actualNum"/>
         <result column="memo_" property="memo"/>
+        <result column="reject_reason_" property="rejectReason"/>
         <result column="is_give_music_network_" property="isGiveMusicNetwork"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
@@ -39,20 +41,12 @@
     <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_,payment_month_,start_payment_date_,deadline_payment_date_,payment_status_,expect_num_,
+        (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},#{paymentMonth},#{startPaymentDate},#{deadlinePaymentDate},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        VALUES(#{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>
-    <insert id="batchAdd">
-        INSERT INTO music_group_payment_calender
-        (music_group_id_,payment_month_,create_time_,update_time_)
-        VALUES
-        <foreach collection="calender" item="item" separator=",">
-            (#{musicGroupId},#{item},now(),now())
-        </foreach>
-    </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender">
@@ -74,8 +68,8 @@
             <if test="deadlinePaymentDate != null">
                 deadline_payment_date_ = #{deadlinePaymentDate},
             </if>
-            <if test="paymentStatus != null">
-                payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            <if test="status != null">
+                status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="expectNum != null">
                 expect_num_ = #{expectNum},
@@ -89,8 +83,14 @@
             <if test="startPaymentDate != null">
                 start_payment_date_ = #{startPaymentDate},
             </if>
-            <if test="paymentMonth != null">
-                payment_month_ = #{paymentMonth},
+            <if test="musicGroupOrganizationCourseSettingId != null">
+                music_group_organization_course_settings_id_ = #{musicGroupOrganizationCourseSettingId},
+            </if>
+            <if test="payUserType != null">
+                pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="rejectReason != null">
+                reject_reason_ = #{rejectReason},
             </if>
             <if test="updateTime != null">
                 update_time_ = NOW(),
@@ -115,8 +115,8 @@
 	            <if test="item.deadlinePaymentDate != null">
 	                deadline_payment_date_ = #{item.deadlinePaymentDate},
 	            </if>
-	            <if test="item.paymentStatus != null">
-	                payment_status_ = #{item.paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+	            <if test="item.status != null">
+	                status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 	            </if>
 	            <if test="item.expectNum != null">
 	                expect_num_ = #{item.expectNum},
@@ -130,8 +130,14 @@
 	            <if test="item.startPaymentDate != null">
 	                start_payment_date_ = #{item.startPaymentDate},
 	            </if>
-	            <if test="item.paymentMonth != null">
-	                payment_month_ = #{item.paymentMonth},
+	            <if test="item.musicGroupOrganizationCourseSettingId != null">
+	                music_group_organization_course_settings_id_ = #{item.musicGroupOrganizationCourseSettingId},
+	            </if>
+	            <if test="item.payUserType != null">
+	                pay_user_type_ = #{item.payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+	            </if>
+	            <if test="item.rejectReason != null">
+	                reject_reason_ = #{item.rejectReason},
 	            </if>
 	            <if test="item.updateTime != null">
 	                update_time_ = NOW(),
@@ -170,7 +176,7 @@
     <select id="findByMusicGroupId" resultMap="MusicGroupPaymentCalender">
         SELECT * FROM music_group_payment_calender mgpc
         WHERE music_group_id_ = #{musicGroupId}
-        ORDER BY payment_month_
+        ORDER BY id_
     </select>
 	
     <select id="queryByPaymentStatus" resultMap="MusicGroupPaymentCalender">
@@ -239,7 +245,7 @@
         SELECT mgpcd.music_group_payment_calender_id_ 'key',COUNT(mgpcd.payment_status_) 'value'
         FROM music_group_payment_calender_detail mgpcd
         WHERE mgpcd.music_group_payment_calender_id_ IN
-        (SELECT id_ FROM music_group_payment_calender WHERE payment_status_ != 0
+        (SELECT id_ FROM music_group_payment_calender WHERE status_ != 0
         AND DATEDIFF(#{format},DATE_FORMAT(start_payment_date_,'%Y-%m-%d')) = #{configValue})
         AND mgpcd.payment_status_ = 'NON_PAYMENT'
         GROUP BY mgpcd.music_group_payment_calender_id_

+ 4 - 3
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -33,6 +33,7 @@ import com.ym.mec.biz.dal.dto.RegisterPayDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
@@ -146,7 +147,7 @@ public class MusicGroupController extends BaseController {
         if (studentRegistration == null) {
             return failed(HttpStatus.CONTINUE, "乐团报名信息不存在");
         }
-        if (studentRegistration.getPaymentStatus() != null && studentRegistration.getPaymentStatus() == PaymentStatusEnum.OVER) {
+        if (studentRegistration.getPaymentStatus() != null && studentRegistration.getPaymentStatus() == PaymentStatusEnum.YES) {
             return failed("您已缴费,请等待乐团开启");
         }
 
@@ -192,7 +193,7 @@ public class MusicGroupController extends BaseController {
         MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
         if(userLastCalenderDetail == null){
             MusicGroupPaymentCalender lastCalender = musicGroupPaymentCalenderDao.getLastStartOne(musicGroupId);
-           String tips =  (lastCalender != null && lastCalender.getPaymentStatus().equals(PaymentStatusEnum.OVER))?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
+           String tips =  (lastCalender != null && lastCalender.getStatus() == PaymentCalenderStatusEnum.OVER)?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
             throw new BizException(tips);
         }
 
@@ -236,7 +237,7 @@ public class MusicGroupController extends BaseController {
         MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
         if(userLastCalenderDetail == null){
             MusicGroupPaymentCalender lastCalender = musicGroupPaymentCalenderDao.getLastStartOne(musicGroupId);
-            String tips =  (lastCalender != null && lastCalender.getPaymentStatus().equals(PaymentStatusEnum.OVER))?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
+            String tips =  (lastCalender != null && lastCalender.getStatus() == PaymentCalenderStatusEnum.OVER)?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
             throw new BizException(tips);
         }
         return succeed(musicGroupService.renew(musicGroupId, userId, isUseBalancePayment));

+ 12 - 7
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java

@@ -1,17 +1,22 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
-import com.ym.mec.biz.dal.page.MusicCalenderQueryInfo;
-import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
-import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Date;
-import java.util.List;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.page.MusicCalenderQueryInfo;
+import com.ym.mec.biz.service.MusicGroupPaymentCalenderService;
+import com.ym.mec.common.controller.BaseController;
 
 @RequestMapping("musicGroupPaymentCalender")
 @Api(tags = "乐团缴费日历服务")

+ 4 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SporadicChargeInfoController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 @RequestMapping("sporadicChargeInfo")
@@ -111,7 +112,10 @@ public class SporadicChargeInfoController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
+		SporadicChargeInfo info = sporadicChargeInfoService.get(sporadicChargeInfo.getId());
+		sporadicChargeInfo.setVersion(info.getVersion());
 		sporadicChargeInfo.setOperatorId(sysUser.getId());
+		sporadicChargeInfo.setUpdateTime(new Date());
 		return succeed(sporadicChargeInfoService.update(sporadicChargeInfo));
 	}