|
@@ -20,6 +20,7 @@ import com.ssj.framework.weixin.util.DateUtil;
|
|
|
import com.ssj.kmt.utils.JSONFileUtil;
|
|
|
import com.ssj.service.conch.common.request.PageReq;
|
|
|
import com.ssj.service.kmt.dto.*;
|
|
|
+import com.ssj.service.kmt.dto.exercise.ExerciseBookEditDto;
|
|
|
import com.ssj.service.kmt.dto.exercise.ExerciseQuestionRollbacks;
|
|
|
import com.ssj.service.kmt.exercise.request.SubmitAnswerProofreadResultReq;
|
|
|
import com.ssj.service.kmt.exercisesys.enums.ProofreadStatusEnum;
|
|
@@ -34,6 +35,7 @@ import com.ssj.service.weixin.push.service.PushTemplateService;
|
|
|
import com.ssj.service.weixin.user.service.UserService;
|
|
|
import com.ssj.service.weixin.zuoyb.service.ZuoybKnowHowDetailsSortService;
|
|
|
import com.ssj.taskthread.ThreadPool;
|
|
|
+import com.ssj.utils.SortByChineseUtil;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.Factory;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -1613,10 +1615,10 @@ public class KmtExerciseServiceImpl implements KmtExerciseService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<String, Object> findExerciseErrorQuestions(PageReq req, String userId) {
|
|
|
+ public Map<String, Object> findExerciseErrorQuestions(QuestionErrorListVo req, String userId) {
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
Page page = new Page(req.getPageNo(), req.getPageSize());
|
|
|
- List<KmtExerciseQuestionErrors> questionErrors = kmtExerciseMapper.findKmtExerciseQuestionByErrorUserId(userId, page);
|
|
|
+ List<KmtExerciseQuestionErrors> questionErrors = kmtExerciseMapper.findKmtExerciseQuestionByErrorUserId(userId, req.getExerciseBookId(), page);
|
|
|
if (CollectionUtils.isNotEmpty(questionErrors)){
|
|
|
List<String> userIds = this.findUserIdsInExerciseQuestionList(questionErrors);
|
|
|
List<TbLibManager> users = null;
|
|
@@ -1653,6 +1655,40 @@ public class KmtExerciseServiceImpl implements KmtExerciseService {
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> findErrorExerciseBooks (String userId, String bookName){
|
|
|
+ List<ExerciseBookEditDto> books = kmtExerciseMapper.findErrorExerciseBooks(bookName, userId);
|
|
|
+ books = this.sortByBookName(books);
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ data.put("books", books);
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 练习册名称排序
|
|
|
+ * @param list
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<ExerciseBookEditDto> sortByBookName (List<ExerciseBookEditDto> list){
|
|
|
+ if (list != null){
|
|
|
+ Map<String, List<ExerciseBookEditDto>> temp = new HashMap<>();
|
|
|
+ for (ExerciseBookEditDto item : list){
|
|
|
+ if (temp.containsKey(item.getExerciseBookName())){
|
|
|
+ temp.get(item.getExerciseBookName()).add(item);
|
|
|
+ } else {
|
|
|
+ temp.put(item.getExerciseBookName(), Collections.singletonList(item));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ArrayList tempList = new ArrayList(temp.keySet());
|
|
|
+ List<String> sortList = SortByChineseUtil.sortByChinese(tempList);
|
|
|
+ list.clear();
|
|
|
+ for (String str : sortList) {
|
|
|
+ list.addAll(temp.get(str));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 从题目列表中提取四个用户的id
|
|
|
* @param list
|