Explorar o código

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into saas

yanite %!s(int64=3) %!d(string=hai) anos
pai
achega
595e60cb3b
Modificáronse 26 ficheiros con 223 adicións e 403 borrados
  1. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java
  2. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderActivityDao.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CalenderMemberDto.java
  4. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAddStudentDto.java
  5. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CloudTeacherOrder.java
  6. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CalenderBaseServiceEnum.java
  7. 12 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PeriodEnum.java
  8. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/CloudTeacherAddQueryInfo.java
  9. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderActivityService.java
  10. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderBaseService.java
  11. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java
  12. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityPlanServiceImpl.java
  13. 12 35
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java
  14. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberPaymentCalenderServiceImpl.java
  15. 5 40
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java
  16. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderActivityServiceImpl.java
  17. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java
  18. 24 28
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  19. 22 32
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  20. 12 45
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  21. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicRepairPaymentCalenderServiceImpl.java
  22. 11 61
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  23. 6 43
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  24. 20 89
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  25. 4 4
      mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml
  26. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderActivityDao.xml

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java

@@ -7,7 +7,6 @@ import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 
 import org.apache.ibatis.annotations.Param;
-import org.junit.runners.Parameterized.Parameters;
 
 import java.util.Date;
 import java.util.List;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderActivityDao.java

