Browse Source

云教练修改

zouxuan 3 years ago
parent
commit
60eae8c341

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

+ 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);
     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);
     void updateMemberRank(Integer userId, PeriodEnum periodEnum, int times, Integer memberRankSettingId);
 
 

+ 1 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -290,29 +290,8 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
         Date endTime = null;
         Date endTime = null;
         Date endBaseTime = 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表信息
         //更新student表信息
-        studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+        studentService.updateMemberRank(cloudTeacherOrder);
         
         
         if (cloudTeacher == null) {
         if (cloudTeacher == null) {
             cloudTeacher = new CloudTeacher();
             cloudTeacher = new CloudTeacher();

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

+ 6 - 7
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){
 				if(calender.getMemberRankSettingId() != null){
 					CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 					CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 					cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
 					cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
-					cloudTeacherOrder.setType(2);
+					cloudTeacherOrder.setType(calender.getMemberPeriod());
 					cloudTeacherOrder.setTime(calender.getMemberValidDate());
 					cloudTeacherOrder.setTime(calender.getMemberValidDate());
 					//只用会员价格
 					//只用会员价格
 					cloudTeacherOrder.setAmount(expectMemberAmount);
 					cloudTeacherOrder.setAmount(expectMemberAmount);
 					cloudTeacherOrder.setStudentId(e.getUserId());
 					cloudTeacherOrder.setStudentId(e.getUserId());
 					cloudTeacherOrder.setLevel(calender.getMemberRankSettingId());
 					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){
 					if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
 						cloudTeacherOrder.setRemark("进行中乐团加学生,缴费金额改为0元");
 						cloudTeacherOrder.setRemark("进行中乐团加学生,缴费金额改为0元");
 					}else {
 					}else {
@@ -183,7 +181,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 					}
 					}
 					cloudTeacherOrder.setMusicGroupId(calender.getMusicGroupId());
 					cloudTeacherOrder.setMusicGroupId(calender.getMusicGroupId());
 					cloudTeacherOrderDao.insert(cloudTeacherOrder);
 					cloudTeacherOrderDao.insert(cloudTeacherOrder);
-					studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//					studentService.updateMemberRank(cloudTeacherOrder);
 				}
 				}
 				calender.setActualNum((calender.getActualNum()==null?0:calender.getActualNum()) + 1);
 				calender.setActualNum((calender.getActualNum()==null?0:calender.getActualNum()) + 1);
 				e.setPaymentStatus(PAID_COMPLETED);
 				e.setPaymentStatus(PAID_COMPLETED);
@@ -538,10 +536,11 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 						cloudTeacherOrder.setAmount(BigDecimal.ZERO);
 						cloudTeacherOrder.setAmount(BigDecimal.ZERO);
 						cloudTeacherOrder.setStudentId(studentId);
 						cloudTeacherOrder.setStudentId(studentId);
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
+						cloudTeacherOrder.setStatus(1);
 						cloudTeacherOrder.setRemark("缴费项目0元新增学员");
 						cloudTeacherOrder.setRemark("缴费项目0元新增学员");
 						cloudTeacherOrder.setMusicGroupId(musicGroupId);
 						cloudTeacherOrder.setMusicGroupId(musicGroupId);
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
-						studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//						studentService.updateMemberRank(cloudTeacherOrder);
 					}
 					}
 				}
 				}
 			}
 			}
@@ -555,7 +554,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			//更新预计缴费人数
 			//更新预计缴费人数
 			musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
 			musicGroupPaymentCalender.setExpectNum(musicGroupPaymentCalender.getExpectNum() + userIdList.size());
 			musicGroupPaymentCalender.setUpdateTime(date);
 			musicGroupPaymentCalender.setUpdateTime(date);
-			if (expectAmount.doubleValue() == 0d && expectMemberAmount.doubleValue() == 0d) {
+			if (musicGroupPaymentCalender.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
 				musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + userIdList.size());
 				musicGroupPaymentCalender.setActualNum(musicGroupPaymentCalender.getActualNum() + userIdList.size());
 			}
 			}
 			musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);
 			musicGroupPaymentCalenderService.update(musicGroupPaymentCalender);

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

@@ -1174,18 +1174,16 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 						CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 						CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
 						cloudTeacherOrder.setLevel(musicGroupPaymentCalender.getMemberRankSettingId());
 						cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
 						cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
-						cloudTeacherOrder.setType(2);
+						cloudTeacherOrder.setType(musicGroupPaymentCalender.getMemberPeriod());
 						cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
 						cloudTeacherOrder.setStudentId(Integer.parseInt(studentId));
 						cloudTeacherOrder.setOrderId(musicGroup.getOrganId().longValue());
 						cloudTeacherOrder.setOrderId(musicGroup.getOrganId().longValue());
 						cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
 						cloudTeacherOrder.setTime(musicGroupPaymentCalender.getMemberValidDate());
 						cloudTeacherOrder.setAmount(expectMemberAmount);
 						cloudTeacherOrder.setAmount(expectMemberAmount);
