Joburgess 5 năm trước cách đây
mục cha
commit
17e109738b

+ 8 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamOrganizationRelationDao.java

@@ -106,4 +106,12 @@ public interface ExamOrganizationRelationDao extends BaseDAO<Long, ExamOrganizat
      */
     ExamOrganizationRelation getExamOrganizationRelation(@Param("examId") Long examId, @Param("OrganId") Integer OrganId);
 
+    /**
+     * 获取考级项目关联合作单位信息
+     * @param examId
+     * @param organIds
+     * @return
+     */
+    List<ExamOrganizationRelation> getExamOrganizationRelations(@Param("examId") Long examId, @Param("organIds") List<Integer> organIds);
+
 }

+ 14 - 5
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -111,9 +111,9 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         }
         //更新报名人数,和报名金额
         ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examRegistration.getExaminationBasicId(), examRegistration.getOrganId());
-        examOrganizationRelation.setTotalRegistrationStudentNum(examOrganizationRelation.getTotalRegistrationStudentNum() + 1);
-        BigDecimal amount = examOrganizationRelation.getTotalPaymentAmount().add(examRegistration.getLevelFee()).add(examRegistration.getTheoryLevelFee());
-        examOrganizationRelation.setTotalPaymentAmount(amount);
+        examOrganizationRelation.setSelfRegistrationStudentNum(examOrganizationRelation.getSelfRegistrationStudentNum() + 1);
+        BigDecimal amount = examOrganizationRelation.getSelfPaymentAmount().add(examRegistration.getLevelFee()).add(examRegistration.getTheoryLevelFee());
+        examOrganizationRelation.setSelfPaymentAmount(amount);
         if (examOrganizationRelationDao.update(examOrganizationRelation) <= 0) {
             throw new BizException("报名人数报名金额更新失败");
         }
@@ -122,8 +122,17 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
             return order;
         }
         List<Integer> parentOrganIds = Arrays.stream(organization.getParentOrganIdTag().split(","))
-                .map(e -> Integer.valueOf(e)).filter(e -> !e.equals(organization.getId())).collect(Collectors.toList());
-
+                .map(e -> Integer.valueOf(e)).collect(Collectors.toList());
+        List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getExamOrganizationRelations(examRegistration.getExaminationBasicId(), parentOrganIds);
+        for (ExamOrganizationRelation examOrgan : examOrgans) {
+            examOrgan.setTotalRegistrationStudentNum(examOrgan.getTotalRegistrationStudentNum() + 1);
+            BigDecimal totalAmount = examOrgan.getTotalPaymentAmount().add(examRegistration.getLevelFee()).add(examRegistration.getTheoryLevelFee());
+            examOrgan.setTotalPaymentAmount(totalAmount);
+        }
+        int updateNum = examOrganizationRelationDao.batchUpdate(examOrgans);
+        if(updateNum!=examOrgans.size()){
+            throw new BizException("总报名人数报名金额更新失败");
+        }
 
         return order;
     }

+ 6 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamOrganizationRelationMapper.xml

@@ -322,5 +322,11 @@
     <select id="getExamOrganizationRelation" resultMap="ExamOrganizationRelation">
 		SELECT * FROM exam_organization_relation WHERE examination_basic_id_=#{examId} AND organ_id_=#{OrganId} FOR UPDATE
 	</select>
+	<select id="getExamOrganizationRelations" resultMap="ExamOrganizationRelation">
+		SELECT * FROM exam_organization_relation WHERE examination_basic_id_=#{examId} AND organ_id_ IN
+		<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+			#{organId}
+		</foreach>
+	</select>
 
 </mapper>

+ 0 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -138,7 +138,6 @@
 
 	<sql id="queryCondition">
 		<where>
-			er.status_ != 'PAY_WAIT'
 			<if test="organIds!=null">
 				AND er.organ_id_ IN
 				<foreach collection="organIds" item="organId" separator="," open="(" close=")">