@@ -9,4 +9,6 @@ import java.util.List;
 public interface MusicGroupPaymentCalenderActivityDao extends BaseMapper<MusicGroupPaymentCalenderActivity> {
 
     void insertBatch(@Param("calenderActivityList") List<MusicGroupPaymentCalenderActivity> musicGroupPaymentCalenderActivities);
+
+    void delByCalenderId(@Param("calenderId") Long calenderId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CalenderMemberDto.java

@@ -17,12 +17,23 @@ public class CalenderMemberDto {
     @ApiModelProperty(value = "会员现价", required = false)
     private BigDecimal actualAmount = BigDecimal.ZERO;
 
+    @ApiModelProperty(value = "会员原价", required = false)
+    private BigDecimal originalAmount = BigDecimal.ZERO;
+
     @ApiModelProperty(value = "会员等级编号", required = false)
     private Integer memberRankSettingId = 1;
 
     @ApiModelProperty(value = "是否必选", required = false)
     private Boolean optionalFlag = false;
 
+    public BigDecimal getOriginalAmount() {
+        return originalAmount;
+    }
+
+    public void setOriginalAmount(BigDecimal originalAmount) {
+        this.originalAmount = originalAmount;
+    }
+
     public PeriodEnum getPeriodEnum() {
         return periodEnum;
     }

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderAddStudentDto.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.dto;
 
-import java.util.List;
 import java.util.Set;
 
 public class MusicGroupPaymentCalenderAddStudentDto {

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.PeriodEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -29,7 +30,7 @@ public class CloudTeacherOrder extends BaseEntity {
      * 时长类型 1-天 2-月 3-年
      */
     @ApiModelProperty(value = "时长类型 1-天 2-月 3-年")
-    private Integer type;
+    private PeriodEnum type;
 
     /**
      * 时长类型 1-天 2-月 3-年
@@ -137,11 +138,11 @@ public class CloudTeacherOrder extends BaseEntity {
         this.studentId = studentId;
     }
 
-    public Integer getType() {
+    public PeriodEnum getType() {
         return type;
     }
 
-    public void setType(Integer type) {
+    public void setType(PeriodEnum type) {
         this.type = type;
     }
 

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CalenderBaseServiceEnum.java

@@ -0,0 +1,22 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum CalenderBaseServiceEnum implements BaseEnum<String, CalenderBaseServiceEnum> {
+	COURSE("课程"), MEMBER("会员"), MUSIC_REPAIR("乐保"), ACTIVITY("活动");
+
+	private String code;
+
+	CalenderBaseServiceEnum(String code) {
+		this.code = code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	@Override
+	public String getCode() {
+		return code;
+	}
+}

+ 12 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PeriodEnum.java

@@ -5,15 +5,22 @@ import com.ym.mec.common.enums.BaseEnum;
 /**
  * 周期
  */
-public enum PeriodEnum implements BaseEnum<String, PeriodEnum> {
-	DAY("日"), MONTH("月"), QUARTERLY("季度"), YEAR_HALF("半年"), YEAR("年");
+public enum PeriodEnum implements BaseEnum<Integer, PeriodEnum> {
+	DAY(1,"日"), MONTH(2,"月"), QUARTERLY(3,"季度"), YEAR_HALF(4,"半年"), YEAR(5,"年");
+
+	private Integer code;
 
 	private String msg;
 
-	PeriodEnum(String msg) {
+	PeriodEnum(Integer code,String msg) {
+		this.code = code;
 		this.msg = msg;
 	}
 
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+
 	public String getMsg() {
 		return msg;
 	}
@@ -23,7 +30,7 @@ public enum PeriodEnum implements BaseEnum<String, PeriodEnum> {
 	}
 
 	@Override
-	public String getCode() {
-		return this.name();
+	public Integer getCode() {
+		return this.code;
 	}
 }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/page/CloudTeacherAddQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -12,7 +13,7 @@ public class CloudTeacherAddQueryInfo extends QueryInfo {
 	private List<Integer> studentIds;
 
 	@ApiModelProperty(value = "类型 1-天, 2-月 3-季, 4-半年, 5-年")
-	private Integer addType;
+	private PeriodEnum addType;
 
 	@ApiModelProperty(value = "数量")
 	private Integer times;
@@ -25,11 +26,11 @@ public class CloudTeacherAddQueryInfo extends QueryInfo {
 		this.studentIds = studentIds;
 	}
 
-	public Integer getAddType() {
+	public PeriodEnum getAddType() {
 		return addType;
 	}
 
-	public void setAddType(Integer addType) {
+	public void setAddType(PeriodEnum addType) {
 		this.addType = addType;
 	}
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderActivityService.java

@@ -12,4 +12,6 @@ public interface MusicGroupPaymentCalenderActivityService {
     * @date 2021/12/22 15:31
     */
     void batchInsert(MusicGroupPaymentBaseCalender musicGroupPaymentBaseCalender, Long calenderId);
+
+    void delByCalenderId(Long calenderId);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderBaseService.java

@@ -2,11 +2,16 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.enums.CalenderBaseServiceEnum;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
 
 public interface MusicGroupPaymentCalenderBaseService {
 
+    Map<CalenderBaseServiceEnum,MusicGroupPaymentCalenderBaseService> calenderBaseServiceMap = new HashMap<>();
+
     /**
     * @description: 缴费项目组件
      * @param baseCalender
@@ -33,4 +38,6 @@ public interface MusicGroupPaymentCalenderBaseService {
     * @date 2021/12/21 23:35
     */
     BigDecimal getActualAmount(MusicGroupPaymentBaseCalender baseCalender);
+
+
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -80,9 +80,20 @@ public interface StudentService extends BaseService<Integer, Student> {
     CooperationOrgan getStudentEduTeacher(Integer userId);
 
     /**
+    * @description: 根据开始时间和周期计算会员截止日期
+     * @param periodEnum
+     * @param endTime
+     * @param memberNum
+    * @return java.util.Date
+    * @author zx
+    * @date 2021/12/23 14:07
+    */
+    Date getMembershipEndTime(PeriodEnum periodEnum,Date endTime,Integer memberNum);
+
+    /**
      * 更新学员会员信息
      */
-    void updateMemberRank(CloudTeacherOrder cloudTeacherOrder, PeriodEnum periodEnum);
+    void updateMemberRank(CloudTeacherOrder cloudTeacherOrder);
     
     void updateMemberRank(Integer userId, PeriodEnum periodEnum, int times, Integer memberRankSettingId);
 

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityPlanServiceImpl.java

@@ -1,15 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ActivityPlanDao;
 import com.ym.mec.biz.dal.dto.ActivityPlanAddDto;
 import com.ym.mec.biz.dal.dto.SalarySettlementDto;
 import com.ym.mec.biz.dal.dto.SalarySettlementTypeDto;
 import com.ym.mec.biz.dal.entity.ActivityPlan;
-import com.ym.mec.biz.dal.entity.VipGroupActivity;
-import com.ym.mec.biz.event.source.EntityChangeEventSource;
 import com.ym.mec.biz.service.ActivityPlanService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -20,16 +16,11 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Objects;
 
-import static com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum.RATIO_DISCOUNT;
-import static com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum.TEACHER_DEFAULT;
-
 @Service
 public class ActivityPlanServiceImpl extends BaseServiceImpl<Integer, ActivityPlan>  implements ActivityPlanService {
 	
 	@Autowired
 	private ActivityPlanDao activityPlanDao;
-//	@Autowired
-//	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Integer, ActivityPlan> getDAO() {

+ 12 - 35
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -1,23 +1,27 @@
 package com.ym.mec.biz.service.impl;
 
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dao.CloudTeacherDao;
+import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
+import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.enums.TenantOrderRecordEnum;
 import com.ym.mec.biz.dal.page.CloudTeacherAddQueryInfo;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.IdGeneratorService;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.yqpay.Msg;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.joda.time.LocalDateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,12 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.ym.mec.biz.dal.dto.CloudTeacherOrderDto;
-import com.ym.mec.biz.dal.enums.PeriodEnum;
-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.util.date.DateUtil;
+import java.math.BigDecimal;
+import java.util.*;
 
 @Service
 public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTeacherOrder> implements CloudTeacherOrderService {
@@ -38,8 +38,6 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
     @Autowired
     private CloudTeacherOrderDao cloudTeacherOrderDao;
     @Autowired
-    private CourseScheduleDao courseScheduleDao;
-    @Autowired
     private CloudTeacherDao cloudTeacherDao;
     @Autowired
     private StudentService studentService;
@@ -292,29 +290,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         Date endTime = null;
         Date endBaseTime = null;
         
-        PeriodEnum periodEnum = PeriodEnum.MONTH;
-		switch (cloudTeacherOrder.getType()) {
-		case 1:
-			periodEnum = PeriodEnum.DAY;
-			break;
-		case 2:
-			periodEnum = PeriodEnum.MONTH;
-			break;
-		case 3:
-			periodEnum = PeriodEnum.QUARTERLY;
-			break;
-        case 4:
-            periodEnum = PeriodEnum.YEAR_HALF;
-            break;
-        case 5:
-            periodEnum = PeriodEnum.YEAR;
-            break;
-
-		default:
-			break;
-		}
         //更新student表信息
-        studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+        studentService.updateMemberRank(cloudTeacherOrder);
         
         if (cloudTeacher == null) {
             cloudTeacher = new CloudTeacher();

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberPaymentCalenderServiceImpl.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.MemberFeeSetting;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.enums.CalenderBaseServiceEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderBaseService;
 import com.ym.mec.common.exception.BizException;
@@ -18,12 +19,16 @@ import java.math.BigDecimal;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.AUDITING;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.NO;
 
-@Service(value = "memberCalenderService")
+@Service
 public class MemberPaymentCalenderServiceImpl implements MusicGroupPaymentCalenderBaseService {
 
     @Autowired
     private MemberFeeSettingDao memberFeeSettingDao;
 
+    public MemberPaymentCalenderServiceImpl() {
+        MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap.put(CalenderBaseServiceEnum.MEMBER,this);
+    }
+
     @Override
     public void createComponent(MusicGroupPaymentBaseCalender baseCalender) {
 

+ 5 - 40
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -177,32 +177,27 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 		CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 
 		BigDecimal actualAmount = BigDecimal.ZERO;
-
+		cloudTeacherOrder.setType(memberPayParamDto.getPeriodEnum());
 		switch (memberPayParamDto.getPeriodEnum()) {
 			case DAY:
 				actualAmount = memberFeeSetting.getCurrentDayFee();
-				cloudTeacherOrder.setType(1);
 				cloudTeacherOrder.setTime(1);
 				break;
 			case MONTH:
 				actualAmount = memberFeeSetting.getCurrentMonthFee().multiply(new BigDecimal(memberPayParamDto.getBuyNum()));
-				cloudTeacherOrder.setType(2);
 				//购买月份加上赠送月份,目前只有按月购买的活动,其他的暂不处理
 				cloudTeacherOrder.setTime(memberPayParamDto.getBuyNum() + memberPayParamDto.getGiveNum());
 				break;
 			case QUARTERLY:
 				actualAmount = memberFeeSetting.getCurrentQuarterlyFee();
-				cloudTeacherOrder.setType(2);
 				cloudTeacherOrder.setTime(3);
 				break;
 			case YEAR_HALF:
 				actualAmount = memberFeeSetting.getCurrentHalfYearFee();
-				cloudTeacherOrder.setType(2);
 				cloudTeacherOrder.setTime(6);
 				break;
 			case YEAR:
 				actualAmount = memberFeeSetting.getCurrentYearFee();
-				cloudTeacherOrder.setType(3);
 				cloudTeacherOrder.setTime(1);
 				break;
 
@@ -321,49 +316,19 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 			cloudTeacherOrder.setStatus(2);
 			cloudTeacherOrder.setUpdateTime(nowDate);
 
-			PeriodEnum periodEnum = PeriodEnum.MONTH;
-			switch (cloudTeacherOrder.getType()) {
-			case 1:
-				periodEnum = PeriodEnum.DAY;
-				break;
-			case 2:
-				periodEnum = PeriodEnum.MONTH;
-				break;
-			case 3:
-				periodEnum = PeriodEnum.YEAR;
-				break;
-
-			default:
-				break;
-			}
+			PeriodEnum periodEnum = cloudTeacherOrder.getType();
 
 			if (student.getMemberRankSettingId() == null || nowDate.after(student.getMembershipEndTime())) {
 				cloudTeacherOrder.setStartTime(nowDate);
-				if (cloudTeacherOrder.getType() == 1) {
-					cloudTeacherOrder.setEndTime(DateUtil.addDays(nowDate, cloudTeacherOrder.getTime()));
-				} else if (cloudTeacherOrder.getType() == 2) {
-					cloudTeacherOrder.setEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime()));
-				} else if (cloudTeacherOrder.getType() == 3) {
-					cloudTeacherOrder.setEndTime(DateUtil.addYears(nowDate, cloudTeacherOrder.getTime()));
-				} else {
-					throw new BizException("不支持的周期类型");
-				}
+				cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(periodEnum,nowDate,cloudTeacherOrder.getTime()));
 			} else {
 				cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
-				if (cloudTeacherOrder.getType() == 1) {
-					cloudTeacherOrder.setEndTime(DateUtil.addDays(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-				} else if (cloudTeacherOrder.getType() == 2) {
-					cloudTeacherOrder.setEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-				} else if (cloudTeacherOrder.getType() == 3) {
-					cloudTeacherOrder.setEndTime(DateUtil.addYears(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-				} else {
-					throw new BizException("不支持的周期类型");
-				}
+				cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(periodEnum,student.getMembershipEndTime(),cloudTeacherOrder.getTime()));
 			}
 
 			cloudTeacherOrderService.update(cloudTeacherOrder);
 			// 添加会员有效时长
-			studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+//			studentService.updateMemberRank(cloudTeacherOrder);
 			//云教练活动赠送优惠券
 			cloudTeacherActiveGiveCoupon(cloudTeacherOrder);
 //			// 插入交易明细

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderActivityServiceImpl.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderActivityDao;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderActivity;
+import com.ym.mec.biz.dal.enums.CalenderBaseServiceEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderActivityService;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderBaseService;
 import org.springframework.stereotype.Service;
@@ -15,6 +16,10 @@ import java.util.List;
 public class MusicGroupPaymentCalenderActivityServiceImpl extends ServiceImpl<MusicGroupPaymentCalenderActivityDao, MusicGroupPaymentCalenderActivity>
         implements MusicGroupPaymentCalenderActivityService, MusicGroupPaymentCalenderBaseService {
 
+    public MusicGroupPaymentCalenderActivityServiceImpl() {
+        MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap.put(CalenderBaseServiceEnum.ACTIVITY,this);
+    }
+
     @Override
     public void createComponent(MusicGroupPaymentBaseCalender baseCalender) {
 
@@ -42,4 +47,9 @@ public class MusicGroupPaymentCalenderActivityServiceImpl extends ServiceImpl<Mu
             baseMapper.insertBatch(calenderActivityList);
         }
     }
+
+    @Override
+    public void delByCalenderId(Long calenderId) {
+        baseMapper.delByCalenderId(calenderId);
+    }
 }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
 import com.ym.mec.biz.dal.dao.OrganizationCourseUnitPriceSettingsDao;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.CalenderBaseServiceEnum;
 import com.ym.mec.biz.service.MusicGroupOrganizationCourseSettingsService;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderBaseService;
 import com.ym.mec.common.exception.BizException;
@@ -39,6 +40,10 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
 	@Autowired
 	private MusicGroupOrganizationCourseSettingsService musicGroupOrganizationCourseSettingsService;
 
+	public MusicGroupPaymentCalenderCourseSettingsServiceImpl() {
+		MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap.put(CalenderBaseServiceEnum.COURSE,this);
+	}
+
 	@Override
 	public BaseDAO<Integer, MusicGroupPaymentCalenderCourseSettings> getDAO() {
 		return musicGroupPaymentCalenderCourseSettingsDao;
@@ -97,7 +102,7 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
 		return musicGroupPaymentCalenderCourseSettingsDao.queryCalenderCourseSettingsByBatchNo(batchNo);
 	}
 
-	@Override
+    @Override
 	public void createComponent(MusicGroupPaymentBaseCalender baseCalender) {
 
 	}

+ 24 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -167,15 +167,13 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 				if(calender.getMemberRankSettingId() != null){
 					CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 					cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
-					cloudTeacherOrder.setType(2);
+					cloudTeacherOrder.setType(calender.getMemberPeriod());
 					cloudTeacherOrder.setTime(calender.getMemberValidDate());
 					//只用会员价格
 					cloudTeacherOrder.setAmount(expectMemberAmount);
 					cloudTeacherOrder.setStudentId(e.getUserId());
 					cloudTeacherOrder.setLevel(calender.getMemberRankSettingId());
-					cloudTeacherOrder.setStatus(2);
-					cloudTeacherOrder.setStartTime(date);
-					cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,calender.getMemberValidDate()));
+					cloudTeacherOrder.setStatus(1);
 					if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
 						cloudTeacherOrder.setRemark("进行中乐团加学生,缴费金额改为0元");
 					}else {
@@ -183,7 +181,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 					}
 					cloudTeacherOrder.setMusicGroupId(calender.getMusicGroupId());
 					cloudTeacherOrderDao.insert(cloudTeacherOrder);
-					studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//					studentService.updateMemberRank(cloudTeacherOrder);
 				}
 				calender.setActualNum((calender.getActualNum()==null?0:calender.getActualNum()) + 1);
 				e.setPaymentStatus(PAID_COMPLETED);
@@ -491,18 +489,18 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			}
 			
 			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupPaymentCalenderId);
-			
-			BigDecimal expectAmount = BigDecimal.ZERO;
-			BigDecimal expectMemberAmount = musicGroupPaymentCalender.getMemberPaymentAmount();
-
-			if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
-				for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
-					// 剔除可选课程
-					if (courseSettings.getIsStudentOptional() == false) {
-						expectAmount = expectAmount.add(courseSettings.getCourseCurrentPrice());
-					}
-				}
-			}
+//
+//			BigDecimal expectAmount = BigDecimal.ZERO;
+//			BigDecimal expectMemberAmount = musicGroupPaymentCalender.getMemberPaymentAmount();
+
+//			if (musicGroupPaymentCalender.getPayUserType() == STUDENT) {
+//				for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
+//					// 剔除可选课程
+//					if (courseSettings.getIsStudentOptional() == false) {
+//						expectAmount = expectAmount.add(courseSettings.getCourseCurrentPrice());
+//					}
+//				}
+//			}
 			
 			Date date = new Date();
 			MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = null;
@@ -514,9 +512,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 				musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 				musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalenderId);
 				musicGroupPaymentCalenderDetail.setCreateTime(date);
-				musicGroupPaymentCalenderDetail.setExpectAmount(expectAmount);
-				musicGroupPaymentCalenderDetail.setExpectMemberAmount(expectMemberAmount);
-				if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
+//				musicGroupPaymentCalenderDetail.setExpectAmount(musicGroupPaymentCalender.getPaymentAmount());
+//				musicGroupPaymentCalenderDetail.setExpectMemberAmount(musicGroupPaymentCalender.getMemberPaymentAmount());
+				if (musicGroupPaymentCalender.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
 					musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.PAID_COMPLETED);
 				} else {
 					musicGroupPaymentCalenderDetail.setPaymentStatus(PaymentStatus.NON_PAYMENT);
@@ -528,23 +526,21 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 				musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
 				
 				musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
-				if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
+				if (musicGroupPaymentCalender.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
 					// 添加会员有效时长
 					if(musicGroupPaymentCalender.getMemberRankSettingId() != null){
 						CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 						cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
-						cloudTeacherOrder.setType(2);
+						cloudTeacherOrder.setType(musicGroupPaymentCalender.getMemberPeriod());
 						cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
-						cloudTeacherOrder.setAmount(expectMemberAmount);
+						cloudTeacherOrder.setAmount(BigDecimal.ZERO);
 						cloudTeacherOrder.setStudentId(studentId);
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
-						cloudTeacherOrder.setStatus(2);
-						cloudTeacherOrder.setStartTime(date);
-						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,musicGroupPaymentCalender.getMemberValidDate()));
+						cloudTeacherOrder.setStatus(1);
 						cloudTeacherOrder.setRemark("缴费项目0元新增学员");
 						cloudTeacherOrder.setMusicGroupId(musicGroupId);
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
-						studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//						studentService.updateMemberRank(cloudTeacherOrder);
 					}
 				}
 			}
@@ -558,7 +554,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			//更新预计缴费人数
 			musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
 			musicGroupPaymentCalender.setUpdateTime(date);
-			if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
+			if (musicGroupPaymentCalender.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
 				musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + userIdList.size());
 			}
 			musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);

+ 22 - 32
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -13,6 +13,7 @@ import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.Map.Entry;
+import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 import com.alibaba.fastjson.JSONObject;
@@ -68,8 +69,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Autowired
 	private MusicGroupOrganizationCourseSettingsDetailDao musicGroupOrganizationCourseSettingsDetailDao;
 	@Autowired
-	private MusicGroupOrganizationCourseSettingsService musicGroupOrganizationCourseSettingsService;
-	@Autowired
 	private OrganizationCourseUnitPriceSettingsDao organizationCourseUnitPriceSettingsDao;
 	@Autowired
 	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
@@ -129,10 +128,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private CloudTeacherOrderDao cloudTeacherOrderDao;
 	@Autowired
 	private MusicGroupPaymentCalenderActivityService musicGroupPaymentCalenderActivityService;
-	@Resource(name = "musicRepairService")
-	private MusicGroupPaymentCalenderBaseService musicRepairService;
-	@Resource(name = "memberCalenderService")
-	private MusicGroupPaymentCalenderBaseService memberCalenderService;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -566,24 +561,29 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 		PaymentCalenderStatusEnum status = PaymentCalenderStatusEnum.NO;
 
-		Date date = new Date();
-		String batchNo = idGeneratorService.generatorId() + "";
-
-		BigDecimal originalMemberPaymentAmount = BigDecimal.ZERO;
+		//检测缴费项目是否有费用变更
+		Map<CalenderBaseServiceEnum, MusicGroupPaymentCalenderBaseService> calenderBaseServiceMap = MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap;
 		if (musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL) {
 			status = AUDITING;
 		} else {
-			status = memberCalenderService.checkComponentAmount(musicGroupPaymentBaseCalender);
+			status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.MEMBER).checkComponentAmount(musicGroupPaymentBaseCalender);
 			if(status != AUDITING){
-				status = ((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).checkComponentAmount(musicGroupPaymentBaseCalender);
+				status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.COURSE).checkComponentAmount(musicGroupPaymentBaseCalender);
 			}
 			if(status != AUDITING){
-				status = musicRepairService.checkComponentAmount(musicGroupPaymentBaseCalender);
+				status = calenderBaseServiceMap.get(CalenderBaseServiceEnum.MUSIC_REPAIR).checkComponentAmount(musicGroupPaymentBaseCalender);
 			}
 		}
+		//计算缴费项目总金额
+		BigDecimal totalPaymentAmount = BigDecimal.ZERO;
+		totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.MEMBER).getActualAmount(musicGroupPaymentBaseCalender));
+		totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).getActualAmount(musicGroupPaymentBaseCalender));
+		totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.MUSIC_REPAIR).getActualAmount(musicGroupPaymentBaseCalender));
+		totalPaymentAmount = totalPaymentAmount.add(calenderBaseServiceMap.get(CalenderBaseServiceEnum.ACTIVITY).getActualAmount(musicGroupPaymentBaseCalender));
+
+		Date date = new Date();
 
 		MusicGroupPaymentCalender musicGroupPaymentCalender = new MusicGroupPaymentCalender();
