|
@@ -26,7 +26,6 @@ import com.keao.edu.user.service.ExamRegistrationPaymentService;
|
|
|
import com.keao.edu.user.service.ExamRegistrationService;
|
|
|
import com.keao.edu.user.service.OrganizationService;
|
|
|
import com.keao.edu.util.collection.MapUtil;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
@@ -111,19 +110,26 @@ 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("报名人数报名金额更新失败");
|
|
|
}
|
|
|
Organization organization = organizationService.get(examRegistration.getOrganId());
|
|
|
- if(StringUtils.countMatches(organization.getParentOrganIdTag(), ",")<=0){
|
|
|
- return order;
|
|
|
- }
|
|
|
- List<Integer> parentOrganIds = Arrays.stream(organization.getParentOrganIdTag().split(","))
|
|
|
- .map(e -> Integer.valueOf(e)).filter(e -> !e.equals(organization.getId())).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Integer> parentOrganIds = Arrays.stream(organization.getParentOrganIdTag().split(","))
|
|
|
+ .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;
|
|
|
}
|