فهرست منبع

Merge remote-tracking branch 'origin/master'

Joburgess 5 سال پیش
والد
کامیت
49d3981aea

+ 4 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java

@@ -7,6 +7,7 @@ import com.keao.edu.user.dto.ExamRegistrationDto;
 import com.keao.edu.user.dto.ExamRegistrationRoomDto;
 import com.keao.edu.user.dto.ExamRegistrationStatisticsDto;
 import com.keao.edu.user.entity.ExamRegistration;
+import com.keao.edu.user.enums.StudentRegistrationStatusEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -137,6 +138,8 @@ public interface ExamRegistrationDao extends BaseDAO<Long, ExamRegistration> {
      * @param level
      * @return
      */
-    ExamRegistration getRegistration(@Param("examId") Long examId, @Param("studentId") Integer studentId, @Param("subjectId") Integer subjectId, @Param("level") Integer level);
+    ExamRegistration getRegistration(@Param("examId") Long examId, @Param("studentId") Integer studentId,
+                                     @Param("subjectId") Integer subjectId, @Param("level") Integer level,
+                                     @Param("statusEnumList") List<StudentRegistrationStatusEnum> statusEnumList);
 
 }

+ 2 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -151,9 +151,10 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
     public Boolean closeOrder(String orderNo) {
         ExamRegistrationPayment order = examRegistrationPaymentDao.getByOrderNo(orderNo);
         if (!order.getTransStatus().equals(TransStatusEnum.ING)) {
-            throw new BizException("订单不是待支付状态,请重新报名");
+            throw new BizException("订单不是待支付状态,不能关闭");
         }
         Date nowDate = new Date();
+        order.setMemo("用户主动放弃支付");
         order.setTransStatus(TransStatusEnum.CLOSE);
         order.setUpdateTime(nowDate);
         if (examRegistrationPaymentDao.update(order) <= 0) {

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

@@ -83,8 +83,15 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
             throw new BizException("机构不存在");
         }
 
-        ExamRegistration registration = examRegistrationDao.getRegistration(examinationBasic.getId(), examRegistration.getStudentId(), examRegistration.getSubjectId(), examSubjectSong.getLevel());
-        if(registration != null && !registration.getStatus().equals(StudentRegistrationStatusEnum.PAY_WAIT)){
+        List<StudentRegistrationStatusEnum> statusEnumList = new ArrayList<>();
+        statusEnumList.add(StudentRegistrationStatusEnum.AUDIT_WAIT);
+        statusEnumList.add(StudentRegistrationStatusEnum.AUDIT_REJECT);
+        statusEnumList.add(StudentRegistrationStatusEnum.AUDIT_PASS);
+
+        ExamRegistration registration = examRegistrationDao.getRegistration(examinationBasic.getId(),
+                examRegistration.getStudentId(), examRegistration.getSubjectId(), examSubjectSong.getLevel(),
+                statusEnumList);
+        if (registration != null) {
             throw new BizException("该考级相同专业及等级您已报名,请勿重复报名");
         }
 
@@ -112,15 +119,13 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         examRegistration.setCreateTime(nowDate);
         examRegistration.setUpdateTime(nowDate);
 
-        ExamRegistrationPayment examIngOrder = examRegistrationPaymentService.getExamIngOrder(examinationBasic.getId(), examRegistration.getStudentId());
-        if (examIngOrder != null) {
-            examIngOrder.setTransStatus(TransStatusEnum.CLOSE);
-            examIngOrder.setMemo("用户主动放弃支付");
-            if (examRegistrationPaymentService.update(examIngOrder) <= 0) {
-                throw new BizException("未支付订单关闭失败");
-            }
-            ExamRegistration examReg = examRegistrationDao.get(examIngOrder.getExamRegistrationId());
-            examRegistration.setId(examReg.getId());
+        statusEnumList.clear();
+        statusEnumList.add(StudentRegistrationStatusEnum.AUDIT_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);
@@ -163,7 +168,7 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
-        if(Objects.nonNull(queryInfo.getExamId())){
+        if (Objects.nonNull(queryInfo.getExamId())) {
             List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true);
             params.put("organIds", nextLevelOrganIds);
             params.put("organId", null);

+ 7 - 0
edu-user/edu-user-server/src/main/resources/application.yml

@@ -23,6 +23,13 @@ eureka:
 spring:
   application:
     name: user-server
+
+  servlet:
+    multipart:
+      # 最大支持文件大小
+      max-file-size: 50MB
+      # 最大支持请求大小
+      max-request-size: 50MB
     
   datasource:
     name: test

+ 24 - 3
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -432,7 +432,28 @@
 		WHERE er.id_ = #{id}
 	</select>
 
-	<select id="getRegistration" resultMap="ExamRegistration">
-		SELECT * FROM exam_registration WHERE examination_basic_id_ = #{examId}  AND student_id_ =#{studentId} AND subject_id_=#{subjectId} AND level_ = #{level} LIMIT 1
-	</select>
+    <select id="getRegistration" resultMap="ExamRegistration">
+        SELECT * FROM exam_registration
+        <where>
+            <if test="examId != null">
+                AND examination_basic_id_ = #{examId}
+            </if>
+            <if test="studentId != null">
+                AND student_id_ =#{studentId}
+            </if>
+            <if test="subjectId != null">
+                AND subject_id_=#{subjectId}
+            </if>
+            <if test="level != null">
+                AND level_ = #{level}
+            </if>
+            <if test="statusEnumList != null">
+                AND status_ IN
+                <foreach collection="statusEnumList" item="status" open="(" close=")" separator=",">
+                    #{status,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler}
+                </foreach>
+            </if>
+        </where>
+        LIMIT 1
+    </select>
 </mapper>