-		musicGroupPaymentCalender.setOriginalMemberPaymentAmount(originalMemberPaymentAmount);
 		musicGroupPaymentCalender.setDeadlinePaymentDate(musicGroupPaymentBaseCalender.getDeadlinePaymentDate());
 		musicGroupPaymentCalender.setMemo(musicGroupPaymentBaseCalender.getMemo());
 		musicGroupPaymentCalender.setMusicGroupId(musicGroupId);
@@ -593,14 +593,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		musicGroupPaymentCalender.setOperator(sysUser.getId());
 		musicGroupPaymentCalender.setCreateTime(date);
 		musicGroupPaymentCalender.setUpdateTime(date);
-		musicGroupPaymentCalender.setStatus(status);
 		musicGroupPaymentCalender.setPaymentType(musicGroupPaymentBaseCalender.getPaymentType());
-
-		BigDecimal totalPaymentAmount = BigDecimal.ZERO;
-		totalPaymentAmount = totalPaymentAmount.add(memberCalenderService.getActualAmount(musicGroupPaymentBaseCalender));
-		totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderCourseSettingsServiceImpl)musicGroupPaymentCalenderCourseSettingsService).getActualAmount(musicGroupPaymentBaseCalender));
-		totalPaymentAmount = totalPaymentAmount.add(musicRepairService.getActualAmount(musicGroupPaymentBaseCalender));
-		totalPaymentAmount = totalPaymentAmount.add(((MusicGroupPaymentCalenderActivityServiceImpl)musicGroupPaymentCalenderActivityService).getActualAmount(musicGroupPaymentBaseCalender));
 		musicGroupPaymentCalender.setPaymentAmount(totalPaymentAmount);
 
 		//会员缴费信息
