Selaa lähdekoodia

题目编辑需求开发

chen 5 vuotta sitten
vanhempi
commit
44ca2c0d36

+ 48 - 3
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseQuestionDealServiceImpl.java

@@ -3,6 +3,7 @@ package com.ssj.service.kmt.kmt.service.impl;
 import com.alibaba.dubbo.config.annotation.Service;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ssj.bean.kmt.kmt.domain.KmtExerciseBook;
 import com.ssj.bean.kmt.kmt.domain.KmtExerciseQuestion;
 import com.ssj.bean.weixin.libmy.domain.TbLibManager;
@@ -15,6 +16,9 @@ import com.ssj.framework.core.util.StringUtil;
 import com.ssj.framework.idworker.IdWorker;
 import com.ssj.framework.weixin.util.DateUtil;
 import com.ssj.kmt.utils.JSONFileUtil;
+import com.ssj.service.kmt.constant.KnowledgeVersion;
+import com.ssj.service.kmt.dto.exercise.ExerciseBookEditDto;
+import com.ssj.service.kmt.dto.exercise.ExerciseQuestionEditDto;
 import com.ssj.service.kmt.request.rollbackai.AddExerciseQuestionRequest;
 import com.ssj.service.kmt.request.rollbackai.ExerciseBooksEditRequest;
 import com.ssj.service.kmt.request.rollbackai.ExerciseQuestionDealRequest;
@@ -55,6 +59,8 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
     private ExerciseQuestionSearchService exerciseQuestionSearchService;
     @Autowired
     private KmtExerciseBookService kmtExerciseBookService;
+    @Autowired
+    private KnowledgeVersion knowledgeVersion;
 
     @Override
     public ResponseEntity addOrEditExerciseQuestion(String userId, AddExerciseQuestionRequest request) {
@@ -371,12 +377,51 @@ public class KmtExerciseQuestionDealServiceImpl implements KmtExerciseQuestionDe
 
     @Override
     public ResponseEntity findEditExerciseBooks(ExerciseBooksEditRequest request) {
-
-        return null;
+        ResponseEntity responseEntity = new ResponseEntity();
+        List<ExerciseBookEditDto> list = kmtExerciseMapper.findEditExerciseBooks(request);
+        Map<String, Object> data = new HashMap<>();
+        data.put("books", list);
+        return responseEntity.success(data, "成功");
     }
 
     @Override
     public ResponseEntity findEditExerciseQuestions(ExerciseQuestionsEditRequest request) {
-        return null;
+        Page page = new Page(request.getPageNo(), request.getPageSize());
+        kmtExerciseMapper.findEditExerciseQuestions(request.getExerciseBookId(), page);
+        Map<String, String> users = new HashMap<>();
+        for (Object obj : page.getRecords()){
+            ExerciseQuestionEditDto questionEditDto = (ExerciseQuestionEditDto)obj;
+            String versionStr = knowledgeVersion.getVersionNameBySubjectAndVersionNum(questionEditDto.getCourseName(), questionEditDto.getVersion());
+            questionEditDto.setVersionName(versionStr);
+            if (questionEditDto.getDealStatus() != 2){
+                questionEditDto.setEditStatus(2);
+            }
+
+            if (questionEditDto.getType() == 1){
+                questionEditDto.setBookType("上半");
+            } else if (questionEditDto.getType() == 2){
+                questionEditDto.setBookType("下半");
+            } else if (questionEditDto.getType() == 3) {
+                questionEditDto.setBookType("不同");
+            } else {
+                questionEditDto.setBookType("整本");
+            }
+            if (users.containsKey(questionEditDto.getUserId())){
+                questionEditDto.setCreateUserName(users.get(questionEditDto.getUserId()));
+            } else {
+                TbLibManager libManager = bookManagerDao.findByUserIdAndType(questionEditDto.getUserId(), 17);
+                if (libManager != null){
+                    questionEditDto.setCreateUserName(libManager.getName());
+                    users.put(questionEditDto.getUserId(), libManager.getName());
+                }
+            }
+        }
+        Map<String, Object> data = new HashMap<>();
+        data.put("pageNo", page.getCurrent());
+        data.put("pageSize", page.getSize());
+        data.put("pages", page.getPages());
+        data.put("total", page.getTotal());
+        data.put("list", page.getRecords());
+        return new ResponseEntity().success(data, "成功");
     }
 }

