Browse Source

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

zouxuan 4 years ago
parent
commit
6280351651

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -200,6 +200,10 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     String HOLIDAY_SETTING = "holiday_setting";
 
     String PRACTICE_FREE_APPLY_EXPIRE_DATE = "practice_free_apply_expire_date";
+    
+    String START_TIME_OF_1111 = "start_time_of_1111";
+    
+    String END_TIME_OF_1111 = "end_time_of_1111";
 
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig

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

@@ -37,6 +37,9 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
 		Map<CourseSchedule.CourseScheduleType, List<MusicGroupPaymentStudentCourseDetail>> courseTypeDetailsMap = mgpscds.stream().collect(Collectors.groupingBy(MusicGroupPaymentStudentCourseDetail::getCourseType));
 		for (Map.Entry<CourseSchedule.CourseScheduleType, List<MusicGroupPaymentStudentCourseDetail>> courseTypeDetailsEntry : courseTypeDetailsMap.entrySet()) {
 			Map<Integer, List<MusicGroupPaymentStudentCourseDetail>> userDetailsMap = courseTypeDetailsEntry.getValue().stream().collect(Collectors.groupingBy(MusicGroupPaymentStudentCourseDetail::getUserId));
+			if(CollectionUtils.isEmpty(userDetailsMap)||userDetailsMap.keySet().size()!=studentIds.size()){
+				continue;
+			}
 			List<MusicGroupPaymentStudentCourseDetail> details = new ArrayList<>();
 			for (Map.Entry<Integer, List<MusicGroupPaymentStudentCourseDetail>> userDetailsEntry : userDetailsMap.entrySet()) {
 				details.add(userDetailsEntry.getValue().stream().min(Comparator.comparing(MusicGroupPaymentStudentCourseDetail::getId)).get());

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

@@ -161,6 +161,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
 
     private SimpleDateFormat sdf_hms = new SimpleDateFormat("HH:mm:ss");
+    
+    private SimpleDateFormat sdf_ymdhms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     @Override
     public BaseDAO<String, MusicGroup> getDAO() {
@@ -304,16 +306,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         if (chargeInfo.getMaxAmount() != null) {
             if (chargeInfo.getOpenMaxTerm().equals(YesOrNoEnum.YES) && chargeInfo.getMaxAmount().compareTo(chargeInfo.getPaidAmount()) <= 0) {
-                throw new Exception("活动人数暂时已满,请稍后再试");
+                throw new Exception("活动名额已满,谢谢您的支持!");
             }
             if (chargeInfo.getOpenMaxTerm().equals(YesOrNoEnum.YES) && chargeInfo.getMaxAmount().compareTo(chargeInfo.getPaidAmount().add(amount)) < 0) {
-                throw new Exception("活动数量暂时已满,请调整数量或稍后再试");
+                throw new Exception("活动名额已满,谢谢您的支持!");
             }
         }
 
+        Date date = new Date();
+        
         OrderTypeEnum type = OrderTypeEnum.SPORADIC;
         if (chargeInfo.getChargeType().equals(SporadicChargeTypeEnum.DOUBLE_ELEVEN2020)) {
             type = OrderTypeEnum.DOUBLE_ELEVEN2020;
+            
+            String startTimeStr = sysConfigDao.findConfigValue(SysConfigService.START_TIME_OF_1111);
+            String endTimeStr = sysConfigDao.findConfigValue(SysConfigService.END_TIME_OF_1111);
+            Date startTime = sdf_ymdhms.parse(startTimeStr);
+            Date endTime = sdf_ymdhms.parse(endTimeStr);
+            if(date.before(startTime)){
+            	throw new Exception("活动暂未开始,请您耐心等待!");
+            }
+            if(date.after(endTime)){
+            	throw new Exception("活动已结束,谢谢您的支持!");
+            }
         }
 
         Integer userId = sporadicPayDto.getUserId();
@@ -332,7 +347,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         studentPaymentOrderService.insert(studentPaymentOrder);
 
         studentPaymentOrder.setVersion(0);
-        Date date = new Date();
         BigDecimal balance = BigDecimal.ZERO;
         if (sporadicPayDto.getUseBalancePayment() && amount.compareTo(BigDecimal.ZERO) > 0) {
             if (chargeInfo.getChargeType().getCode().equals(9)) {