@@ -612,6 +605,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			musicGroupPaymentCalender.setMemberValidDate(calenderMember.getMemberNum());
 			musicGroupPaymentCalender.setMemberPeriod(calenderMember.getPeriodEnum());
 			musicGroupPaymentCalender.setMemberOptionalFlag(calenderMember.getOptionalFlag());
+			musicGroupPaymentCalender.setOriginalMemberPaymentAmount(calenderMember.getOriginalAmount());
 		}
 		//乐保缴费信息
 		MusicRepairDto musicRepair = musicGroupPaymentBaseCalender.getMusicRepair();
@@ -620,6 +614,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			musicGroupPaymentCalender.setMusicRepairActualPrice(musicRepair.getActualAmount());
 			musicGroupPaymentCalender.setMusicRepairOptionalFlag(musicRepair.getOptionalFlag());
 		}
+		musicGroupPaymentCalender.setStatus(status);
 
 //		BigDecimal totalPaymentAmount = musicGroupPaymentCalenderDto.getMasterTotalPrice();
 //		if(musicGroupPaymentCalenderCourseSettingsList != null){
@@ -663,6 +658,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		}
 
 		// 设置批次号
+		String batchNo = idGeneratorService.generatorId() + "";
 		musicGroupPaymentCalender.setBatchNo(batchNo);
 		musicGroupPaymentCalenderDao.insert(musicGroupPaymentCalender);
 
