|
@@ -10,11 +10,13 @@ import com.keao.edu.user.dao.ExamOrganizationRelationDao;
|
|
import com.keao.edu.user.dao.ExaminationBasicDao;
|
|
import com.keao.edu.user.dao.ExaminationBasicDao;
|
|
import com.keao.edu.user.entity.ExamOrganizationRelation;
|
|
import com.keao.edu.user.entity.ExamOrganizationRelation;
|
|
import com.keao.edu.user.entity.ExaminationBasic;
|
|
import com.keao.edu.user.entity.ExaminationBasic;
|
|
|
|
+import com.keao.edu.user.entity.Organization;
|
|
import com.keao.edu.user.enums.ExamStatusEnum;
|
|
import com.keao.edu.user.enums.ExamStatusEnum;
|
|
import com.keao.edu.user.enums.YesOrNoEnum;
|
|
import com.keao.edu.user.enums.YesOrNoEnum;
|
|
import com.keao.edu.user.page.ExamOrganizationRelationQueryInfo;
|
|
import com.keao.edu.user.page.ExamOrganizationRelationQueryInfo;
|
|
import com.keao.edu.user.service.ExamOrganizationRelationService;
|
|
import com.keao.edu.user.service.ExamOrganizationRelationService;
|
|
import com.keao.edu.user.service.OrganizationService;
|
|
import com.keao.edu.user.service.OrganizationService;
|
|
|
|
+import com.keao.edu.user.service.ShortUrlService;
|
|
import com.keao.edu.util.collection.MapUtil;
|
|
import com.keao.edu.util.collection.MapUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.poi.ss.formula.functions.T;
|
|
import org.apache.poi.ss.formula.functions.T;
|
|
@@ -37,6 +39,8 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
private ExaminationBasicDao examinationBasicDao;
|
|
private ExaminationBasicDao examinationBasicDao;
|
|
@Autowired
|
|
@Autowired
|
|
private OrganizationService organizationService;
|
|
private OrganizationService organizationService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ShortUrlService shortUrlService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public BaseDAO<Long, ExamOrganizationRelation> getDAO() {
|
|
public BaseDAO<Long, ExamOrganizationRelation> getDAO() {
|
|
@@ -82,8 +86,17 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
if(Objects.isNull(examOrganizationRelation.getOrganId())){
|
|
if(Objects.isNull(examOrganizationRelation.getOrganId())){
|
|
throw new BizException("请指定合作单位");
|
|
throw new BizException("请指定合作单位");
|
|
}
|
|
}
|
|
|
|
+ Organization organization = organizationService.get(examOrganizationRelation.getOrganId());
|
|
|
|
+ if(Objects.isNull(organization)){
|
|
|
|
+ throw new BizException("合作单位不存在");
|
|
|
|
+ }
|
|
examOrganizationRelation.setTenantId(TenantContextHolder.getTenantId().toString());
|
|
examOrganizationRelation.setTenantId(TenantContextHolder.getTenantId().toString());
|
|
- examOrganizationRelation.setShareProfitAmount(BigDecimal.ZERO);
|
|
|
|
|
|
+ if(Objects.isNull(examOrganizationRelation.getSettlementType())){
|
|
|
|
+ examOrganizationRelation.setSettlementType(organization.getSettlementType());
|
|
|
|
+ }
|
|
|
|
+ if(Objects.isNull(organization.getShareProfitAmount())){
|
|
|
|
+ examOrganizationRelation.setShareProfitAmount(organization.getShareProfitAmount());
|
|
|
|
+ }
|
|
examOrganizationRelation.setTotalRegistrationStudentNum(BigDecimal.ZERO.intValue());
|
|
examOrganizationRelation.setTotalRegistrationStudentNum(BigDecimal.ZERO.intValue());
|
|
examOrganizationRelation.setTotalPaymentAmount(BigDecimal.ZERO);
|
|
examOrganizationRelation.setTotalPaymentAmount(BigDecimal.ZERO);
|
|
Set<Integer> organIds = examOrganizationRelationDao.getOrganIdsWithExam(examOrganizationRelation.getExaminationBasicId());
|
|
Set<Integer> organIds = examOrganizationRelationDao.getOrganIdsWithExam(examOrganizationRelation.getExaminationBasicId());
|
|
@@ -103,32 +116,27 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
if(StringUtils.isBlank(organIdStrs)){
|
|
if(StringUtils.isBlank(organIdStrs)){
|
|
throw new BizException("请指定合作单位");
|
|
throw new BizException("请指定合作单位");
|
|
}
|
|
}
|
|
- Set<Integer> existOrganizationIds = examOrganizationRelationDao.getOrganIdsWithExam(examId);
|
|
|
|
|
|
+ List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getWithExam(examId);
|
|
|
|
+ Set<Integer> existOrganizationIds = examOrgans.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toSet());
|
|
List<Integer> organIds = Arrays.asList(organIdStrs.split(",")).stream().map(e -> Integer.valueOf(e)).collect(Collectors.toList());
|
|
List<Integer> organIds = Arrays.asList(organIdStrs.split(",")).stream().map(e -> Integer.valueOf(e)).collect(Collectors.toList());
|
|
- List<Integer> updateSendFlagOrganizationIds=new ArrayList<>();
|
|
|
|
- List<ExamOrganizationRelation> examOrganizationRelations=new ArrayList<>();
|
|
|
|
for (Integer organId : organIds) {
|
|
for (Integer organId : organIds) {
|
|
- if(existOrganizationIds.contains(organId)){
|
|
|
|
- updateSendFlagOrganizationIds.add(organId);
|
|
|
|
- continue;
|
|
|
|
|
|
+ if(!existOrganizationIds.contains(organId)){
|
|
|
|
+ throw new BizException("存在未关联到考级项目的合作单位");
|
|
}
|
|
}
|
|
- ExamOrganizationRelation examOrganizationRelation=new ExamOrganizationRelation();
|
|
|
|
- examOrganizationRelation.setExaminationBasicId(examId);
|
|
|
|
- examOrganizationRelation.setOrganId(organId);
|
|
|
|
- examOrganizationRelation.setSendUrlFlag(YesOrNoEnum.YES);
|
|
|
|
- examOrganizationRelation.setTenantId(TenantContextHolder.getTenantId().toString());
|
|
|
|
- examOrganizationRelations.add(examOrganizationRelation);
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
ExaminationBasic examinationBasic = examinationBasicDao.get(examId.longValue());
|
|
ExaminationBasic examinationBasic = examinationBasicDao.get(examId.longValue());
|
|
if(Objects.isNull(examinationBasic)){
|
|
if(Objects.isNull(examinationBasic)){
|
|
throw new BizException("考级项目不存在");
|
|
throw new BizException("考级项目不存在");
|
|
}
|
|
}
|
|
- if(!CollectionUtils.isEmpty(updateSendFlagOrganizationIds)){
|
|
|
|
- examOrganizationRelationDao.batchUpdateSendUrlFlag(examId, updateSendFlagOrganizationIds, YesOrNoEnum.YES);
|
|
|
|
- }
|
|
|
|
- if(!CollectionUtils.isEmpty(examOrganizationRelations)){
|
|
|
|
- examOrganizationRelationDao.batchInsert(examOrganizationRelations);
|
|
|
|
|
|
+
|
|
|
|
+ for (ExamOrganizationRelation examOrgan : examOrgans) {
|
|
|
|
+ examOrgan.setUrl(shortUrlService.createShortUrl(""));
|
|
|
|
+ examOrgan.setSendUrlFlag(YesOrNoEnum.YES);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ examOrganizationRelationDao.batchUpdate(examOrgans);
|
|
|
|
+
|
|
if(examinationBasic.getStatus().equals(ExamStatusEnum.SETTING)){
|
|
if(examinationBasic.getStatus().equals(ExamStatusEnum.SETTING)){
|
|
examinationBasic.setStatus(ExamStatusEnum.NOT_START);
|
|
examinationBasic.setStatus(ExamStatusEnum.NOT_START);
|
|
examinationBasicDao.update(examinationBasic);
|
|
examinationBasicDao.update(examinationBasic);
|