yonge 4 jaren geleden
bovenliggende
commit
282330115f
1 gewijzigde bestanden met toevoegingen van 26 en 3 verwijderingen
  1. 26 3
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

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

@@ -9,6 +9,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
@@ -35,11 +36,13 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatus
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.biz.service.MusicGroupService;
@@ -169,9 +172,29 @@ public class MusicGroupController extends BaseController {
         if (studentRegistration == null) {
             return failed(HttpStatus.CONTINUE, "乐团报名信息不存在");
         }
-        if (studentRegistration.getPaymentStatus() != null && studentRegistration.getPaymentStatus() == PaymentStatusEnum.YES) {
-            return failed(HttpStatus.PROCESSING, "您已缴费,请等待乐团开启");
-        }
+        
+        // 判断是否可以继续购买
+        List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailService.findUserApplyOrder(userId, musicGroupId, DealStatusEnum.SUCCESS);
+        if(studentPaymentOrderDetailList != null){
+        	List<OrderDetailTypeEnum> typeList = studentPaymentOrderDetailList.stream().map(t -> t.getType()).collect(Collectors.toList());
+        	//判断是否所有类型都购买完
+			if (typeList.contains(OrderDetailTypeEnum.MUSICAL)
+					&& typeList.contains(OrderDetailTypeEnum.ACCESSORIES)
+					&& (typeList.contains(OrderDetailTypeEnum.CLOUD_TEACHER) || typeList.contains(OrderDetailTypeEnum.COURSE)
+							|| typeList.contains(OrderDetailTypeEnum.HIGH_ONLINE_COURSE) || typeList.contains(OrderDetailTypeEnum.SINGLE)
+							|| typeList.contains(OrderDetailTypeEnum.MIX) || typeList.contains(OrderDetailTypeEnum.HIGH)
+							|| typeList.contains(OrderDetailTypeEnum.VIP) || typeList.contains(OrderDetailTypeEnum.DEMO)
+							|| typeList.contains(OrderDetailTypeEnum.COMPREHENSIVE) || typeList.contains(OrderDetailTypeEnum.ENLIGHTENMENT)
+							|| typeList.contains(OrderDetailTypeEnum.TRAINING_SINGLE) || typeList.contains(OrderDetailTypeEnum.TRAINING_MIX)
+							|| typeList.contains(OrderDetailTypeEnum.HIGH_ONLINE) || typeList.contains(OrderDetailTypeEnum.MUSIC_NETWORK) || typeList
+								.contains(OrderDetailTypeEnum.CLASSROOM))) {
+				return failed(HttpStatus.PROCESSING, "您已缴费,请等待乐团开启");
+			}
+        }
+        
+        /*if (studentRegistration.getPaymentStatus() != null && studentRegistration.getPaymentStatus() == PaymentStatusEnum.YES) {
+            
+        }*/
 
         if (studentRegistration.getPaymentStatus() != PaymentStatusEnum.OPEN) {
             return failed("乐团还未开启缴费,请等待通知");