+ 155 - 0
ssj-kmt-exercise-service/src/main/java/com/ssj/service/kmt/dto/exercise/ExerciseQuestionEditDto.java

@@ -0,0 +1,155 @@
+package com.ssj.service.kmt.dto.exercise;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ExerciseQuestionEditDto  implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String questionId;
+
+    private String exerciseBookName;
+
+    private String courseName;
+
+    private String grade;
+
+    @JSONField(serialize = false)
+    private int version;
+
+    private String versionName;
+
+    private int semester;
+
+    @JSONField(serialize = false)
+    private int dealStatus;
+
+    @JSONField(serialize = false)
+    private int type;
+
+    private String bookType;
+
+    private Date createTime;
+
+    @JSONField(serialize = false)
+    private String userId;
+
+    private String createUserName;
+
+    private int editStatus = 1;
+
+
+    public String getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(String questionId) {
+        this.questionId = questionId;
+    }
+
+    public String getExerciseBookName() {
+        return exerciseBookName;
+    }
+
+    public void setExerciseBookName(String exerciseBookName) {
+        this.exerciseBookName = exerciseBookName;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public String getGrade() {
+        return grade;
+    }
+
+    public void setGrade(String grade) {
+        this.grade = grade;
+    }
+
+    public int getVersion() {
+        return version;
+    }
+
+    public void setVersion(int version) {
+        this.version = version;
+    }
+
+    public int getSemester() {
+        return semester;
+    }
+
+    public void setSemester(int semester) {
+        this.semester = semester;
+    }
+
+    public int getDealStatus() {
+        return dealStatus;
+    }
+
+    public void setDealStatus(int dealStatus) {
+        this.dealStatus = dealStatus;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getVersionName() {
+        return versionName;
+    }
+
+    public void setVersionName(String versionName) {
+        this.versionName = versionName;
+    }
+
+    public String getBookType() {
+        return bookType;
+    }
+
+    public void setBookType(String bookType) {
+        this.bookType = bookType;
+    }
+
+    public String getCreateUserName() {
+        return createUserName;
+    }
+
+    public void setCreateUserName(String createUserName) {
+        this.createUserName = createUserName;
+    }
+
+    public int getEditStatus() {
+        return editStatus;
+    }
+
+    public void setEditStatus(int editStatus) {
+        this.editStatus = editStatus;
+    }
+}

+ 4 - 0
ssj-mybatis-service-impl/src/main/java/com/ssj/service/mapper/KmtExerciseMapper.java

@@ -1222,4 +1222,8 @@ public interface KmtExerciseMapper {
                                           @Param("parentId") String parentId);
 
     List<ExerciseBookEditDto> findEditExerciseBooks (@Param("request")ExerciseBooksEditRequest request);
+
+
+    void findEditExerciseQuestions (@Param("exerciseBookId") String exerciseBookId,
+                                    Page page);
 }

+ 10 - 1
ssj-mybatis-service-impl/src/main/resources/mybatis/mapper/KmtExerciseMapper.xml

@@ -2040,7 +2040,16 @@
         where rb.question_id=eq.id and eq.exercise_book_id=eb.id and  rb.type=2 and eb.grade=#{request.grade}
         and eb.course_name=#{request.subject}
         and eb.version=#{request.versionType} and eb.semester=#{requset.semester}
+        <if test="request.bookName != null and request.bookName != ''">
+            and eb.book_name like concat('%',#{request.bookName},'%')
+        </if>
+    </select>
 
-        and book_name regexp ''
+    <select id="findEditExerciseQuestions" resultType="com.ssj.service.kmt.dto.exercise.ExerciseQuestionEditDto">
+        select eq.id question_id, eb.book_name exercise_book_name, eb.course_name, eb.grade, eb.version, eb.semester,
+        eq.deal_status, eb.book_type type, rb.create_time, rb.user_id from kmt_exercise_question_rollback rb,
+        kmt_exercise_questions eq, kmt_exercise_book eb
+        where rb.question_id=eq.id and eq.exercise_book_id=eb.id and  rb.type=2 and eb.id=#{exerciseBookId}
+        order by rb.create_time desc
     </select>
 </mapper>