@@ -1178,18 +1174,16 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 						CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
 						cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
-						cloudTeacherOrder.setType(2);
+						cloudTeacherOrder.setType(musicGroupPaymentCalender.getMemberPeriod());
 						cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
 						cloudTeacherOrder.setOrderId(musicGroup.getOrganId().longValue());
 						cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
 						cloudTeacherOrder.setAmount(expectMemberAmount);
-						cloudTeacherOrder.setStatus(2);
-						cloudTeacherOrder.setStartTime(date);
-						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,musicGroupPaymentCalender.getMemberValidDate()));
+						cloudTeacherOrder.setStatus(1);
 						cloudTeacherOrder.setRemark("进行中乐团0元加学生");
 						cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
-						studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//						studentService.updateMemberRank(cloudTeacherOrder);
 					}
 					MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
 					if (musicGroupStudentFee != null) {
@@ -1705,16 +1699,12 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (calender == null) {
 			throw new BizException("缴费信息不存在");
 		}
-		
+
 		//缴费项目中没有学生即可删除缴费项目
 		List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryByCalenderId(id, null);
 		if (musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0) {
 			throw new BizException("缴费项目中已存在学员,不能删除");
 		}
-//		if (calender.getStatus() != PaymentCalenderStatusEnum.AUDITING && calender.getStatus() != PaymentCalenderStatusEnum.NO
-//				&& calender.getStatus() != PaymentCalenderStatusEnum.REJECT && calender.getStatus() != DRAFT) {
-//			throw new BizException("删除失败,{} 的缴费项目不允许删除",calender.getStatus().getDesc());
-//		}
 		MusicGroupStudentClassAdjust byBatchNo = musicGroupStudentClassAdjustDao.findByBatchNo(calender.getBatchNo());
 		if(byBatchNo != null){
 			throw new BizException("删除失败,班级调整的缴费项目不允许删除");
@@ -1732,7 +1722,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		musicGroupPaymentCalenderDao.delete(id);
 		musicGroupPaymentCalenderDetailDao.deleteByCalenderId(id);
 		musicGroupPaymentStudentCourseDetailDao.deleteByMusicGroupPaymentCalenderId(id);
-		
+		musicGroupPaymentCalenderActivityService.delByCalenderId(id);
 		List<Long> calenderIds = new ArrayList<Long>();
 		calenderIds.add(id);
 		musicGroupPaymentCalenderCourseSettingsService.deleteByMusicGroupPaymentCalenderId(calenderIds);

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

@@ -787,7 +787,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //创建订单
             cloudTeacherOrder = new CloudTeacherOrder();
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
@@ -1072,7 +1072,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //创建订单
             cloudTeacherOrder = new CloudTeacherOrder();
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
@@ -3036,7 +3036,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //创建订单
             cloudTeacherOrder = new CloudTeacherOrder();
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(calender.getMemberValidDate());
     		cloudTeacherOrder.setOrganId(organId);
     		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
@@ -3166,53 +3166,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				if (student == null) {
 					throw new BizException("学员信息不存在");
 				}
-				cloudTeacherOrder.setStatus(2);
+				cloudTeacherOrder.setStatus(1);
 				cloudTeacherOrder.setUpdateTime(date);
-
-				PeriodEnum periodEnum = PeriodEnum.MONTH;
-				switch (cloudTeacherOrder.getType()) {
-				case 1:
-					periodEnum = PeriodEnum.DAY;
-					break;
-				case 2:
-					periodEnum = PeriodEnum.MONTH;
-					break;
-				case 3:
-					periodEnum = PeriodEnum.YEAR;
-					break;
-
-				default:
-					break;
-				}
-
-				if (student.getMemberRankSettingId() == null || date.after(student.getMembershipEndTime())) {
-					cloudTeacherOrder.setStartTime(date);
-					if (cloudTeacherOrder.getType() == 1) {
-						cloudTeacherOrder.setEndTime(DateUtil.addDays(date, cloudTeacherOrder.getTime()));
-					} else if (cloudTeacherOrder.getType() == 2) {
-						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date, cloudTeacherOrder.getTime()));
-					} else if (cloudTeacherOrder.getType() == 3) {
-						cloudTeacherOrder.setEndTime(DateUtil.addYears(date, cloudTeacherOrder.getTime()));
-					} else {
-						throw new BizException("不支持的周期类型");
-					}
-				} else {
-					cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
-					if (cloudTeacherOrder.getType() == 1) {
-						cloudTeacherOrder.setEndTime(DateUtil.addDays(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-					} else if (cloudTeacherOrder.getType() == 2) {
-						cloudTeacherOrder.setEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-					} else if (cloudTeacherOrder.getType() == 3) {
-						cloudTeacherOrder.setEndTime(DateUtil.addYears(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-					} else {
-						throw new BizException("不支持的周期类型");
-					}
-				}
+//				if (student.getMemberRankSettingId() == null || date.after(student.getMembershipEndTime())) {
+//					cloudTeacherOrder.setStartTime(date);
+//                    cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(cloudTeacherOrder.getType(),date, cloudTeacherOrder.getTime()));
+//				} else {
+//					cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
+//                    cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(cloudTeacherOrder.getType(),student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
+//				}
 
                 cloudTeacherOrder.setAmount(calenderDetail.getExpectMemberAmount());
 				cloudTeacherOrderService.update(cloudTeacherOrder);
 				// 添加会员有效时长
-				studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+//				studentService.updateMemberRank(cloudTeacherOrder);
 				
 				//添加订单明细
 				StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicRepairPaymentCalenderServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
 import com.ym.mec.biz.dal.dto.MusicRepairDto;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.enums.CalenderBaseServiceEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderBaseService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysTenantConfigService;
@@ -17,12 +18,16 @@ import java.math.BigDecimal;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.AUDITING;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.NO;
 
-@Service(value = "musicRepairService")
+@Service
 public class MusicRepairPaymentCalenderServiceImpl implements MusicGroupPaymentCalenderBaseService {
 
     @Autowired
     private SysTenantConfigService sysTenantConfigService;
 
+    public MusicRepairPaymentCalenderServiceImpl() {
+        MusicGroupPaymentCalenderBaseService.calenderBaseServiceMap.put(CalenderBaseServiceEnum.MUSIC_REPAIR,this);
+    }
+
     @Override
     public void createComponent(MusicGroupPaymentBaseCalender baseCalender) {
 

+ 11 - 61
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3988,43 +3988,18 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     addDate = student.getMembershipEndTime();
                     cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
                 }
-                switch (periodEnum){
-                    case DAY:
-                        cloudTeacherOrder.setEndTime(DateUtil.addDays(addDate, cloudTime));
-                        cloudTeacherType = 1;
-                        break;
-                    case MONTH:
-                        cloudTeacherType = 2;
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime));
-                        break;
-                    case QUARTERLY:
-                        cloudTeacherType = 2;
-                        cloudTime = cloudTime * 3;
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 3));
-                        break;
-                    case YEAR_HALF:
-                        cloudTime = cloudTime * 6;
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 6));
-                        cloudTeacherType = 2;
-                        break;
-                    case YEAR:
-                        cloudTeacherOrder.setEndTime(DateUtil.addYears(addDate, cloudTime));
-                        cloudTeacherType = 3;
-                        break;
-                    default:
-                        throw new BizException("不支持的周期类型");
-                }
+                cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(periodEnum,addDate, cloudTime));
                 cloudTeacherOrder.setRemark("营销活动购买会员");
