浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 4 年之前
父节点
当前提交
49a50d15c9

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

@@ -8,11 +8,9 @@ import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.page.DegreeQueryInfo;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.service.BaseService;
+import com.ym.mec.util.date.DateUtil;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 public interface DegreeRegistrationService extends BaseService<Integer, DegreeRegistration> {
 
@@ -20,6 +18,8 @@ public interface DegreeRegistrationService extends BaseService<Integer, DegreeRe
 
     Set<String> FREE_PRICE_LEVEL = new HashSet<>(Arrays.asList(new String[]{"一级", "二级", "三级"}));
 
+    Date ACTIVITY_END_TIME = DateUtil.stringToDate("2020-12-31 23:59:59", "yyyy-MM-dd HH:mm:ss");
+
     HttpResponseResult pay(DegreeRegistrationActivityDto degreeRegistration) throws Exception;
 
     Boolean updateStatus(StudentPaymentOrder order);

+ 9 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -79,8 +79,8 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         List<DegreeRegistration> userLevelDegrees = degreeRegistrationDao.getUserLevelDegrees(degreeRegistration.getUserId(), ACTIVITY_TAG);
         long endLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(2)).count();
         long ingLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getSporadicId())&&d.getStatus().equals(1)).count();
-        long endTheoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
-        long ingTheoryLevelNum = userLevelDegrees.stream().filter(d -> Objects.nonNull(d.getTheoryLevel())&&d.getStatus().equals(1)).count();
+        long endTheoryLevelNum = userLevelDegrees.stream().filter(d -> StringUtils.isNotBlank(d.getTheoryLevel())&&d.getStatus().equals(2)).count();
+        long ingTheoryLevelNum = userLevelDegrees.stream().filter(d -> StringUtils.isNotBlank(d.getTheoryLevel())&&d.getStatus().equals(1)).count();
 
         if(Objects.nonNull(degreeRegistration.getSporadicId())&&endLevelNum>0){
             throw new BizException("您已报考过选择的考级项目");
@@ -93,6 +93,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 
         Date nowDate = new Date();
 
+        if(ACTIVITY_END_TIME.compareTo(nowDate)<0){
+            throw new BizException("活动已截至");
+        }
+
         String orderNo = idGeneratorService.generatorId("payment") + "";
 
         //获取收费项价格
@@ -148,11 +152,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             List<DegreeRegistration> updateDegrees = new ArrayList<>();
             if(ingLevelNum>0||ingTheoryLevelNum>0){
                 for (DegreeRegistration userLevelDegree : userLevelDegrees) {
-                    if(Objects.nonNull(userLevelDegree.getSporadicId())&&userLevelDegree.getSporadicId().equals(degreeRegistration.getSporadicId())){
+                    if(Objects.nonNull(userLevelDegree.getSporadicId())&&Objects.nonNull(userLevelDegree.getSporadicId())){
                         userLevelDegree.setStatus(0);
                         updateDegrees.add(userLevelDegree);
                     }
-                    if(Objects.nonNull(userLevelDegree.getTheoryLevel())&&userLevelDegree.getTheoryLevel().equals(degreeRegistration.getTheoryLevel())){
+                    if(Objects.nonNull(userLevelDegree.getTheoryLevel())&&StringUtils.isNotBlank(userLevelDegree.getTheoryLevel())){
                         userLevelDegree.setStatus(0);
                         updateDegrees.add(userLevelDegree);
                     }
@@ -331,6 +335,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 
         if (degree == null || !degree.getStatus().equals(1)) {
             studentPaymentOrder.setMemo("订单状态已变更");
+            studentPaymentOrder.setVersion(studentPaymentOrder.getVersion()+1);
             studentPaymentOrderService.update(studentPaymentOrder);
             return true;
         }