log/xzs.20230614.log
Diff too large log/xzs.20230615.log
New file Diff too large src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -3,7 +3,9 @@ import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.domain.ExamPaper; import com.mindskip.xzs.domain.ExamPaperSubject; import com.mindskip.xzs.service.ExamPaperService; import com.mindskip.xzs.service.ExamPaperSubjectService; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.PageInfoHelper; import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM; @@ -20,10 +22,12 @@ public class ExamPaperController extends BaseApiController { private final ExamPaperService examPaperService; private final ExamPaperSubjectService examPaperSubjectService; @Autowired public ExamPaperController(ExamPaperService examPaperService) { public ExamPaperController(ExamPaperService examPaperService, ExamPaperSubjectService examPaperSubjectService) { this.examPaperService = examPaperService; this.examPaperSubjectService = examPaperSubjectService; } @RequestMapping(value = "/page", method = RequestMethod.POST) @@ -32,6 +36,8 @@ PageInfo<ExamResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamResponseVM vm = modelMapper.map(e, ExamResponseVM.class); vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); vm.setSubjectId(examPaperSubjectService.getByExamPaperId(vm.getId()) .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new)); return vm; }); return RestResponse.ok(page); src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
@@ -51,7 +51,7 @@ } @RequestMapping(value = "/page", method = RequestMethod.POST) public RestResponse<PageInfo<QuestionResponseVM>> pageList(@RequestBody QuestionPageRequestVM model) { public RestResponse<PageInfo<QuestionResponseVM>> pageList(@RequestBody @Valid QuestionPageRequestVM model) { PageInfo<Question> pageInfo = questionService.page(model); PageInfo<QuestionResponseVM> page = PageInfoHelper.copyMap(pageInfo, q -> { QuestionResponseVM vm = modelMapper.map(q, QuestionResponseVM.class); @@ -127,7 +127,7 @@ .stream().map(e -> { e.setQuestionType(QuestionTypeEnum.get(e.getType())); // e.setSubjectId(subjectMapper.getName(e.getSbNames()).getId()); e.setGradeLevel(departmentMapper.getName(e.getDepartment()).getId()); // e.setGradeLevel(departmentMapper.getName(e.getDepartment()).getId()); return e; }).collect(Collectors.toList()); @@ -163,8 +163,7 @@ List<Subject> subjectList = subjectMapper.getNames(vm.getSbNames().split(",")); Integer[] arr =subjectList.stream().filter(e-> e.getLevelName().equals(subjectList.get(0).getLevelName())) Integer[] arr =subjectList.stream() .map(Subject::getId).toArray(Integer[]::new); vm.setSubjectIds(arr); @@ -174,6 +173,9 @@ vm.setCorrect(null); } vm.setScore("2"); vm.setDifficult(4); questionService.insertFullQuestion(vm, getCurrentUser().getId()); questionEditItemVMS.clear(); } src/main/java/com/mindskip/xzs/domain/ExamPaperDepartment.java
New file @@ -0,0 +1,56 @@ package com.mindskip.xzs.domain; import java.io.Serializable; public class ExamPaperDepartment implements Serializable { private Integer id; private Integer departmentId; private Integer examPaperId; private String deleted; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getDepartmentId() { return departmentId; } public void setDepartmentId(Integer departmentId) { this.departmentId = departmentId; } public Integer getExamPaperId() { return examPaperId; } public void setExamPaperId(Integer examPaperId) { this.examPaperId = examPaperId; } public String getDeleted() { return deleted; } public void setDeleted(String deleted) { this.deleted = deleted; } @Override public String toString() { return "ExamPaperDepartment{" + "id=" + id + ", departmentId=" + departmentId + ", examPaperId=" + examPaperId + ", deleted=" + deleted + '}'; } } src/main/java/com/mindskip/xzs/domain/ExamPaperSubject.java
New file @@ -0,0 +1,46 @@ package com.mindskip.xzs.domain; import java.io.Serializable; public class ExamPaperSubject implements Serializable { private Integer id; private Integer examPaperId; private Integer subjectId; private String deleted; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getExamPaperId() { return examPaperId; } public void setExamPaperId(Integer examPaperId) { this.examPaperId = examPaperId; } public Integer getSubjectId() { return subjectId; } public void setSubjectId(Integer subjectId) { this.subjectId = subjectId; } public String getDeleted() { return deleted; } public void setDeleted(String deleted) { this.deleted = deleted; } } src/main/java/com/mindskip/xzs/repository/ExamPaperDepartmentMapper.java
New file @@ -0,0 +1,38 @@ package com.mindskip.xzs.repository; import com.mindskip.xzs.domain.ExamPaperDepartment; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface ExamPaperDepartmentMapper extends BaseMapper<ExamPaperDepartment>{ /** * 批量添加 * @param list * @return */ Integer saves(List<ExamPaperDepartment> list); /** * 批量删除 * @param ids * @return */ Integer removes(Integer[] ids); /** * 根据exam_paper_id查询 * @param id * @return */ List<ExamPaperDepartment> getByExamPaperId(Integer id); /** * 根据exam_paper_id删除 * @param id * @return */ Integer removeByExamPaperId(Integer id); } src/main/java/com/mindskip/xzs/repository/ExamPaperSubjectMapper.java
New file @@ -0,0 +1,31 @@ package com.mindskip.xzs.repository; import com.mindskip.xzs.domain.ExamPaperSubject; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface ExamPaperSubjectMapper extends BaseMapper<ExamPaperSubject>{ /** * 批量添加 * @param list * @return */ Integer saves(List<ExamPaperSubject> list); /** * 根据exam_paper_id查询 * @param id * @return */ List<ExamPaperSubject> getByExamPaperId(Integer id); /** * 根据exam_paper_id删除 * @param id * @return */ Integer removeByExamPaperId(Integer id); } src/main/java/com/mindskip/xzs/service/ExamPaperDepartmentService.java
New file @@ -0,0 +1,36 @@ package com.mindskip.xzs.service; import com.mindskip.xzs.domain.ExamPaperDepartment; import java.util.List; public interface ExamPaperDepartmentService extends BaseService<ExamPaperDepartment>{ /** * 批量添加 * @param list * @return */ Integer saves(List<ExamPaperDepartment> list); /** * 批量删除 * @param ids * @return */ Integer removes(Integer[] ids); /** * 根据exam_paper_id查询 * @param id * @return */ List<ExamPaperDepartment> getByExamPaperId(Integer id); /** * 根据exam_paper_id删除 * @param id * @return */ Integer removeByExamPaperId(Integer id); } src/main/java/com/mindskip/xzs/service/ExamPaperSubjectService.java
New file @@ -0,0 +1,29 @@ package com.mindskip.xzs.service; import com.mindskip.xzs.domain.ExamPaperSubject; import java.util.List; public interface ExamPaperSubjectService extends BaseService<ExamPaperSubject>{ /** * 批量添加 * @param list * @return */ Integer saves(List<ExamPaperSubject> list); /** * 根据exam_paper_id查询 * @param id * @return */ List<ExamPaperSubject> getByExamPaperId(Integer id); /** * 根据exam_paper_id删除 * @param id * @return */ Integer removeByExamPaperId(Integer id); } src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
@@ -272,7 +272,7 @@ @Override public PageInfo<ExamPaperAnswer> adminPage(com.mindskip.xzs.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "user_score desc").doSelectPageInfo(() -> examPaperAnswerMapper.adminPage(requestVM)); } } src/main/java/com/mindskip/xzs/service/impl/ExamPaperDepartmentServiceImpl.java
New file @@ -0,0 +1,40 @@ package com.mindskip.xzs.service.impl; import com.mindskip.xzs.domain.ExamPaperDepartment; import com.mindskip.xzs.repository.BaseMapper; import com.mindskip.xzs.repository.ExamPaperDepartmentMapper; import com.mindskip.xzs.service.ExamPaperDepartmentService; import org.springframework.stereotype.Service; import java.util.List; @Service public class ExamPaperDepartmentServiceImpl extends BaseServiceImpl<ExamPaperDepartment> implements ExamPaperDepartmentService { private final ExamPaperDepartmentMapper examPaperDepartmentMapper; public ExamPaperDepartmentServiceImpl(BaseMapper<ExamPaperDepartment> baseMapper, ExamPaperDepartmentMapper examPaperDepartmentMapper) { super(baseMapper); this.examPaperDepartmentMapper = examPaperDepartmentMapper; } @Override public Integer saves(List<ExamPaperDepartment> list) { return examPaperDepartmentMapper.saves(list); } @Override public Integer removes(Integer[] ids) { return examPaperDepartmentMapper.removes(ids); } @Override public List<ExamPaperDepartment> getByExamPaperId(Integer id) { return examPaperDepartmentMapper.getByExamPaperId(id); } @Override public Integer removeByExamPaperId(Integer id) { return examPaperDepartmentMapper.removeByExamPaperId(id); } } src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -8,10 +8,7 @@ import com.mindskip.xzs.domain.other.KeyValue; import com.mindskip.xzs.repository.ExamPaperMapper; import com.mindskip.xzs.repository.QuestionMapper; import com.mindskip.xzs.service.ExamPaperService; import com.mindskip.xzs.service.QuestionService; import com.mindskip.xzs.service.SubjectService; import com.mindskip.xzs.service.TextContentService; import com.mindskip.xzs.service.*; import com.mindskip.xzs.service.enums.ActionEnum; import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.JsonUtil; @@ -49,15 +46,19 @@ private final TextContentService textContentService; private final QuestionService questionService; private final SubjectService subjectService; private final ExamPaperDepartmentService examPaperDepartmentService; private final ExamPaperSubjectService examPaperSubjectService; @Autowired public ExamPaperServiceImpl(ExamPaperMapper examPaperMapper, QuestionMapper questionMapper, TextContentService textContentService, QuestionService questionService, SubjectService subjectService) { public ExamPaperServiceImpl(ExamPaperMapper examPaperMapper, QuestionMapper questionMapper, TextContentService textContentService, QuestionService questionService, SubjectService subjectService, ExamPaperDepartmentService examPaperDepartmentService, ExamPaperSubjectService examPaperSubjectService) { super(examPaperMapper); this.examPaperMapper = examPaperMapper; this.questionMapper = questionMapper; this.textContentService = textContentService; this.questionService = questionService; this.subjectService = subjectService; this.examPaperDepartmentService = examPaperDepartmentService; this.examPaperSubjectService = examPaperSubjectService; } @@ -100,6 +101,7 @@ examPaper.setDeleted(false); examPaperFromVM(examPaperEditRequestVM, examPaper, titleItemsVM); examPaperMapper.insertSelective(examPaper); } else { examPaper = examPaperMapper.selectByPrimaryKey(examPaperEditRequestVM.getId()); TextContent frameTextContent = textContentService.selectById(examPaper.getFrameTextContentId()); @@ -108,7 +110,12 @@ modelMapper.map(examPaperEditRequestVM, examPaper); examPaperFromVM(examPaperEditRequestVM, examPaper, titleItemsVM); examPaperMapper.updateByPrimaryKeySelective(examPaper); //批量修改 examPaperDepartmentService.removeByExamPaperId(examPaper.getId()); examPaperSubjectService.removeByExamPaperId(examPaper.getId()); } addExamPaperDepartment(examPaperEditRequestVM,examPaper); addExamPaperSubject(examPaperEditRequestVM,examPaper); return examPaper; } @@ -141,6 +148,12 @@ List<String> limitDateTime = Arrays.asList(DateTimeUtil.dateFormat(examPaper.getLimitStartTime()), DateTimeUtil.dateFormat(examPaper.getLimitEndTime())); vm.setLimitDateTime(limitDateTime); } //查询部门和课目 vm.setSubjectId(examPaperSubjectService.getByExamPaperId(examPaper.getId()) .stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new)); vm.setDepartmentIds(examPaperDepartmentService.getByExamPaperId(examPaper.getId()) .stream().map(ExamPaperDepartment::getDepartmentId).toArray(Integer[]::new)); return vm; } @@ -168,7 +181,7 @@ } private void examPaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamPaper examPaper, List<ExamPaperTitleItemVM> titleItemsVM) { Integer gradeLevel = subjectService.levelBySubjectId(examPaperEditRequestVM.getSubjectId()); // Integer gradeLevel = subjectService.levelBySubjectId(examPaperEditRequestVM.getSubjectId()); Integer questionCount = titleItemsVM.stream() .mapToInt(t -> t.getQuestionItems().size()).sum(); Integer score = titleItemsVM.stream(). @@ -177,7 +190,7 @@ ).sum(); examPaper.setQuestionCount(questionCount); examPaper.setScore(score); examPaper.setGradeLevel(gradeLevel); examPaper.setGradeLevel(null); List<String> dateTimes = examPaperEditRequestVM.getLimitDateTime(); if (ExamPaperTypeEnum.TimeLimit == ExamPaperTypeEnum.fromCode(examPaper.getPaperType())) { examPaper.setLimitStartTime(DateTimeUtil.parse(dateTimes.get(0), DateTimeUtil.STANDER_FORMAT)); @@ -200,4 +213,26 @@ return titleItem; }).collect(Collectors.toList()); } private void addExamPaperDepartment(ExamPaperEditRequestVM examPaperEditRequestVM, ExamPaper examPaper){ List<ExamPaperDepartment> list = Arrays.asList(examPaperEditRequestVM.getDepartmentIds()).stream().map(e->{ ExamPaperDepartment examPaperDepartment = new ExamPaperDepartment(); examPaperDepartment.setExamPaperId(examPaper.getId()); examPaperDepartment.setDepartmentId(e); examPaperDepartment.setDeleted("0"); return examPaperDepartment; }).collect(Collectors.toList()); examPaperDepartmentService.saves(list); } private void addExamPaperSubject(ExamPaperEditRequestVM examPaperEditRequestVM, ExamPaper examPaper){ List<ExamPaperSubject> subjectList = Arrays.asList(examPaperEditRequestVM.getSubjectId()).stream().map(e->{ ExamPaperSubject examPaperSubject = new ExamPaperSubject(); examPaperSubject.setSubjectId(e); examPaperSubject.setExamPaperId(examPaper.getId()); examPaperSubject.setDeleted("0"); return examPaperSubject; }).collect(Collectors.toList()); examPaperSubjectService.saves(subjectList); } } src/main/java/com/mindskip/xzs/service/impl/ExamPaperSubjectServiceImpl.java
New file @@ -0,0 +1,37 @@ package com.mindskip.xzs.service.impl; import com.mindskip.xzs.domain.ExamPaperSubject; import com.mindskip.xzs.repository.BaseMapper; import com.mindskip.xzs.repository.ExamPaperSubjectMapper; import com.mindskip.xzs.service.ExamPaperSubjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class ExamPaperSubjectServiceImpl extends BaseServiceImpl<ExamPaperSubject> implements ExamPaperSubjectService { private final ExamPaperSubjectMapper examPaperSubjectMapper; @Autowired public ExamPaperSubjectServiceImpl(BaseMapper<ExamPaperSubject> baseMapper, ExamPaperSubjectMapper examPaperSubjectMapper) { super(baseMapper); this.examPaperSubjectMapper = examPaperSubjectMapper; } @Override public Integer saves(List<ExamPaperSubject> list) { return examPaperSubjectMapper.saves(list); } @Override public List<ExamPaperSubject> getByExamPaperId(Integer id) { return examPaperSubjectMapper.getByExamPaperId(id); } @Override public Integer removeByExamPaperId(Integer id) { return examPaperSubjectMapper.removeByExamPaperId(id); } } src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVM.java
@@ -2,6 +2,9 @@ import com.mindskip.xzs.domain.ExamPaperDepartment; import com.mindskip.xzs.domain.ExamPaperSubject; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -11,10 +14,10 @@ public class ExamPaperEditRequestVM { private Integer id; @NotNull // @NotNull private Integer level; @NotNull private Integer subjectId; // @NotNull private Integer[] subjectId; @NotNull private Integer paperType; @NotBlank @@ -29,6 +32,10 @@ private List<ExamPaperTitleItemVM> titleItems; private String score; //部门ids private Integer[] departmentIds; public Integer getId() { return id; @@ -46,11 +53,11 @@ this.level = level; } public Integer getSubjectId() { public Integer[] getSubjectId() { return subjectId; } public void setSubjectId(Integer subjectId) { public void setSubjectId(Integer[] subjectId) { this.subjectId = subjectId; } @@ -101,4 +108,13 @@ public void setScore(String score) { this.score = score; } public Integer[] getDepartmentIds() { return departmentIds; } public void setDepartmentIds(Integer[] departmentIds) { this.departmentIds = departmentIds; } } src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamResponseVM.java
@@ -16,7 +16,7 @@ private Integer createUser; private Integer subjectId; private Integer[] subjectId; private Integer paperType; @@ -70,11 +70,11 @@ this.createUser = createUser; } public Integer getSubjectId() { public Integer[] getSubjectId() { return subjectId; } public void setSubjectId(Integer subjectId) { public void setSubjectId(Integer[] subjectId) { this.subjectId = subjectId; } src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionPageRequestVM.java
@@ -8,7 +8,7 @@ private Integer id; private Integer level; private Integer subjectId; private Integer[] subjectId; private Integer questionType; private String content; @@ -29,11 +29,11 @@ this.level = level; } public Integer getSubjectId() { public Integer[] getSubjectId() { return subjectId; } public void setSubjectId(Integer subjectId) { public void setSubjectId(Integer[] subjectId) { this.subjectId = subjectId; } src/main/resources/mapper/ExamPaperDepartment.xml
New file @@ -0,0 +1,42 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mindskip.xzs.repository.ExamPaperDepartmentMapper"> <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.ExamPaperDepartment"> <id column="id" jdbcType="INTEGER" property="id" /> <result column="department_id" jdbcType="INTEGER" property="departmentId" /> <result column="exam_paper_id" jdbcType="INTEGER" property="examPaperId" /> <result column="deleted" jdbcType="VARCHAR" property="deleted" /> </resultMap> <sql id="Base_Column_List"> id ,department_id,exam_paper_id,deleted </sql> <insert id="saves" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into t_exam_paper_department(id,department_id,exam_paper_id,deleted) values <foreach collection="list" item="item" index="index" separator=","> (#{item.id},#{item.departmentId},#{item.examPaperId},#{item.deleted}) </foreach> </insert> <delete id="removes" parameterType="java.lang.Integer"> delete from t_exam_paper_department where id in <foreach item="id" collection="ids" open="(" separator="," close=")"> #{id} </foreach> </delete> <select id="getByExamPaperId" resultMap="BaseResultMap"> select * from t_exam_paper_department where exam_paper_id = #{id} and deleted = 0 </select> <delete id="removeByExamPaperId" parameterType="java.lang.Integer"> delete from t_exam_paper_department where exam_paper_id = #{id} </delete> </mapper> src/main/resources/mapper/ExamPaperSubjectMapper.xml
New file @@ -0,0 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mindskip.xzs.repository.ExamPaperSubjectMapper"> <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.ExamPaperSubject"> <id column="id" jdbcType="INTEGER" property="id" /> <result column="subject_id" jdbcType="INTEGER" property="subjectId" /> <result column="exam_paper_id" jdbcType="INTEGER" property="examPaperId" /> <result column="deleted" jdbcType="VARCHAR" property="deleted" /> </resultMap> <sql id="Base_Column_List"> id ,subject_id,exam_paper_id,deleted </sql> <insert id="saves" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into t_exam_paper_subject(id,subject_id,exam_paper_id,deleted) values <foreach collection="list" item="item" index="index" separator=","> (#{item.id},#{item.subjectId},#{item.examPaperId},#{item.deleted}) </foreach> </insert> <select id="getByExamPaperId" resultMap="BaseResultMap"> select * from t_exam_paper_subject where exam_paper_id = #{id} and deleted = 0 </select> <delete id="removeByExamPaperId" parameterType="java.lang.Integer"> delete from t_exam_paper_subject where exam_paper_id = #{id} </delete> </mapper> src/main/resources/mapper/QuestionMapper.xml
@@ -192,7 +192,12 @@ and q.grade_level= #{level} </if> <if test="subjectId != null "> and qs.subject_id= #{subjectId} and qs.subject_id in <foreach item="subjectId" collection="subjectId" open="(" separator="," close=")"> #{subjectId} </foreach> </if> <if test="questionType != null "> and q.question_type= #{questionType}