-						cloudTeacherOrder.setStatus(2);
-						cloudTeacherOrder.setStartTime(date);
-						cloudTeacherOrder.setEndTime(DateUtil.addMonths(date,musicGroupPaymentCalender.getMemberValidDate()));
+						cloudTeacherOrder.setStatus(1);
 						cloudTeacherOrder.setRemark("进行中乐团0元加学生");
 						cloudTeacherOrder.setRemark("进行中乐团0元加学生");
 						cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
 						cloudTeacherOrder.setMusicGroupId(musicGroup.getId());
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
 						cloudTeacherOrderDao.insert(cloudTeacherOrder);
-						studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//						studentService.updateMemberRank(cloudTeacherOrder);
 					}
 					}
 					MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
 					MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(Integer.parseInt(studentId), musicGroupPaymentCalender.getMusicGroupId());
 					if (musicGroupStudentFee != null) {
 					if (musicGroupStudentFee != null) {
@@ -1701,7 +1699,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (calender == null) {
 		if (calender == null) {
 			throw new BizException("缴费信息不存在");
 			throw new BizException("缴费信息不存在");
 		}
 		}
-		
+
 		//缴费项目中没有学生即可删除缴费项目
 		//缴费项目中没有学生即可删除缴费项目
 		List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryByCalenderId(id, null);
 		List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = musicGroupPaymentCalenderDetailDao.queryByCalenderId(id, null);
 		if (musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0) {
 		if (musicGroupPaymentCalenderDetailList != null && musicGroupPaymentCalenderDetailList.size() > 0) {

+ 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 = new CloudTeacherOrder();
 
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
@@ -1072,7 +1072,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //创建订单
             //创建订单
             cloudTeacherOrder = new CloudTeacherOrder();
             cloudTeacherOrder = new CloudTeacherOrder();
 
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
 			cloudTeacherOrder.setTime(musicGroupRegCalender.getMemberValidDate() == null ? 6 : musicGroupRegCalender.getMemberValidDate());
     		
     		
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
     		cloudTeacherOrder.setOrganId(musicGroup.getOrganId());
@@ -3036,7 +3036,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //创建订单
             //创建订单
             cloudTeacherOrder = new CloudTeacherOrder();
             cloudTeacherOrder = new CloudTeacherOrder();
 
 
-    		cloudTeacherOrder.setType(2);//月
+    		cloudTeacherOrder.setType(PeriodEnum.MONTH);//月
 			cloudTeacherOrder.setTime(calender.getMemberValidDate());
 			cloudTeacherOrder.setTime(calender.getMemberValidDate());
     		cloudTeacherOrder.setOrganId(organId);
     		cloudTeacherOrder.setOrganId(organId);
     		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
     		cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
@@ -3166,53 +3166,20 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				if (student == null) {
 				if (student == null) {
 					throw new BizException("学员信息不存在");
 					throw new BizException("学员信息不存在");
 				}
 				}
-				cloudTeacherOrder.setStatus(2);
+				cloudTeacherOrder.setStatus(1);
 				cloudTeacherOrder.setUpdateTime(date);
 				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());
                 cloudTeacherOrder.setAmount(calenderDetail.getExpectMemberAmount());
 				cloudTeacherOrderService.update(cloudTeacherOrder);
 				cloudTeacherOrderService.update(cloudTeacherOrder);
 				// 添加会员有效时长
 				// 添加会员有效时长
-				studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+//				studentService.updateMemberRank(cloudTeacherOrder);
 				
 				
 				//添加订单明细
 				//添加订单明细
 				StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
 				StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();

+ 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();
                     addDate = student.getMembershipEndTime();
                     cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
                     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.setRemark("营销活动购买会员");
-                cloudTeacherOrder.setStatus(2);
+                cloudTeacherOrder.setStatus(1);
                 cloudTeacherOrder.setOrderId(order.getId());
                 cloudTeacherOrder.setOrderId(order.getId());
-                cloudTeacherOrder.setType(cloudTeacherType);
+                cloudTeacherOrder.setType(periodEnum);
                 cloudTeacherOrder.setAmount(order.getActualAmount());
                 cloudTeacherOrder.setAmount(order.getActualAmount());
                 cloudTeacherOrder.setLevel(activity.getMemberRankId());
                 cloudTeacherOrder.setLevel(activity.getMemberRankId());
                 cloudTeacherOrder.setStudentId(userId);
                 cloudTeacherOrder.setStudentId(userId);
                 cloudTeacherOrder.setOrganId(order.getOrganId());
                 cloudTeacherOrder.setOrganId(order.getOrganId());
                 cloudTeacherOrder.setTime(cloudTime);
                 cloudTeacherOrder.setTime(cloudTime);
                 cloudTeacherOrderDao.insert(cloudTeacherOrder);
                 cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+//                studentService.updateMemberRank(cloudTeacherOrder);
                 activityUserMapper.setMemberFlag(2);
                 activityUserMapper.setMemberFlag(2);
                 activityUserMapper.setMemberOrderId(cloudTeacherOrder.getId());
                 activityUserMapper.setMemberOrderId(cloudTeacherOrder.getId());
             }else {
             }else {
@@ -4054,43 +4029,18 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                         addDate = student.getMembershipEndTime();
                         addDate = student.getMembershipEndTime();
                         cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
                         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.setRemark("营销活动赠送会员");
-                    cloudTeacherOrder.setStatus(2);
+                    cloudTeacherOrder.setStatus(1);
                     cloudTeacherOrder.setOrderId(order.getId());
                     cloudTeacherOrder.setOrderId(order.getId());
-                    cloudTeacherOrder.setType(cloudTeacherType);
+                    cloudTeacherOrder.setType(periodEnum);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                     cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setTime(cloudTime);
                     cloudTeacherOrder.setTime(cloudTime);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                    studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
+//                    studentService.updateMemberRank(cloudTeacherOrder);
                     activityUserMapper.setGiveMemberFlag(2);
                     activityUserMapper.setGiveMemberFlag(2);
                     activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
                     activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
                 }else if(activity.getGiveCourseNum() > 0){
                 }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.setEndTime(DateUtil.addDays(DateUtil.addMonths(addDate, 1),1));
                     cloudTeacherOrder.setRemark("双十一活动赠送会员");
                     cloudTeacherOrder.setRemark("双十一活动赠送会员");
-                    cloudTeacherOrder.setStatus(2);
+                    cloudTeacherOrder.setStatus(1);
                     cloudTeacherOrder.setOrderId(order.getId());
                     cloudTeacherOrder.setOrderId(order.getId());
-                    cloudTeacherOrder.setType(2);
+                    cloudTeacherOrder.setType(PeriodEnum.MONTH);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                     cloudTeacherOrder.setLevel(1);
                     cloudTeacherOrder.setLevel(1);
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setStudentId(userId);
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setOrganId(order.getOrganId());
                     cloudTeacherOrder.setTime(1);
                     cloudTeacherOrder.setTime(1);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
                     cloudTeacherOrderDao.insert(cloudTeacherOrder);
-                    studentService.updateMemberRank(cloudTeacherOrder,PeriodEnum.MONTH);
+//                    studentService.updateMemberRank(cloudTeacherOrder);
                     redisCache.put(memberKey,userId);
                     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();
                 Date now = new Date();
                 // 查询会员订单信息
                 // 查询会员订单信息
                 CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
                 CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
-                cloudTeacherOrder.setStatus(2);
+                cloudTeacherOrder.setStatus(1);
                 cloudTeacherOrder.setUpdateTime(now);
                 cloudTeacherOrder.setUpdateTime(now);
                 cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                 cloudTeacherOrder.setAmount(BigDecimal.ZERO);
                 cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
                 cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
                 cloudTeacherOrder.setRemark("购买vip活动赠送会员");
                 cloudTeacherOrder.setRemark("购买vip活动赠送会员");
                 cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                 cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
                 cloudTeacherOrder.setStudentId(studentPaymentOrder.getUserId());
                 cloudTeacherOrder.setStudentId(studentPaymentOrder.getUserId());
-                cloudTeacherOrder.setType(2);
+                cloudTeacherOrder.setType(activity.getGivePeriodEnum());
                 cloudTeacherOrder.setOrganId(studentPaymentOrder.getOrganId());
                 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());
                 Student student = studentService.get(studentPaymentOrder.getUserId());
                 Date startDate = now;
                 Date startDate = now;
                 if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
                 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));
                     cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
                     startDate = student.getMembershipEndTime();
                     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);
                 cloudTeacherOrderService.insert(cloudTeacherOrder);
                 // 添加会员有效时长
                 // 添加会员有效时长
-                studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+//                studentService.updateMemberRank(cloudTeacherOrder);
                 activityUserMapper.setGiveMemberFlag(2);
                 activityUserMapper.setGiveMemberFlag(2);
                 activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
                 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;
         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
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void updateMemberRank(CloudTeacherOrder cloudTeacherOrder, PeriodEnum periodEnum) {
+    public void updateMemberRank(CloudTeacherOrder cloudTeacherOrder) {
         // 添加会员有效时长
         // 添加会员有效时长
         Student student = this.get(cloudTeacherOrder.getStudentId());
         Student student = this.get(cloudTeacherOrder.getStudentId());
         if (student == null) {
         if (student == null) {
             throw new BizException("学员信息不存在");
             throw new BizException("学员信息不存在");
         }
         }
-
         Date nowDate = new Date();
         Date nowDate = new Date();
         if (student.getMemberRankSettingId() == null || nowDate.after(student.getMembershipEndTime())) {
         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 {
         } 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.setMemberRankSettingId(cloudTeacherOrder.getLevel());
         student.setUpdateTime(nowDate);
         student.setUpdateTime(nowDate);
         this.update(student);
         this.update(student);

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

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