|
|
@@ -4,10 +4,7 @@ import cn.iselab.mooctest.site.common.constant.SubsiteConstants;
|
|
|
import cn.iselab.mooctest.site.dao.Exam2PaperDao;
|
|
|
import cn.iselab.mooctest.site.dao.PaperDao;
|
|
|
import cn.iselab.mooctest.site.dao.Task2CaseDao;
|
|
|
-import cn.iselab.mooctest.site.models.CaseExtends;
|
|
|
-import cn.iselab.mooctest.site.models.Exam2Paper;
|
|
|
-import cn.iselab.mooctest.site.models.Paper;
|
|
|
-import cn.iselab.mooctest.site.models.Task2Case;
|
|
|
+import cn.iselab.mooctest.site.models.*;
|
|
|
import cn.iselab.mooctest.site.service.BaseService;
|
|
|
import cn.iselab.mooctest.site.service.PaperService;
|
|
|
import cn.iselab.mooctest.site.web.data.CaseBlockVO;
|
|
|
@@ -23,7 +20,10 @@ import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collector;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Created by major on 2017/7/6.
|
|
|
@@ -52,6 +52,10 @@ public class PaperServiceImpl extends BaseService implements PaperService {
|
|
|
|
|
|
@Override
|
|
|
public void deletePaper(long paperId) {
|
|
|
+ List<Task2Case> oldCases = task2CaseDao.findByTaskId(paperId);
|
|
|
+ for(Task2Case task2Case : oldCases){
|
|
|
+ task2CaseDao.delete(task2Case);
|
|
|
+ }
|
|
|
paperDao.delete(paperId);
|
|
|
}
|
|
|
|
|
|
@@ -77,6 +81,23 @@ public class PaperServiceImpl extends BaseService implements PaperService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<Task2Case> copyCase(long oldPaperId, long newPaperId) {
|
|
|
+ List<Task2Case> oldCases = task2CaseDao.findByTaskId(oldPaperId);
|
|
|
+ List<Task2Case> newCases = new ArrayList<>();
|
|
|
+ for(Task2Case task2Case : oldCases){
|
|
|
+ Task2Case t2c = new Task2Case();
|
|
|
+ t2c.setCaseIndex(task2Case.getCaseIndex());
|
|
|
+ t2c.setCount(task2Case.getCount());
|
|
|
+ t2c.setWeight(task2Case.getWeight());
|
|
|
+ t2c.setCaseId(task2Case.getCaseId());
|
|
|
+ t2c.setTaskId(newPaperId);
|
|
|
+ t2c.setAutoSelect(true);
|
|
|
+ newCases.add(task2CaseDao.save(t2c));
|
|
|
+ }
|
|
|
+ return newCases;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void updateCaseAndWeight(long paperId, List<CaseBlockVO> caseBlocks) {
|
|
|
|
|
|
Integer maxCaseIndex = task2CaseDao.findMaxCaseIndexByTaskId(paperId);
|