-                cloudTeacherOrder.setStatus(2);
+                cloudTeacherOrder.setStatus(1);
                 cloudTeacherOrder.setOrderId(order.getId());
-                cloudTeacherOrder.setType(cloudTeacherType);
+                cloudTeacherOrder.setType(periodEnum);
                 cloudTeacherOrder.setAmount(order.getActualAmount());
                 cloudTeacherOrder.setLevel(activity.getMemberRankId());
                 cloudTeacherOrder.setStudentId(userId);
                 cloudTeacherOrder.setOrganId(order.getOrganId());
                 cloudTeacherOrder.setTime(cloudTime);
                 cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+//                studentService.updateMemberRank(cloudTeacherOrder);
                 activityUserMapper.setMemberFlag(2);
                 activityUserMapper.setMemberOrderId(cloudTeacherOrder.getId());
             }else {
@@ -4054,43 +4029,18 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                         addDate = student.getMembershipEndTime();
                         cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
                     }
-                    switch (periodEnum){
-                        case DAY:
-                            cloudTeacherOrder.setEndTime(DateUtil.addDays(addDate, cloudTime));
-                            cloudTeacherType = 1;
-                            break;
-                        case MONTH:
-                            cloudTeacherType = 2;
-                            cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime));
-                            break;
-                        case QUARTERLY:
-                            cloudTeacherType = 2;
-                            cloudTime = cloudTime * 3;
-                            cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 3));
-                            break;
-                        case YEAR_HALF:
-                            cloudTime = cloudTime * 6;
-                            cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 6));
-                            cloudTeacherType = 2;
-                            break;
-                        case YEAR:
-                            cloudTeacherOrder.setEndTime(DateUtil.addYears(addDate, cloudTime));
-                            cloudTeacherType = 3;
-                            break;
-                        default:
-                            throw new BizException("不支持的周期类型");
-                    }
+                    cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(periodEnum,addDate, cloudTime));
                     cloudTeacherOrder.setRemark("营销活动赠送会员");
