Bläddra i källkod

fix 题库数目

he2802 4 år sedan
förälder
incheckning
698c558438

+ 3 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionController.java

@@ -11,6 +11,7 @@ import com.zhongzheng.modules.bank.vo.QuestionVo;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -84,7 +85,7 @@ public class QuestionController extends BaseController {
     @PreAuthorize("@ss.hasPermi('bank:question:add')")
     @Log(title = "题库题目", businessType = BusinessType.INSERT)
     @PostMapping()
-    public AjaxResult<Void> add(@RequestBody QuestionAddBo bo) {
+    public AjaxResult<Void> add(@Validated @RequestBody QuestionAddBo bo) {
         return toAjax(iQuestionService.insertByAddBo(bo) ? 1 : 0);
     }
 
@@ -95,7 +96,7 @@ public class QuestionController extends BaseController {
     @PreAuthorize("@ss.hasPermi('bank:question:edit')")
     @Log(title = "题库题目", businessType = BusinessType.UPDATE)
     @PostMapping("/edit")
-    public AjaxResult<Void> edit(@RequestBody QuestionEditBo bo) {
+    public AjaxResult<Void> edit(@Validated @RequestBody QuestionEditBo bo) {
         return toAjax(iQuestionService.updateByEditBo(bo) ? 1 : 0);
     }
 

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionAddBo.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+
+import javax.validation.constraints.Min;
 import java.util.Date;
 
 
@@ -47,5 +49,6 @@ public class QuestionAddBo {
     private Long examId;
     /** 父类型 1普通练习 2试卷练习 3真题练习 */
     @ApiModelProperty("父类型 1普通练习 2试卷练习 3真题练习")
+    @Min(value = 1, message = "父类型为正整数")
     private Long parentType;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionEditBo.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+
+import javax.validation.constraints.Min;
 import java.util.Date;
 
 
@@ -56,5 +58,6 @@ public class QuestionEditBo {
 
     /** 父类型 1普通练习 2试卷练习 3真题练习 */
     @ApiModelProperty("父类型 1普通练习 2试卷练习 3真题练习")
+    @Min(value = 1, message = "父类型为正整数")
     private Long parentType;
 }

+ 51 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java

@@ -2,14 +2,17 @@ package com.zhongzheng.modules.bank.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.bank.bo.QuestionAddBo;
 import com.zhongzheng.modules.bank.bo.QuestionEditBo;
 import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
-import com.zhongzheng.modules.bank.domain.Question;
-import com.zhongzheng.modules.bank.mapper.QuestionMapper;
+import com.zhongzheng.modules.bank.domain.*;
+import com.zhongzheng.modules.bank.mapper.*;
+import com.zhongzheng.modules.bank.service.IQuestionBankService;
 import com.zhongzheng.modules.bank.service.IQuestionService;
 import com.zhongzheng.modules.bank.vo.QuestionVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -31,6 +34,21 @@ import java.util.stream.Collectors;
 @Service
 public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> implements IQuestionService {
 
+    @Autowired
+    private QuestionBankExamMapper questionBankExamMapper;
+
+    @Autowired
+    private QuestionBankMapper questionBankMapper;
+
+    @Autowired
+    private IQuestionBankService questionBankService;
+
+    @Autowired
+    private QuestionBankSectionMapper questionBankSectionMapper;
+
+    @Autowired
+    private QuestionBankChapterMapper questionBankChapterMapper;
+
     @Override
     public QuestionVo queryById(Long questionId){
         Question db = this.baseMapper.selectById(questionId);
@@ -77,7 +95,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        return this.save(add);
+        boolean rs = this.save(add);
+        if(rs){
+            this.updateQuestionNum(add,1);
+        }
+        return rs;
     }
 
     @Override
@@ -85,7 +107,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         Question update = BeanUtil.toBean(bo, Question.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
-        return this.updateById(update);
+        boolean rs = this.updateById(update);
+        if(bo.getStatus()==-1&&rs){
+            this.updateQuestionNum(update,1);
+        }
+        return
     }
 
     /**
@@ -104,4 +130,25 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         }
         return this.removeByIds(ids);
     }
+
+    //更新题库题目数目
+    private void updateQuestionNum(Question entity,int num){
+        if(entity.getParentType()==1){
+            //1普通练习
+            QuestionBankSection dbSection = questionBankSectionMapper.selectById(entity.getBankSectionId());
+            QuestionBankChapter dbChapter = questionBankChapterMapper.selectById(dbSection.getBankChapterId());
+            UpdateWrapper<QuestionBank> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.setSql("question_num = question_num +"+num);
+            updateWrapper.eq("bank_id", dbChapter.getBankId());
+            questionBankService.update(updateWrapper);
+
+        }else{
+            // 2试卷练习 3真题练习
+            QuestionBankExam db = questionBankExamMapper.selectById(entity.getExamId());
+            UpdateWrapper<QuestionBank> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.setSql("question_num = question_num +"+num);
+            updateWrapper.eq("bank_id", db.getBankId());
+            questionBankService.update(updateWrapper);
+        }
+    }
 }