|
@@ -5,16 +5,21 @@ import com.keao.edu.common.exception.BizException;
|
|
|
import com.keao.edu.common.page.PageInfo;
|
|
|
import com.keao.edu.common.service.impl.BaseServiceImpl;
|
|
|
import com.keao.edu.common.tenant.TenantContextHolder;
|
|
|
+import com.keao.edu.user.dao.ExamMusicTheoryDao;
|
|
|
import com.keao.edu.user.dao.ExamOrganizationRelationDao;
|
|
|
import com.keao.edu.user.dao.ExaminationBasicDao;
|
|
|
+import com.keao.edu.user.dao.MusicTheoryDao;
|
|
|
import com.keao.edu.user.dto.ExaminationBasicDto;
|
|
|
+import com.keao.edu.user.entity.ExamMusicTheory;
|
|
|
import com.keao.edu.user.entity.ExamOrganizationRelation;
|
|
|
import com.keao.edu.user.entity.ExaminationBasic;
|
|
|
import com.keao.edu.user.api.enums.ExamModeEnum;
|
|
|
+import com.keao.edu.user.entity.MusicTheory;
|
|
|
import com.keao.edu.user.enums.ExamStatusEnum;
|
|
|
import com.keao.edu.user.page.ExaminationQueryInfo;
|
|
|
import com.keao.edu.user.service.ExaminationBasicService;
|
|
|
import com.keao.edu.util.collection.MapUtil;
|
|
|
+import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -31,6 +36,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
|
|
|
private ExaminationBasicDao examinationBasicDao;
|
|
|
@Autowired
|
|
|
private ExamOrganizationRelationDao examOrganizationRelationDao;
|
|
|
+ @Autowired
|
|
|
+ private MusicTheoryDao musicTheoryDao;
|
|
|
+ @Autowired
|
|
|
+ private ExamMusicTheoryDao examMusicTheoryDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, ExaminationBasic> getDAO() {
|
|
@@ -51,9 +60,29 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
|
|
|
if(Objects.isNull(examinationBasic.getEnrollStartTime())||Objects.isNull(examinationBasic.getEnrollEndTime())){
|
|
|
throw new BizException("请指定考试开始与结束时间");
|
|
|
}
|
|
|
- examinationBasic.setStatus(ExamStatusEnum.SETTING);
|
|
|
+
|
|
|
examinationBasic.setTenantId(TenantContextHolder.getTenantId().toString());
|
|
|
+
|
|
|
+ List<MusicTheory> musicTheories = musicTheoryDao.getWithTenant(Integer.valueOf(examinationBasic.getTenantId()));
|
|
|
+ if(CollectionUtils.isEmpty(musicTheories)){
|
|
|
+ throw new BizException("请设置乐理");
|
|
|
+ }
|
|
|
+
|
|
|
+ examinationBasic.setStatus(ExamStatusEnum.SETTING);
|
|
|
examinationBasicDao.insert(examinationBasic);
|
|
|
+
|
|
|
+ List<ExamMusicTheory> examMusicTheories=new ArrayList<>();
|
|
|
+ for (MusicTheory musicTheory : musicTheories) {
|
|
|
+ ExamMusicTheory emt=new ExamMusicTheory();
|
|
|
+ emt.setExaminationBasicId(examinationBasic.getId());
|
|
|
+ emt.setTenantId(examinationBasic.getTenantId());
|
|
|
+ emt.setLevel(musicTheory.getLevel());
|
|
|
+ emt.setFee(musicTheory.getFee());
|
|
|
+ examMusicTheories.add(emt);
|
|
|
+ }
|
|
|
+
|
|
|
+ examMusicTheoryDao.batchInsert(examMusicTheories);
|
|
|
+
|
|
|
return examinationBasic;
|
|
|
}
|
|
|
|
|
@@ -91,7 +120,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
|
|
|
params.put("offset", pageInfo.getOffset());
|
|
|
dataList = examinationBasicDao.findExaminationBasics(params);
|
|
|
List<Integer> examIds = dataList.stream().map(ExaminationBasicDto::getId).collect(Collectors.toList());
|
|
|
- List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getWithExams(examIds);
|
|
|
+ List<ExamOrganizationRelation> examOrgans = new ArrayList<>();
|
|
|
+ if(!CollectionUtils.isEmpty(examIds)){
|
|
|
+ examOrganizationRelationDao.getWithExams(examIds);
|
|
|
+ }
|
|
|
Map<Integer, List<ExamOrganizationRelation>> examOrgansMap = new HashMap<>();
|
|
|
if(!CollectionUtils.isEmpty(examOrgans)){
|
|
|
examOrgansMap = examOrgans.stream().collect(Collectors.groupingBy(ExamOrganizationRelation::getExaminationBasicId));
|