|
|
@@ -1,13 +1,17 @@
|
|
|
package com.zhongzheng.modules.exam.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.lang.func.VoidFunc0;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.zhongzheng.modules.exam.bo.ExamArrangementTimeAddBo;
|
|
|
+import com.zhongzheng.modules.exam.domain.ExamArrangementTime;
|
|
|
import com.zhongzheng.modules.exam.service.IExamArrangementStudentService;
|
|
|
import com.zhongzheng.modules.exam.service.IExamArrangementTimeService;
|
|
|
import com.zhongzheng.modules.exam.vo.ExamArrangementTimeVo;
|
|
|
import com.zhongzheng.modules.exam.vo.ExamUserVo;
|
|
|
import com.zhongzheng.modules.user.service.IUserService;
|
|
|
import com.zhongzheng.modules.user.vo.UserVo;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -50,12 +54,29 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
|
|
|
public ExamArrangementVo queryById(Long id){
|
|
|
ExamArrangement db = this.baseMapper.selectById(id);
|
|
|
ExamArrangementVo examArrangementVo = BeanUtil.toBean(db, ExamArrangementVo.class);
|
|
|
- List<ExamArrangementTimeVo> examArrangementTimeVos = new ArrayList<>();
|
|
|
- BeanUtil.copyProperties(examArrangementTimeService.queryById(examArrangementVo.getId()),examArrangementTimeVos);
|
|
|
+ //獲得考試時間
|
|
|
+ LambdaQueryWrapper<ExamArrangementTime> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(true,ExamArrangementTime::getArrangementId,db.getId());
|
|
|
+ List<ExamArrangementTime> list = examArrangementTimeService.list(lqw);
|
|
|
+ List<ExamArrangementTimeVo> examArrangementTimeVos = entity2TimeVo(list);
|
|
|
examArrangementVo.setExamArrangementTimeVo(examArrangementTimeVos);
|
|
|
+
|
|
|
return examArrangementVo;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 实体类转化成视图对象
|
|
|
+ *
|
|
|
+ * @param collection 实体类集合
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<ExamArrangementTimeVo> entity2TimeVo(Collection<ExamArrangementTime> collection) {
|
|
|
+ List<ExamArrangementTimeVo> voList = collection.stream()
|
|
|
+ .map(any -> BeanUtil.toBean(any, ExamArrangementTimeVo.class))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ return voList;
|
|
|
+ }
|
|
|
@Override
|
|
|
public List<ExamArrangementVo> queryList(ExamArrangementQueryBo bo) {
|
|
|
LambdaQueryWrapper<ExamArrangement> lqw = Wrappers.lambdaQuery();
|
|
|
@@ -80,15 +101,17 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
|
|
|
lqw.eq(StrUtil.isNotBlank(bo.getGradesUrl()), ExamArrangement::getGradesUrl, bo.getGradesUrl());
|
|
|
lqw.eq(StrUtil.isNotBlank(bo.getScoreLineUrl()), ExamArrangement::getScoreLineUrl, bo.getScoreLineUrl());
|
|
|
lqw.eq(StrUtil.isNotBlank(bo.getCertificate()), ExamArrangement::getCertificate, bo.getCertificate());
|
|
|
- List<ExamArrangementVo> list = new ArrayList<>();
|
|
|
- BeanUtil.copyProperties(this.list(lqw),list);
|
|
|
- list.stream().forEach(e -> {
|
|
|
- List<ExamArrangementTimeVo> examArrangementTimeVos = new ArrayList<>();
|
|
|
- BeanUtil.copyProperties(examArrangementTimeService.queryById(e.getId()),examArrangementTimeVos);
|
|
|
- e.setExamArrangementTimeVo(examArrangementTimeVos);
|
|
|
+ List<ExamArrangementVo> examArrangementVos = entity2Vo(this.list(lqw));
|
|
|
+ //獲得考試時間
|
|
|
+ examArrangementVos.stream().forEach(e -> {
|
|
|
+ LambdaQueryWrapper<ExamArrangementTime> lqwTime = Wrappers.lambdaQuery();
|
|
|
+ lqwTime.eq(true,ExamArrangementTime::getArrangementId,e.getId());
|
|
|
+ List<ExamArrangementTime> list = examArrangementTimeService.list(lqwTime);
|
|
|
+ List<ExamArrangementTimeVo> examArrangementTimeVos = entity2TimeVo(list);
|
|
|
+ e.setExamArrangementTimeVo(examArrangementTimeVos);
|
|
|
}
|
|
|
);
|
|
|
- return entity2Vo(list);
|
|
|
+ return examArrangementVos;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -97,12 +120,12 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
|
|
|
* @param collection 实体类集合
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<ExamArrangementVo> entity2Vo(Collection<ExamArrangementVo> collection) {
|
|
|
+ private List<ExamArrangementVo> entity2Vo(Collection<ExamArrangement> collection) {
|
|
|
List<ExamArrangementVo> voList = collection.stream()
|
|
|
.map(any -> BeanUtil.toBean(any, ExamArrangementVo.class))
|
|
|
.collect(Collectors.toList());
|
|
|
if (collection instanceof Page) {
|
|
|
- Page<ExamArrangementVo> page = (Page<ExamArrangementVo>)collection;
|
|
|
+ Page<ExamArrangement> page = (Page<ExamArrangement>)collection;
|
|
|
Page<ExamArrangementVo> pageVo = new Page<>();
|
|
|
BeanUtil.copyProperties(page,pageVo);
|
|
|
pageVo.addAll(voList);
|
|
|
@@ -115,9 +138,23 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
|
|
|
public Boolean insertByAddBo(ExamArrangementAddBo bo) {
|
|
|
ExamArrangement add = BeanUtil.toBean(bo, ExamArrangement.class);
|
|
|
validEntityBeforeSave(add);
|
|
|
+ examArrangementTimeService.saveBatch(entity2Time(bo.getExamArrangementTimeAddBo()));
|
|
|
return this.save(add);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 实体类转化成视图对象
|
|
|
+ *
|
|
|
+ * @param collection 实体类集合
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<ExamArrangementTime> entity2Time(Collection<ExamArrangementTimeAddBo> collection) {
|
|
|
+ List<ExamArrangementTime> voList = collection.stream()
|
|
|
+ .map(any -> BeanUtil.toBean(any, ExamArrangementTime.class))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ return voList;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean updateByEditBo(ExamArrangementEditBo bo) {
|
|
|
ExamArrangement update = BeanUtil.toBean(bo, ExamArrangement.class);
|
|
|
@@ -146,6 +183,6 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
|
|
|
public List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo) {
|
|
|
|
|
|
List<ExamUserVo> examUserVos = examArrangementStudentService.queryUserList(bo);
|
|
|
- return null;
|
|
|
+ return examUserVos;
|
|
|
}
|
|
|
}
|