Browse Source

活动排课

zouxuan 4 years ago
parent
commit
b44c5e1c90

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -96,7 +96,11 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		}
 
 		//获取活动信息
+		BigDecimal discount = new BigDecimal(100);
 		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
+		if(vipGroupActivity != null){
+			discount = vipGroupActivity.getDiscount();
+		}
 
 		List<CourseSchedule> vipGroupCourseSchedules=courseScheduleDao.findGroupCourseSchedules(vipGroupId.toString(),GroupType.VIP.getCode());
 
@@ -136,13 +140,13 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				if (teachModeEnum == TeachModeEnum.ONLINE) {
 					//学生线上单节课应缴费计算
 					courseScheduleStudentPayment.setExpectPrice(
-							vipGroup.getOnlineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
+							vipGroup.getOnlineClassesUnitPrice().multiply(discount)
 									.divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP)
 									.subtract(couponFee));
 				}else{
 					//学生线下单节课应缴费计算
 					courseScheduleStudentPayment.setExpectPrice(
-							vipGroup.getOfflineClassesUnitPrice().multiply(vipGroupActivity.getDiscount())
+							vipGroup.getOfflineClassesUnitPrice().multiply(discount)
 									.divide(new BigDecimal(100), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP)
 									.subtract(couponFee));
 				}

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

@@ -5090,10 +5090,10 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Date now = new Date();
         Date startTime = activity.getStartTime();
         Date endTime = activity.getEndTime();
-        if(startTime.compareTo(now) > 0){
+        if(startTime != null && startTime.compareTo(now) > 0){
             throw new BizException("活动尚未开始,感谢您的关注");
         }
-        if(endTime.compareTo(now) <= 0){
+        if(endTime != null && endTime.compareTo(now) <= 0){
             throw new BizException("活动已结束,感谢您的参与");
         }
         Student student = studentDao.getLocked(practiceGroupBuyParams.getUserId());

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -77,7 +77,9 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		}
 		if("PROGRESS".equals(vipGroupActivityAddDto.getStatus())){
 			Date date = new Date();
-			if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
+			if(vipGroupActivityAddDto.getStartTime() == null || vipGroupActivityAddDto.getEndTime() == null){
+				vipGroupActivityAddDto.setEnable(true);
+			}else if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
 				vipGroupActivityAddDto.setEnable(true);
 			}else {
 				vipGroupActivityAddDto.setEnable(false);
@@ -137,7 +139,9 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			oldVipGroupActivity.setApplyToStudentType(vipGroupActivityAddDto.getApplyToStudentType());
 			oldVipGroupActivity.setStudentMaxUsedTimes(vipGroupActivityAddDto.getStudentMaxUsedTimes());
 			Date date = new Date();
-			if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
+			if(vipGroupActivityAddDto.getStartTime() == null || vipGroupActivityAddDto.getEndTime() == null){
+				vipGroupActivityAddDto.setEnable(true);
+			}else if(vipGroupActivityAddDto.getStartTime().compareTo(date) <= 0 && vipGroupActivityAddDto.getEndTime().compareTo(date) > 0){
 				vipGroupActivityAddDto.setEnable(true);
 			}else {
 				vipGroupActivityAddDto.setEnable(false);

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -71,7 +71,7 @@ public class VipGroupActivityController extends BaseController {
         VipGroupActivity activity = vipGroupActivityService.get(id);
         Boolean enable = !activity.getEnable();
         Date date = new Date();
-        if(enable && (activity.getStartTime().compareTo(date) > 0 || activity.getEndTime().compareTo(date) <= 0)){
+        if(enable && (activity.getStartTime() == null || activity.getStartTime().compareTo(date) > 0 || activity.getEndTime() == null || activity.getEndTime().compareTo(date) <= 0)){
             throw new BizException("当前时间段不允许开启活动");
         }
         activity.setEnable(enable);