-                    cloudTeacherOrder.setStatus(2);
+                    cloudTeacherOrder.setStatus(1);
                     cloudTeacherOrder.setOrderId(order.getId());
-                    cloudTeacherOrder.setType(cloudTeacherType);
+                    cloudTeacherOrder.setType(periodEnum);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setTime(cloudTime);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                    studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+//                    studentService.updateMemberRank(cloudTeacherOrder);
                     activityUserMapper.setGiveMemberFlag(2);
                     activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
                 }else if(activity.getGiveCourseNum() > 0){
@@ -4278,16 +4228,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     }
                     cloudTeacherOrder.setEndTime(DateUtil.addDays(DateUtil.addMonths(addDate, 1),1));
                     cloudTeacherOrder.setRemark("双十一活动赠送会员");
-                    cloudTeacherOrder.setStatus(2);
+                    cloudTeacherOrder.setStatus(1);
                     cloudTeacherOrder.setOrderId(order.getId());
-                    cloudTeacherOrder.setType(2);
+                    cloudTeacherOrder.setType(PeriodEnum.MONTH);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setLevel(1);
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setTime(1);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                    studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//                    studentService.updateMemberRank(cloudTeacherOrder);
                     redisCache.put(memberKey,userId);
                 }
             }

+ 6 - 43
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -763,31 +763,16 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 Date now = new Date();
                 // 查询会员订单信息
                 CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
-                cloudTeacherOrder.setStatus(2);
+                cloudTeacherOrder.setStatus(1);
                 cloudTeacherOrder.setUpdateTime(now);
                 cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                 cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
                 cloudTeacherOrder.setRemark("购买vip活动赠送会员");
                 cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                 cloudTeacherOrder.setStudentId(studentPaymentOrder.getUserId());
-                cloudTeacherOrder.setType(2);
+                cloudTeacherOrder.setType(activity.getGivePeriodEnum());
                 cloudTeacherOrder.setOrganId(studentPaymentOrder.getOrganId());
-                PeriodEnum periodEnum = activity.getGivePeriodEnum();
-                switch (periodEnum){
-                    case DAY:
-                        cloudTeacherOrder.setType(1);
-                        break;
-                    case MONTH:
-                    case QUARTERLY:
-                    case YEAR_HALF:
-                        cloudTeacherOrder.setType(2);
-                        break;
-                    case YEAR:
-                        cloudTeacherOrder.setType(3);
-                        break;
-                    default:
-                        throw new BizException("不支持的周期类型");
-                }
+
                 Student student = studentService.get(studentPaymentOrder.getUserId());
                 Date startDate = now;
                 if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
@@ -796,33 +781,11 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
                     startDate = student.getMembershipEndTime();
                 }
-                switch (periodEnum){
-                    case DAY:
-                        cloudTeacherOrder.setEndTime(DateUtil.addDays(startDate, activity.getGiveMemberTime()));
-                        cloudTeacherOrder.setTime(activity.getGiveMemberTime());
-                        break;
-                    case MONTH:
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(startDate, activity.getGiveMemberTime()));
-                        cloudTeacherOrder.setTime(activity.getGiveMemberTime());
-                        break;
-                    case QUARTERLY:
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(startDate, activity.getGiveMemberTime() * 3));
-                        cloudTeacherOrder.setTime(activity.getGiveMemberTime() * 3);
-                        break;
-                    case YEAR_HALF:
-                        cloudTeacherOrder.setEndTime(DateUtil.addMonths(startDate, activity.getGiveMemberTime() * 6));
-                        cloudTeacherOrder.setTime(activity.getGiveMemberTime() * 6);
-                        break;
-                    case YEAR:
-                        cloudTeacherOrder.setEndTime(DateUtil.addYears(startDate, activity.getGiveMemberTime()));
-                        cloudTeacherOrder.setTime(activity.getGiveMemberTime());
-                        break;
-                    default:
-                        throw new BizException("不支持的周期类型");
-                }
+                cloudTeacherOrder.setEndTime(studentService.getMembershipEndTime(activity.getGivePeriodEnum(),startDate,activity.getGiveMemberTime()));
+                cloudTeacherOrder.setTime(activity.getGiveMemberTime());
                 cloudTeacherOrderService.insert(cloudTeacherOrder);
                 // 添加会员有效时长
-                studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+//                studentService.updateMemberRank(cloudTeacherOrder);
                 activityUserMapper.setGiveMemberFlag(2);
                 activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
             }

+ 20 - 89
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -398,106 +398,37 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         return cooperationOrgan;
     }
 
