Przeglądaj źródła

报名状态加上取消

周箭河 5 lat temu
rodzic
commit
0aaa889877

+ 1 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/enums/StudentRegistrationStatusEnum.java

@@ -7,6 +7,7 @@ import com.keao.edu.common.enums.BaseEnum;
  * @Date 2020.06.23
  */
 public enum  StudentRegistrationStatusEnum implements BaseEnum<String, StudentRegistrationStatusEnum> {
+    CANCEL("CANCEL", "取消报名"),
     PAY_WAIT("PAY_WAIT", "等待缴费"),
     AUDIT_WAIT("AUDIT_WAIT", "等待审核"),
     AUDIT_PASS("AUDIT_PASS","通过"),

+ 17 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -100,19 +100,21 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         if (!examRegistration.getStatus().equals(StudentRegistrationStatusEnum.PAY_WAIT)) {
             return order;
         }
-        if (!order.getTransStatus().equals(TransStatusEnum.SUCCESS)) {
-            return order;
-        }
-        examRegistration.setStatus(StudentRegistrationStatusEnum.AUDIT_WAIT);
+
+        StudentRegistrationStatusEnum registrationStatus = order.getTransStatus().equals(TransStatusEnum.SUCCESS) ? StudentRegistrationStatusEnum.AUDIT_WAIT : StudentRegistrationStatusEnum.CANCEL;
+        examRegistration.setStatus(registrationStatus);
         examRegistration.setUpdateTime(new Date());
         if (examRegistrationService.update(examRegistration) <= 0) {
             throw new BizException("报名状态更新失败");
         }
+        if (!order.getTransStatus().equals(TransStatusEnum.SUCCESS)) {
+            return order;
+        }
         //更新报名人数,和报名金额
         ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examRegistration.getExaminationBasicId(), examRegistration.getOrganId());
-        int selfRegistrationStudentNum = examOrganizationRelation.getSelfRegistrationStudentNum() == null? 0 : examOrganizationRelation.getSelfRegistrationStudentNum();
+        int selfRegistrationStudentNum = examOrganizationRelation.getSelfRegistrationStudentNum() == null ? 0 : examOrganizationRelation.getSelfRegistrationStudentNum();
         examOrganizationRelation.setSelfRegistrationStudentNum(selfRegistrationStudentNum + 1);
-        BigDecimal selfPaymentAmount = examOrganizationRelation.getSelfPaymentAmount() == null? BigDecimal.ZERO : examOrganizationRelation.getSelfPaymentAmount();
+        BigDecimal selfPaymentAmount = examOrganizationRelation.getSelfPaymentAmount() == null ? BigDecimal.ZERO : examOrganizationRelation.getSelfPaymentAmount();
         BigDecimal amount = selfPaymentAmount.add(examRegistration.getLevelFee()).add(examRegistration.getTheoryLevelFee());
         examOrganizationRelation.setSelfPaymentAmount(amount);
         if (examOrganizationRelationDao.update(examOrganizationRelation) <= 0) {
@@ -129,7 +131,7 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
             examOrgan.setTotalPaymentAmount(totalAmount);
         }
         int updateNum = examOrganizationRelationDao.batchUpdate(examOrgans);
-        if(updateNum!=examOrgans.size()){
+        if (updateNum != examOrgans.size()) {
             throw new BizException("总报名人数报名金额更新失败");
         }
 
@@ -164,6 +166,7 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean closeOrder(String orderNo) {
         ExamRegistrationPayment order = examRegistrationPaymentDao.getByOrderNo(orderNo);
         if (!order.getTransStatus().equals(TransStatusEnum.ING)) {
@@ -176,6 +179,13 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         if (examRegistrationPaymentDao.update(order) <= 0) {
             throw new BizException("订单关闭失败,请重试");
         }
+
+        ExamRegistration examRegistration = examRegistrationService.get(order.getExamRegistrationId());
+        examRegistration.setStatus(StudentRegistrationStatusEnum.CANCEL);
+        examRegistration.setUpdateTime(nowDate);
+        if (examRegistrationService.update(examRegistration) <= 0) {
+            throw new BizException("报名取消失败,请重试");
+        }
         return true;
     }
 

+ 1 - 12
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -116,18 +116,7 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         examRegistration.setTheoryLevelFee(theoryLevelFee);
         examRegistration.setCreateTime(nowDate);
         examRegistration.setUpdateTime(nowDate);
-
-        statusEnumList.clear();
-        statusEnumList.add(StudentRegistrationStatusEnum.PAY_WAIT);
-        registration = examRegistrationDao.getRegistration(examinationBasic.getId(),
-                examRegistration.getStudentId(), null, null,
-                statusEnumList);
-        if (registration != null) {
-            examRegistration.setId(registration.getId());
-            examRegistrationDao.update(examRegistration);
-        } else {
-            examRegistrationDao.insert(examRegistration);
-        }
+        examRegistrationDao.insert(examRegistration);
 
         ExamRegistrationPayment examRegistrationPayment = new ExamRegistrationPayment();
         examRegistrationPayment.setTenantId(examinationBasic.getTenantId());