src/main/java/com/ycl/jxkg/controller/admin/QuestionController.java
@@ -10,15 +10,16 @@ import com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO; import com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO; import com.ycl.jxkg.service.QuestionService; import com.ycl.jxkg.utils.*; import com.ycl.jxkg.utils.ErrorUtil; import com.ycl.jxkg.utils.HtmlUtil; import com.ycl.jxkg.utils.JsonUtil; import com.ycl.jxkg.utils.PageInfoHelper; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Objects; @RequiredArgsConstructor @RestController("AdminQuestionController") @@ -81,4 +82,11 @@ } return Result.ok(); } @PostMapping(value = "/status") public Result<String> status(@RequestBody QuestionResponseVO question) { questionService.updateStatus(question); return Result.ok("操作成功"); } } src/main/java/com/ycl/jxkg/domain/question/QuestionItemObject.java
@@ -9,8 +9,6 @@ private String content; private Integer score; private String itemUuid; } src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionEditItemVO.java
@@ -14,8 +14,6 @@ @NotBlank private String content; private String score; private String itemUuid; src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionPageRequestVO.java
@@ -3,17 +3,19 @@ import com.ycl.jxkg.base.BasePage; import lombok.Data; import java.util.List; @Data public class QuestionPageRequestVO extends BasePage { private Integer id; private Integer level; private Integer status; private Integer subjectId; private List<Integer> subjectId; private Integer questionType; private List<Integer> questionType; private String content; src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionResponseVO.java
@@ -1,5 +1,6 @@ package com.ycl.jxkg.domain.vo.admin.question; import com.ycl.jxkg.domain.enums.general.StatusEnum; import lombok.Data; @@ -24,7 +25,7 @@ private String createUserName; private Integer status; private StatusEnum status; private String correct; src/main/java/com/ycl/jxkg/service/QuestionService.java
@@ -24,4 +24,11 @@ Integer selectAllCount(); List<Integer> selectMothCount(); /** * 更新题目状态 * @param question 题目 * @return 更新结果 */ Boolean updateStatus(QuestionResponseVO question); } src/main/java/com/ycl/jxkg/service/impl/QuestionServiceImpl.java
@@ -1,25 +1,24 @@ package com.ycl.jxkg.service.impl; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.domain.enums.general.StatusEnum; import com.ycl.jxkg.domain.other.KeyValue; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ycl.jxkg.domain.entity.Question; import com.ycl.jxkg.domain.enums.QuestionTypeEnum; import com.ycl.jxkg.domain.enums.general.StatusEnum; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.domain.question.QuestionItemObject; import com.ycl.jxkg.domain.question.QuestionObject; import com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO; import com.ycl.jxkg.mapper.QuestionMapper; import com.ycl.jxkg.service.QuestionService; import com.ycl.jxkg.service.SubjectService; import com.ycl.jxkg.service.TextContentService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.JsonUtil; import com.ycl.jxkg.utils.ExamUtil; import com.ycl.jxkg.domain.vo.admin.question.QuestionEditItemVO; import com.ycl.jxkg.domain.vo.admin.question.QuestionEditRequestVO; import com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO; import com.ycl.jxkg.mapper.QuestionMapper; import com.ycl.jxkg.service.QuestionService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.ExamUtil; import com.ycl.jxkg.utils.JsonUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -27,7 +26,6 @@ import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @Service @@ -35,13 +33,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> implements QuestionService { private final QuestionMapper questionMapper; private final TextContentService textContentService; private final SubjectService subjectService; @Override public PageInfo<QuestionResponseVO> page(QuestionPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "create_time desc").doSelectPageInfo(() -> questionMapper.page(requestVM) ); } @@ -124,9 +120,6 @@ List<QuestionEditItemVO> editItems = questionObject.getQuestionItemObjects().stream().map(o -> { QuestionEditItemVO questionEditItemVO = new QuestionEditItemVO(); BeanUtils.copyProperties(o, questionEditItemVO); if (o.getScore() != null) { questionEditItemVO.setScore(ExamUtil.scoreToVM(o.getScore())); } return questionEditItemVO; }).collect(Collectors.toList()); questionEditRequestVO.setItems(editItems); @@ -140,7 +133,6 @@ item.setPrefix(i.getPrefix()); item.setContent(i.getContent()); item.setItemUuid(i.getItemUuid()); item.setScore(ExamUtil.scoreFromVM(i.getScore())); return item; } ).collect(Collectors.toList()); @@ -169,5 +161,12 @@ }).collect(Collectors.toList()); } @Override public Boolean updateStatus(QuestionResponseVO question) { return new LambdaUpdateChainWrapper<>(questionMapper) .set(Question::getStatus, question.getStatus()) .eq(Question::getId, question.getId()) .update(); } } src/main/resources/mapper/QuestionMapper.xml
@@ -32,20 +32,20 @@ LEFT JOIN t_subject ts ON tq.subject_id = ts.id LEFT JOIN t_user tu ON tq.create_user = tu.id <where> and tq.deleted=0 <if test="id != null "> and tq.id= #{id} and tq.deleted = 0 <if test="id != null"> and tq.id = #{id} </if> <if test="level != null "> and tq.grade_level= #{level} <if test="status != null"> and tq.status = #{status} </if> <if test="subjectId != null "> and tq.subject_id= #{subjectId} <if test="subjectId != null and subjectId.size() > 0"> and tq.subject_id in <foreach collection="subjectId" item="item" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="questionType != null "> and tq.question_type= #{questionType} <if test="questionType != null and questionType.size() > 0"> and tq.question_type in <foreach collection="questionType" item="item" separator="," open="(" close=")"> #{item} </foreach> </if> <if test="content != null"> <if test="content != null and content != ''"> and instr(tq.content, #{content}) </if> </where>