+    public Date getMembershipEndTime(PeriodEnum periodEnum,Date endTime,Integer memberNum){
+        switch (periodEnum) {
+            case DAY:
+                return DateUtil.addDays(endTime,memberNum);
+            case MONTH:
+                return DateUtil.addMonths(endTime,memberNum);
+            case QUARTERLY:
+                return DateUtil.addMonths(endTime,memberNum * 3);
+            case YEAR_HALF:
+                return DateUtil.addMonths(endTime,memberNum * 6);
+            case YEAR:
+                return DateUtil.addYears(endTime,memberNum);
+            default:
+                throw new BizException("错误的会员时长单位");
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateMemberRank(CloudTeacherOrder cloudTeacherOrder, PeriodEnum periodEnum) {
+    public void updateMemberRank(CloudTeacherOrder cloudTeacherOrder) {
         // 添加会员有效时长
         Student student = this.get(cloudTeacherOrder.getStudentId());
         if (student == null) {
             throw new BizException("学员信息不存在");
         }
-
         Date nowDate = new Date();
         if (student.getMemberRankSettingId() == null || nowDate.after(student.getMembershipEndTime())) {
-        	switch (periodEnum) {
-    		case DAY:
-                student.setMembershipEndTime(DateUtil.addDays(nowDate, cloudTeacherOrder.getTime()));
-    			break;
-    		case MONTH:
-                student.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime()));
-                break;
-    		case QUARTERLY:
-                student.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime() * 3));
-                break;
-    		case YEAR_HALF:
-                student.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime() * 6));
-    			break;
-    		case YEAR:
-                student.setMembershipEndTime(DateUtil.addYears(nowDate, cloudTeacherOrder.getTime()));
-    			break;
-    		default:
-    			break;
-    		}
-            student.setMembershipStartTime(nowDate);
+            student.setMembershipStartTime(getMembershipEndTime(cloudTeacherOrder.getType(),nowDate, cloudTeacherOrder.getTime()));
         } else {
-        	switch (periodEnum) {
-    		case DAY:
-            	student.setMembershipEndTime(DateUtil.addDays(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-    			break;
-    		case MONTH:
-                student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-                break;
-            case QUARTERLY:
-                student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime() * 3 ));
-                break;
-    		case YEAR_HALF:
-            	student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime() * 6 ));
-    			break;
-    		case YEAR:
-            	student.setMembershipEndTime(DateUtil.addYears(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-    			break;
-    		default:
-    			break;
-    		}
-        }
-        if(StringUtils.isNotEmpty(cloudTeacherOrder.getMusicGroupId())){
-            StudentRegistration registration = studentRegistrationDao.getByUserIdAndMusicGroupId(cloudTeacherOrder.getMusicGroupId(), cloudTeacherOrder.getStudentId());
-            if(registration != null && (registration.getMusicGroupStatus() == StudentMusicGroupStatusEnum.NORMAL || registration.getMusicGroupStatus() == StudentMusicGroupStatusEnum.APPLY)){
-                if (registration.getMembershipEndTime() == null || nowDate.after(registration.getMembershipEndTime())) {
-                    switch (periodEnum) {
-                        case DAY:
-                            registration.setMembershipEndTime(DateUtil.addDays(nowDate, cloudTeacherOrder.getTime()));
-                            break;
-                        case MONTH:
-                            registration.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime()));
-                            break;
-                        case QUARTERLY:
-                            registration.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime() * 3));
-                            break;
-                        case YEAR_HALF:
-                            registration.setMembershipEndTime(DateUtil.addMonths(nowDate, cloudTeacherOrder.getTime() * 6));
-                            break;
-                        case YEAR:
-                            registration.setMembershipEndTime(DateUtil.addYears(nowDate, cloudTeacherOrder.getTime()));
-                            break;
-                        default:
-                            break;
-                    }
-                } else {
-                    switch (periodEnum) {
-                        case DAY:
-                            registration.setMembershipEndTime(DateUtil.addDays(registration.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-                            break;
-                        case MONTH:
-                            registration.setMembershipEndTime(DateUtil.addMonths(registration.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-                            break;
-                        case QUARTERLY:
-                            registration.setMembershipEndTime(DateUtil.addMonths(registration.getMembershipEndTime(), cloudTeacherOrder.getTime() * 3));
-                            break;
-                        case YEAR_HALF:
-                            registration.setMembershipEndTime(DateUtil.addMonths(registration.getMembershipEndTime(), cloudTeacherOrder.getTime() * 6 ));
-                            break;
-                        case YEAR:
-                            registration.setMembershipEndTime(DateUtil.addYears(registration.getMembershipEndTime(), cloudTeacherOrder.getTime()));
-                            break;
-                        default:
-                            break;
-                    }
-                }
-                studentRegistrationDao.update(registration);
-            }
+            student.setMembershipStartTime(getMembershipEndTime(cloudTeacherOrder.getType(),student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
         }
-
         student.setMemberRankSettingId(cloudTeacherOrder.getLevel());
         student.setUpdateTime(nowDate);
         this.update(student);

+ 4 - 4
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -7,7 +7,7 @@
         <id column="id_" property="id"/>
         <result column="organ_id_" property="organId"/>
         <result column="student_id_" property="studentId"/>
-        <result column="type_" property="type"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="level_" property="level"/>
         <result column="time_" property="time"/>
         <result column="amount_" property="amount"/>
@@ -29,7 +29,7 @@
     	<id column="id_" property="cloudTeacherOrder.id"/>
         <result column="organ_id_" property="cloudTeacherOrder.organId"/>
         <result column="student_id_" property="cloudTeacherOrder.studentId"/>
-        <result column="type_" property="cloudTeacherOrder.type"/>
+        <result column="type_" property="cloudTeacherOrder.type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="level_" property="cloudTeacherOrder.level"/>
         <result column="time_" property="cloudTeacherOrder.time"/>
         <result column="amount_" property="cloudTeacherOrder.amount"/>
@@ -61,7 +61,7 @@
         <!--@mbg.generated-->
         insert into cloud_teacher_order (organ_id_,student_id_, type_, level_, time_, amount_, refund_amount_, status_,
         order_id_,start_time_,end_time_,remark_, create_time_, update_time_,music_group_id_,active_remark_,tenant_id_)
-        values (#{organId},#{studentId}, #{type},#{level}, #{time}, #{amount}, #{refundAmount},
+        values (#{organId},#{studentId}, #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{level}, #{time}, #{amount}, #{refundAmount},
         #{status},#{orderId},#{startTime},#{endTime}, #{remark}, NOW(), NOW(),#{musicGroupId},#{activeRemark},#{tenantId})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CloudTeacherOrder">
@@ -81,7 +81,7 @@
                 student_id_ = #{studentId},
             </if>
             <if test="type != null">
-                type_ = #{type},
+                type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="level != null">
                 level_ = #{level},

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderActivityDao.xml

@@ -24,4 +24,7 @@
       #{entity.originalAmount}, NOW(), NOW())
     </foreach>
   </insert>
+  <delete id="delByCalenderId">
+    DELETE FROM music_group_payment_calender_activity WHERE calender_id_ = #{calenderId}
+  </delete>
 </mapper>