he2802 4 роки тому
батько
коміт
d985efca97
40 змінених файлів з 2445 додано та 0 видалено
  1. 112 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankChapterController.java
  2. 116 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankController.java
  3. 112 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankExamController.java
  4. 112 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankSectionController.java
  5. 99 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankAddBo.java
  6. 39 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterAddBo.java
  7. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterEditBo.java
  8. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterQueryBo.java
  9. 119 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankEditBo.java
  10. 39 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamAddBo.java
  11. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamEditBo.java
  12. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamQueryBo.java
  13. 104 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankQueryBo.java
  14. 39 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionAddBo.java
  15. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionEditBo.java
  16. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionQueryBo.java
  17. 102 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBank.java
  18. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankChapter.java
  19. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankExam.java
  20. 51 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankSection.java
  21. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankChapterMapper.java
  22. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankExamMapper.java
  23. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankMapper.java
  24. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankSectionMapper.java
  25. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankChapterService.java
  26. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankExamService.java
  27. 53 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankSectionService.java
  28. 53 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankService.java
  29. 98 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankChapterServiceImpl.java
  30. 99 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankExamServiceImpl.java
  31. 98 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankSectionServiceImpl.java
  32. 114 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankServiceImpl.java
  33. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankChapterVo.java
  34. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankExamVo.java
  35. 44 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankSectionVo.java
  36. 113 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankVo.java
  37. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankChapterMapper.xml
  38. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankExamMapper.xml
  39. 35 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankMapper.xml
  40. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankSectionMapper.xml

+ 112 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankChapterController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.bank;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterQueryBo;
+import com.zhongzheng.modules.bank.service.IQuestionBankChapterService;
+import com.zhongzheng.modules.bank.vo.QuestionBankChapterVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 题库大章Controller
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Api(value = "题库大章控制器", tags = {"题库大章管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/bank/chapter")
+public class QuestionBankChapterController extends BaseController {
+
+    private final IQuestionBankChapterService iQuestionBankChapterService;
+
+    /**
+     * 查询题库大章列表
+     */
+    @ApiOperation("查询题库大章列表")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:list')")
+    @GetMapping("/list")
+    public TableDataInfo<QuestionBankChapterVo> list(QuestionBankChapterQueryBo bo) {
+        startPage();
+        List<QuestionBankChapterVo> list = iQuestionBankChapterService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出题库大章列表
+     */
+    /*@ApiOperation("导出题库大章列表")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:export')")
+    @Log(title = "题库大章", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<QuestionBankChapterVo> export(QuestionBankChapterQueryBo bo) {
+        List<QuestionBankChapterVo> list = iQuestionBankChapterService.queryList(bo);
+        ExcelUtil<QuestionBankChapterVo> util = new ExcelUtil<QuestionBankChapterVo>(QuestionBankChapterVo.class);
+        return util.exportExcel(list, "题库大章");
+    }*/
+
+    /**
+     * 获取题库大章详细信息
+     */
+    @ApiOperation("获取题库大章详细信息")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:query')")
+    @GetMapping("/{bankChapterId}")
+    public AjaxResult<QuestionBankChapterVo> getInfo(@PathVariable("bankChapterId" ) Long bankChapterId) {
+        return AjaxResult.success(iQuestionBankChapterService.queryById(bankChapterId));
+    }
+
+    /**
+     * 新增题库大章
+     */
+    @ApiOperation("新增题库大章")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:add')")
+    @Log(title = "题库大章", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody QuestionBankChapterAddBo bo) {
+        return toAjax(iQuestionBankChapterService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改题库大章
+     */
+    @ApiOperation("修改题库大章")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:edit')")
+    @Log(title = "题库大章", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@RequestBody QuestionBankChapterEditBo bo) {
+        return toAjax(iQuestionBankChapterService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除题库大章
+     */
+    @ApiOperation("删除题库大章")
+    @PreAuthorize("@ss.hasPermi('bank:chapter:remove')")
+    @Log(title = "题库大章" , businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    public AjaxResult<Void> remove(@RequestBody Long[] bankChapterIds) {
+        return toAjax(iQuestionBankChapterService.deleteWithValidByIds(Arrays.asList(bankChapterIds), true) ? 1 : 0);
+    }
+}

+ 116 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankController.java

@@ -0,0 +1,116 @@
+package com.zhongzheng.controller.bank;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.zhongzheng.modules.bank.bo.QuestionBankAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankQueryBo;
+import com.zhongzheng.modules.bank.service.IQuestionBankService;
+import com.zhongzheng.modules.bank.vo.QuestionBankVo;
+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;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 题库Controller
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Api(value = "题库控制器", tags = {"题库管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/bank")
+public class QuestionBankController extends BaseController {
+
+    private final IQuestionBankService iQuestionBankService;
+
+    /**
+     * 查询题库列表
+     */
+    @ApiOperation("查询题库列表")
+    @PreAuthorize("@ss.hasPermi('bank:list')")
+    @GetMapping("/list")
+    public TableDataInfo<QuestionBankVo> list(QuestionBankQueryBo bo) {
+        startPage();
+        List<QuestionBankVo> list = iQuestionBankService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出题库列表
+     */
+    /*@ApiOperation("导出题库列表")
+    @PreAuthorize("@ss.hasPermi('system:bank:export')")
+    @Log(title = "题库", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<QuestionBankVo> export(QuestionBankQueryBo bo) {
+        List<QuestionBankVo> list = iQuestionBankService.queryList(bo);
+        ExcelUtil<QuestionBankVo> util = new ExcelUtil<QuestionBankVo>(QuestionBankVo.class);
+        return util.exportExcel(list, "题库");
+    }*/
+
+    /**
+     * 获取题库详细信息
+     */
+    @ApiOperation("获取题库详细信息")
+    @PreAuthorize("@ss.hasPermi('bank:query')")
+    @GetMapping("/{bankId}")
+    public AjaxResult<QuestionBankVo> getInfo(@PathVariable("bankId" ) Long bankId) {
+        return AjaxResult.success(iQuestionBankService.queryById(bankId));
+    }
+
+    /**
+     * 新增题库
+     */
+    @ApiOperation("新增题库")
+    @ApiOperationSupport(ignoreParameters = {"updateTime","createTime"})
+    @PreAuthorize("@ss.hasPermi('bank:add')")
+    @Log(title = "题库", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@Validated @RequestBody QuestionBankAddBo bo) {
+        return toAjax(iQuestionBankService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改题库
+     */
+    @ApiOperation("修改题库")
+    @ApiOperationSupport(ignoreParameters = {"updateTime","createTime"})
+    @PreAuthorize("@ss.hasPermi('bank:edit')")
+    @Log(title = "题库", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@Validated  @RequestBody QuestionBankEditBo bo) {
+        return toAjax(iQuestionBankService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除题库
+     */
+    @ApiOperation("删除题库")
+    @PreAuthorize("@ss.hasPermi('bank:remove')")
+    @Log(title = "题库" , businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    public AjaxResult<Void> remove(@RequestBody Long[] bankIds) {
+        return toAjax(iQuestionBankService.deleteWithValidByIds(Arrays.asList(bankIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankExamController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.bank;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.zhongzheng.modules.bank.bo.QuestionBankExamAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamQueryBo;
+import com.zhongzheng.modules.bank.service.IQuestionBankExamService;
+import com.zhongzheng.modules.bank.vo.QuestionBankExamVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 题库试卷Controller
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Api(value = "题库试卷控制器", tags = {"题库试卷管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/bank/exam")
+public class QuestionBankExamController extends BaseController {
+
+    private final IQuestionBankExamService iQuestionBankExamService;
+
+    /**
+     * 查询题库试卷列表
+     */
+    @ApiOperation("查询题库试卷列表")
+    @PreAuthorize("@ss.hasPermi('bank:exam:list')")
+    @GetMapping("/list")
+    public TableDataInfo<QuestionBankExamVo> list(QuestionBankExamQueryBo bo) {
+        startPage();
+        List<QuestionBankExamVo> list = iQuestionBankExamService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出题库试卷列表
+     */
+    /*@ApiOperation("导出题库试卷列表")
+    @PreAuthorize("@ss.hasPermi('bank:exam:export')")
+    @Log(title = "题库试卷", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<QuestionBankExamVo> export(QuestionBankExamQueryBo bo) {
+        List<QuestionBankExamVo> list = iQuestionBankExamService.queryList(bo);
+        ExcelUtil<QuestionBankExamVo> util = new ExcelUtil<QuestionBankExamVo>(QuestionBankExamVo.class);
+        return util.exportExcel(list, "题库试卷");
+    }*/
+
+    /**
+     * 获取题库试卷详细信息
+     */
+    @ApiOperation("获取题库试卷详细信息")
+    @PreAuthorize("@ss.hasPermi('bank:exam:query')")
+    @GetMapping("/{examId}")
+    public AjaxResult<QuestionBankExamVo> getInfo(@PathVariable("examId" ) Long examId) {
+        return AjaxResult.success(iQuestionBankExamService.queryById(examId));
+    }
+
+    /**
+     * 新增题库试卷
+     */
+    @ApiOperation("新增题库试卷")
+    @PreAuthorize("@ss.hasPermi('bank:exam:add')")
+    @Log(title = "题库试卷", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody QuestionBankExamAddBo bo) {
+        return toAjax(iQuestionBankExamService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改题库试卷
+     */
+    @ApiOperation("修改题库试卷")
+    @PreAuthorize("@ss.hasPermi('bank:exam:edit')")
+    @Log(title = "题库试卷", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@RequestBody QuestionBankExamEditBo bo) {
+        return toAjax(iQuestionBankExamService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除题库试卷
+     */
+    @ApiOperation("删除题库试卷")
+    @PreAuthorize("@ss.hasPermi('bank:exam:remove')")
+    @Log(title = "题库试卷" , businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    public AjaxResult<Void> remove(@RequestBody Long[] examIds) {
+        return toAjax(iQuestionBankExamService.deleteWithValidByIds(Arrays.asList(examIds), true) ? 1 : 0);
+    }
+}

+ 112 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionBankSectionController.java

@@ -0,0 +1,112 @@
+package com.zhongzheng.controller.bank;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionQueryBo;
+import com.zhongzheng.modules.bank.service.IQuestionBankSectionService;
+import com.zhongzheng.modules.bank.vo.QuestionBankSectionVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 题库小节Controller
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Api(value = "题库小节控制器", tags = {"题库小节管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/bank/section")
+public class QuestionBankSectionController extends BaseController {
+
+    private final IQuestionBankSectionService iQuestionBankSectionService;
+
+    /**
+     * 查询题库小节列表
+     */
+    @ApiOperation("查询题库小节列表")
+    @PreAuthorize("@ss.hasPermi('bank:section:list')")
+    @GetMapping("/list")
+    public TableDataInfo<QuestionBankSectionVo> list(QuestionBankSectionQueryBo bo) {
+        startPage();
+        List<QuestionBankSectionVo> list = iQuestionBankSectionService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出题库小节列表
+     */
+    /*@ApiOperation("导出题库小节列表")
+    @PreAuthorize("@ss.hasPermi('system:section:export')")
+    @Log(title = "题库小节", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<QuestionBankSectionVo> export(QuestionBankSectionQueryBo bo) {
+        List<QuestionBankSectionVo> list = iQuestionBankSectionService.queryList(bo);
+        ExcelUtil<QuestionBankSectionVo> util = new ExcelUtil<QuestionBankSectionVo>(QuestionBankSectionVo.class);
+        return util.exportExcel(list, "题库小节");
+    }*/
+
+    /**
+     * 获取题库小节详细信息
+     */
+    @ApiOperation("获取题库小节详细信息")
+    @PreAuthorize("@ss.hasPermi('bank:section:query')")
+    @GetMapping("/{bankSectionId}")
+    public AjaxResult<QuestionBankSectionVo> getInfo(@PathVariable("bankSectionId" ) Long bankSectionId) {
+        return AjaxResult.success(iQuestionBankSectionService.queryById(bankSectionId));
+    }
+
+    /**
+     * 新增题库小节
+     */
+    @ApiOperation("新增题库小节")
+    @PreAuthorize("@ss.hasPermi('bank:section:add')")
+    @Log(title = "题库小节", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody QuestionBankSectionAddBo bo) {
+        return toAjax(iQuestionBankSectionService.insertByAddBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改题库小节
+     */
+    @ApiOperation("修改题库小节")
+    @PreAuthorize("@ss.hasPermi('bank:section:edit')")
+    @Log(title = "题库小节", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    public AjaxResult<Void> edit(@RequestBody QuestionBankSectionEditBo bo) {
+        return toAjax(iQuestionBankSectionService.updateByEditBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除题库小节
+     */
+    @ApiOperation("删除题库小节")
+    @PreAuthorize("@ss.hasPermi('bank:section:remove')")
+    @Log(title = "题库小节" , businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    public AjaxResult<Void> remove(@RequestBody Long[] bankSectionIds) {
+        return toAjax(iQuestionBankSectionService.deleteWithValidByIds(Arrays.asList(bankSectionIds), true) ? 1 : 0);
+    }
+}

+ 99 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankAddBo.java

@@ -0,0 +1,99 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+
+
+import java.math.BigDecimal;
+
+/**
+ * 题库添加对象 question_bank
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库添加对象")
+public class QuestionBankAddBo {
+
+    /** 类目ID */
+    @ApiModelProperty("类目ID")
+    @Min(value = 0, message = "分类ID不能为空")
+    private Long categoryId;
+    /** 题库名称 */
+    @ApiModelProperty("题库名称")
+    @NotBlank(message = "题库名称不能为空")
+    private String bankName;
+    /** 价格 */
+    @ApiModelProperty("价格")
+    @DecimalMin(value ="0.01",message = "价格需大于0.01")
+    private BigDecimal price;
+    /** 开始时间 */
+    @ApiModelProperty("开始时间")
+    private Long startTime;
+    /** 结束时间 */
+    @ApiModelProperty("结束时间")
+    private Long endTime;
+    /** 封面地址 */
+    @ApiModelProperty("封面地址")
+    private String coverUrl;
+    /** 简介 */
+    @ApiModelProperty("简介")
+    private String introduction;
+    /** 合格分数 */
+    @ApiModelProperty("合格分数")
+    private BigDecimal passingScore;
+    /** 考试时间 单位(秒) */
+    @ApiModelProperty("考试时间 单位(秒)")
+    private Long examTime;
+    /** 单选题数量 */
+    @ApiModelProperty("单选题数量")
+    private Long singleChoiceNum;
+    /** 单选题分值 */
+    @ApiModelProperty("单选题分值")
+    private BigDecimal singleChoiceScore;
+    /** 多选题数量 */
+    @ApiModelProperty("多选题数量")
+    private Long multipleChoiceNum;
+    /** 多选题分值 */
+    @ApiModelProperty("多选题分值")
+    private BigDecimal multipleChoiceScore;
+    /** 判断题数量 */
+    @ApiModelProperty("判断题数量")
+    private Long judgmentNum;
+    /** 判断题分值 */
+    @ApiModelProperty("判断题分值")
+    private BigDecimal judgmentScore;
+    /** 案例数量 */
+    @ApiModelProperty("案例数量")
+    private Long caseNum;
+    /** 案例分值 */
+    @ApiModelProperty("案例分值")
+    private BigDecimal caseScore;
+    /** 总分 */
+    @ApiModelProperty("总分")
+    private BigDecimal totalScore;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+    /** 练习类型 1普通练习 2试卷练习 3真题 */
+    @ApiModelProperty("练习类型 1普通练习 2试卷练习 3真题")
+    @Min(value = 0, message = "练习类型为1,2,3")
+    private Long typeId;
+    /** 教师ID拼接,用,拼接 */
+    @ApiModelProperty("教师ID拼接,用,拼接")
+    private String teacherIds;
+}

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterAddBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库大章添加对象 question_bank_chapter
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库大章添加对象")
+public class QuestionBankChapterAddBo {
+
+    /** 题库ID */
+    @ApiModelProperty("题库ID")
+    private Long bankId;
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterEditBo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 题库大章编辑对象 question_bank_chapter
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库大章编辑对象")
+public class QuestionBankChapterEditBo {
+
+
+    /** 题库章ID */
+    @ApiModelProperty("题库章ID")
+    private Long bankChapterId;
+
+    /** 题库ID */
+    @ApiModelProperty("题库ID")
+    private Long bankId;
+
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankChapterQueryBo.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 题库大章分页查询对象 question_bank_chapter
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("题库大章分页查询对象")
+public class QuestionBankChapterQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 题库ID */
+	@ApiModelProperty("题库ID")
+	private Long bankId;
+	/** 名称 */
+	@ApiModelProperty("名称")
+	private String name;
+	/** 排序 */
+	@ApiModelProperty("排序")
+	private Long sort;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+
+}

+ 119 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankEditBo.java

@@ -0,0 +1,119 @@
+package com.zhongzheng.modules.bank.bo;
+
+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 javax.validation.constraints.NotBlank;
+import java.util.Date;
+
+import java.math.BigDecimal;
+
+/**
+ * 题库编辑对象 question_bank
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库编辑对象")
+public class QuestionBankEditBo {
+
+
+    /** 题库ID */
+    @ApiModelProperty("题库ID")
+    private Long bankId;
+
+    /** 类目ID */
+    @ApiModelProperty("类目ID")
+    @Min(value = 0, message = "分类ID不能为空")
+    private Long categoryId;
+
+    /** 题库名称 */
+    @ApiModelProperty("题库名称")
+    @NotBlank(message = "题库名称不能为空")
+    private String bankName;
+
+    /** 价格 */
+    @ApiModelProperty("价格")
+    private BigDecimal price;
+
+    /** 开始时间 */
+    @ApiModelProperty("开始时间")
+    private Long startTime;
+
+    /** 结束时间 */
+    @ApiModelProperty("结束时间")
+    private Long endTime;
+
+    /** 封面地址 */
+    @ApiModelProperty("封面地址")
+    private String coverUrl;
+
+    /** 简介 */
+    @ApiModelProperty("简介")
+    private String introduction;
+
+    /** 合格分数 */
+    @ApiModelProperty("合格分数")
+    private BigDecimal passingScore;
+
+    /** 考试时间 单位(秒) */
+    @ApiModelProperty("考试时间 单位(秒)")
+    private Long examTime;
+
+    /** 单选题数量 */
+    @ApiModelProperty("单选题数量")
+    private Long singleChoiceNum;
+
+    /** 单选题分值 */
+    @ApiModelProperty("单选题分值")
+    private BigDecimal singleChoiceScore;
+
+    /** 多选题数量 */
+    @ApiModelProperty("多选题数量")
+    private Long multipleChoiceNum;
+
+    /** 多选题分值 */
+    @ApiModelProperty("多选题分值")
+    private BigDecimal multipleChoiceScore;
+
+    /** 判断题数量 */
+    @ApiModelProperty("判断题数量")
+    private Long judgmentNum;
+
+    /** 判断题分值 */
+    @ApiModelProperty("判断题分值")
+    private BigDecimal judgmentScore;
+
+    /** 案例数量 */
+    @ApiModelProperty("案例数量")
+    private Long caseNum;
+
+    /** 案例分值 */
+    @ApiModelProperty("案例分值")
+    private BigDecimal caseScore;
+
+    /** 总分 */
+    @ApiModelProperty("总分")
+    private BigDecimal totalScore;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+
+    /** 练习类型 1普通练习 2试卷练习 3真题 */
+    @ApiModelProperty("练习类型 1普通练习 2试卷练习 3真题")
+    @Min(value = 0, message = "练习类型为1,2,3")
+    private Long typeId;
+
+    /** 教师ID拼接,用,拼接 */
+    @ApiModelProperty("教师ID拼接,用,拼接")
+    private String teacherIds;
+}

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamAddBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库试卷添加对象 question_bank_exam
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库试卷添加对象")
+public class QuestionBankExamAddBo {
+
+    /** 题库ID */
+    @ApiModelProperty("题库ID")
+    private Long bankId;
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamEditBo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 题库试卷编辑对象 question_bank_exam
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库试卷编辑对象")
+public class QuestionBankExamEditBo {
+
+
+    /** 题库试卷ID */
+    @ApiModelProperty("题库试卷ID")
+    private Long examId;
+
+    /** 题库ID */
+    @ApiModelProperty("题库ID")
+    private Long bankId;
+
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankExamQueryBo.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 题库试卷分页查询对象 question_bank_exam
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("题库试卷分页查询对象")
+public class QuestionBankExamQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 题库ID */
+	@ApiModelProperty("题库ID")
+	private Long bankId;
+	/** 名称 */
+	@ApiModelProperty("名称")
+	private String name;
+	/** 排序 */
+	@ApiModelProperty("排序")
+	private Long sort;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+
+}

+ 104 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankQueryBo.java

@@ -0,0 +1,104 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import java.math.BigDecimal;
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 题库分页查询对象 question_bank
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("题库分页查询对象")
+public class QuestionBankQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 类目ID */
+	@ApiModelProperty("类目ID")
+	private Long categoryId;
+	/** 题库名称 */
+	@ApiModelProperty("题库名称")
+	private String bankName;
+	/** 价格 */
+	@ApiModelProperty("价格")
+	private BigDecimal price;
+	/** 开始时间 */
+	@ApiModelProperty("开始时间")
+	private Long startTime;
+	/** 结束时间 */
+	@ApiModelProperty("结束时间")
+	private Long endTime;
+	/** 封面地址 */
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+	/** 简介 */
+	@ApiModelProperty("简介")
+	private String introduction;
+	/** 合格分数 */
+	@ApiModelProperty("合格分数")
+	private BigDecimal passingScore;
+	/** 考试时间 单位(秒) */
+	@ApiModelProperty("考试时间 单位(秒)")
+	private Long examTime;
+	/** 单选题数量 */
+	@ApiModelProperty("单选题数量")
+	private Long singleChoiceNum;
+	/** 单选题分值 */
+	@ApiModelProperty("单选题分值")
+	private BigDecimal singleChoiceScore;
+	/** 多选题数量 */
+	@ApiModelProperty("多选题数量")
+	private Long multipleChoiceNum;
+	/** 多选题分值 */
+	@ApiModelProperty("多选题分值")
+	private BigDecimal multipleChoiceScore;
+	/** 判断题数量 */
+	@ApiModelProperty("判断题数量")
+	private Long judgmentNum;
+	/** 判断题分值 */
+	@ApiModelProperty("判断题分值")
+	private BigDecimal judgmentScore;
+	/** 案例数量 */
+	@ApiModelProperty("案例数量")
+	private Long caseNum;
+	/** 案例分值 */
+	@ApiModelProperty("案例分值")
+	private BigDecimal caseScore;
+	/** 总分 */
+	@ApiModelProperty("总分")
+	private BigDecimal totalScore;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 练习类型 1普通练习 2试卷练习 3真题 */
+	@ApiModelProperty("练习类型 1普通练习 2试卷练习 3真题")
+	private Long typeId;
+	/** 教师ID拼接,用,拼接 */
+	@ApiModelProperty("教师ID拼接,用,拼接")
+	private String teacherIds;
+
+}

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionAddBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库小节添加对象 question_bank_section
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库小节添加对象")
+public class QuestionBankSectionAddBo {
+
+    /** 题库大章ID */
+    @ApiModelProperty("题库大章ID")
+    private Long bankChapterId;
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+    /** 添加时间 */
+    @ApiModelProperty("添加时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionEditBo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 题库小节编辑对象 question_bank_section
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库小节编辑对象")
+public class QuestionBankSectionEditBo {
+
+
+    /** 题库节ID */
+    @ApiModelProperty("题库节ID")
+    private Long bankSectionId;
+
+    /** 题库大章ID */
+    @ApiModelProperty("题库大章ID")
+    private Long bankChapterId;
+
+    /** 名称 */
+    @ApiModelProperty("名称")
+    private String name;
+
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    @ApiModelProperty("状态 1正常 0关闭")
+    private Integer status;
+
+    /** 排序 */
+    @ApiModelProperty("排序")
+    private Long sort;
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/QuestionBankSectionQueryBo.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.bank.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 题库小节分页查询对象 question_bank_section
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("题库小节分页查询对象")
+public class QuestionBankSectionQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 题库大章ID */
+	@ApiModelProperty("题库大章ID")
+	private Long bankChapterId;
+	/** 名称 */
+	@ApiModelProperty("名称")
+	private String name;
+	/** 状态 1正常 0关闭 */
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 排序 */
+	@ApiModelProperty("排序")
+	private Long sort;
+
+}

+ 102 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBank.java

@@ -0,0 +1,102 @@
+package com.zhongzheng.modules.bank.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 题库对象 question_bank
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("question_bank")
+public class QuestionBank implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** 题库ID */
+    @TableId(value = "bank_id")
+    private Long bankId;
+
+    /** 类目ID */
+    private Long categoryId;
+
+    /** 题库名称 */
+    private String bankName;
+
+    /** 价格 */
+    private BigDecimal price;
+
+    /** 开始时间 */
+    private Long startTime;
+
+    /** 结束时间 */
+    private Long endTime;
+
+    /** 封面地址 */
+    private String coverUrl;
+
+    /** 简介 */
+    private String introduction;
+
+    /** 合格分数 */
+    private BigDecimal passingScore;
+
+    /** 考试时间 单位(秒) */
+    private Long examTime;
+
+    /** 单选题数量 */
+    private Long singleChoiceNum;
+
+    /** 单选题分值 */
+    private BigDecimal singleChoiceScore;
+
+    /** 多选题数量 */
+    private Long multipleChoiceNum;
+
+    /** 多选题分值 */
+    private BigDecimal multipleChoiceScore;
+
+    /** 判断题数量 */
+    private Long judgmentNum;
+
+    /** 判断题分值 */
+    private BigDecimal judgmentScore;
+
+    /** 案例数量 */
+    private Long caseNum;
+
+    /** 案例分值 */
+    private BigDecimal caseScore;
+
+    /** 总分 */
+    private BigDecimal totalScore;
+
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    private Integer status;
+
+    /** 练习类型 1普通练习 2试卷练习 3真题 */
+    private Long typeId;
+
+    /** 教师ID拼接,用,拼接 */
+    private String teacherIds;
+
+}

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankChapter.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.bank.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 题库大章对象 question_bank_chapter
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("question_bank_chapter")
+public class QuestionBankChapter implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** 题库章ID */
+    @TableId(value = "bank_chapter_id")
+    private Long bankChapterId;
+
+    /** 题库ID */
+    private Long bankId;
+
+    /** 名称 */
+    private String name;
+
+    /** 排序 */
+    private Long sort;
+
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    private Integer status;
+
+}

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankExam.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.bank.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 题库试卷对象 question_bank_exam
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("question_bank_exam")
+public class QuestionBankExam implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** 题库试卷ID */
+    @TableId(value = "exam_id")
+    private Long examId;
+
+    /** 题库ID */
+    private Long bankId;
+
+    /** 名称 */
+    private String name;
+
+    /** 排序 */
+    private Long sort;
+
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    private Integer status;
+
+}

+ 51 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBankSection.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.modules.bank.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 题库小节对象 question_bank_section
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("question_bank_section")
+public class QuestionBankSection implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** 题库节ID */
+    @TableId(value = "bank_section_id")
+    private Long bankSectionId;
+
+    /** 题库大章ID */
+    private Long bankChapterId;
+
+    /** 名称 */
+    private String name;
+
+    /** 添加时间 */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+
+    /** 修改时间 */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+    /** 状态 1正常 0关闭 */
+    private Integer status;
+
+    /** 排序 */
+    private Long sort;
+
+}

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankChapterMapper.java

@@ -0,0 +1,15 @@
+package com.zhongzheng.modules.bank.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.bank.domain.QuestionBankChapter;
+
+/**
+ * 题库大章Mapper接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface QuestionBankChapterMapper extends BaseMapper<QuestionBankChapter> {
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankExamMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.bank.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.bank.domain.QuestionBankExam;
+
+/**
+ * 题库试卷Mapper接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface QuestionBankExamMapper extends BaseMapper<QuestionBankExam> {
+
+}

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankMapper.java

@@ -0,0 +1,15 @@
+package com.zhongzheng.modules.bank.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.bank.domain.QuestionBank;
+
+/**
+ * 题库Mapper接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface QuestionBankMapper extends BaseMapper<QuestionBank> {
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionBankSectionMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.bank.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.bank.domain.QuestionBankSection;
+
+/**
+ * 题库小节Mapper接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface QuestionBankSectionMapper extends BaseMapper<QuestionBankSection> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankChapterService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.bank.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankChapter;
+import com.zhongzheng.modules.bank.vo.QuestionBankChapterVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 题库大章Service接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface IQuestionBankChapterService extends IService<QuestionBankChapter> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	QuestionBankChapterVo queryById(Long bankChapterId);
+
+	/**
+	 * 查询列表
+	 */
+	List<QuestionBankChapterVo> queryList(QuestionBankChapterQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入题库大章
+	 * @param bo 题库大章新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(QuestionBankChapterAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改题库大章
+	 * @param bo 题库大章编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(QuestionBankChapterEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankExamService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.bank.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankExam;
+import com.zhongzheng.modules.bank.vo.QuestionBankExamVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 题库试卷Service接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface IQuestionBankExamService extends IService<QuestionBankExam> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	QuestionBankExamVo queryById(Long examId);
+
+	/**
+	 * 查询列表
+	 */
+	List<QuestionBankExamVo> queryList(QuestionBankExamQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入题库试卷
+	 * @param bo 题库试卷新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(QuestionBankExamAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改题库试卷
+	 * @param bo 题库试卷编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(QuestionBankExamEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 53 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankSectionService.java

@@ -0,0 +1,53 @@
+package com.zhongzheng.modules.bank.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankSection;
+import com.zhongzheng.modules.bank.vo.QuestionBankSectionVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 题库小节Service接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface IQuestionBankSectionService extends IService<QuestionBankSection> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	QuestionBankSectionVo queryById(Long bankSectionId);
+
+	/**
+	 * 查询列表
+	 */
+	List<QuestionBankSectionVo> queryList(QuestionBankSectionQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入题库小节
+	 * @param bo 题库小节新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(QuestionBankSectionAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改题库小节
+	 * @param bo 题库小节编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(QuestionBankSectionEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 53 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionBankService.java

@@ -0,0 +1,53 @@
+package com.zhongzheng.modules.bank.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.bank.bo.QuestionBankAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBank;
+import com.zhongzheng.modules.bank.vo.QuestionBankVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 题库Service接口
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+public interface IQuestionBankService extends IService<QuestionBank> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	QuestionBankVo queryById(Long bankId);
+
+	/**
+	 * 查询列表
+	 */
+	List<QuestionBankVo> queryList(QuestionBankQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入题库
+	 * @param bo 题库新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(QuestionBankAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改题库
+	 * @param bo 题库编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(QuestionBankEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 98 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankChapterServiceImpl.java

@@ -0,0 +1,98 @@
+package com.zhongzheng.modules.bank.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankChapterQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankChapter;
+import com.zhongzheng.modules.bank.mapper.QuestionBankChapterMapper;
+import com.zhongzheng.modules.bank.service.IQuestionBankChapterService;
+import com.zhongzheng.modules.bank.vo.QuestionBankChapterVo;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 题库大章Service业务层处理
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Service
+public class QuestionBankChapterServiceImpl extends ServiceImpl<QuestionBankChapterMapper, QuestionBankChapter> implements IQuestionBankChapterService {
+
+    @Override
+    public QuestionBankChapterVo queryById(Long bankChapterId){
+        QuestionBankChapter db = this.baseMapper.selectById(bankChapterId);
+        return BeanUtil.toBean(db, QuestionBankChapterVo.class);
+    }
+
+    @Override
+    public List<QuestionBankChapterVo> queryList(QuestionBankChapterQueryBo bo) {
+        LambdaQueryWrapper<QuestionBankChapter> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getBankId() != null, QuestionBankChapter::getBankId, bo.getBankId());
+        lqw.like(StrUtil.isNotBlank(bo.getName()), QuestionBankChapter::getName, bo.getName());
+        lqw.eq(bo.getSort() != null, QuestionBankChapter::getSort, bo.getSort());
+        lqw.eq(bo.getStatus() != null, QuestionBankChapter::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<QuestionBankChapterVo> entity2Vo(Collection<QuestionBankChapter> collection) {
+        List<QuestionBankChapterVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, QuestionBankChapterVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<QuestionBankChapter> page = (Page<QuestionBankChapter>)collection;
+            Page<QuestionBankChapterVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(QuestionBankChapterAddBo bo) {
+        QuestionBankChapter add = BeanUtil.toBean(bo, QuestionBankChapter.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(QuestionBankChapterEditBo bo) {
+        QuestionBankChapter update = BeanUtil.toBean(bo, QuestionBankChapter.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(QuestionBankChapter entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 99 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankExamServiceImpl.java

@@ -0,0 +1,99 @@
+package com.zhongzheng.modules.bank.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankExamQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankExam;
+import com.zhongzheng.modules.bank.mapper.QuestionBankExamMapper;
+import com.zhongzheng.modules.bank.service.IQuestionBankExamService;
+import com.zhongzheng.modules.bank.vo.QuestionBankExamVo;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 题库试卷Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-05-20
+ */
+@Service
+public class QuestionBankExamServiceImpl extends ServiceImpl<QuestionBankExamMapper, QuestionBankExam> implements IQuestionBankExamService {
+
+    @Override
+    public QuestionBankExamVo queryById(Long examId){
+        QuestionBankExam db = this.baseMapper.selectById(examId);
+        return BeanUtil.toBean(db, QuestionBankExamVo.class);
+    }
+
+    @Override
+    public List<QuestionBankExamVo> queryList(QuestionBankExamQueryBo bo) {
+        LambdaQueryWrapper<QuestionBankExam> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getBankId() != null, QuestionBankExam::getBankId, bo.getBankId());
+        lqw.like(StrUtil.isNotBlank(bo.getName()), QuestionBankExam::getName, bo.getName());
+        lqw.eq(bo.getSort() != null, QuestionBankExam::getSort, bo.getSort());
+        lqw.eq(bo.getStatus() != null, QuestionBankExam::getStatus, bo.getStatus());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<QuestionBankExamVo> entity2Vo(Collection<QuestionBankExam> collection) {
+        List<QuestionBankExamVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, QuestionBankExamVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<QuestionBankExam> page = (Page<QuestionBankExam>)collection;
+            Page<QuestionBankExamVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(QuestionBankExamAddBo bo) {
+        QuestionBankExam add = BeanUtil.toBean(bo, QuestionBankExam.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(QuestionBankExamEditBo bo) {
+        QuestionBankExam update = BeanUtil.toBean(bo, QuestionBankExam.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(QuestionBankExam entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 98 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankSectionServiceImpl.java

@@ -0,0 +1,98 @@
+package com.zhongzheng.modules.bank.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankSectionQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBankSection;
+import com.zhongzheng.modules.bank.mapper.QuestionBankSectionMapper;
+import com.zhongzheng.modules.bank.service.IQuestionBankSectionService;
+import com.zhongzheng.modules.bank.vo.QuestionBankSectionVo;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 题库小节Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-05-20
+ */
+@Service
+public class QuestionBankSectionServiceImpl extends ServiceImpl<QuestionBankSectionMapper, QuestionBankSection> implements IQuestionBankSectionService {
+
+    @Override
+    public QuestionBankSectionVo queryById(Long bankSectionId){
+        QuestionBankSection db = this.baseMapper.selectById(bankSectionId);
+        return BeanUtil.toBean(db, QuestionBankSectionVo.class);
+    }
+
+    @Override
+    public List<QuestionBankSectionVo> queryList(QuestionBankSectionQueryBo bo) {
+        LambdaQueryWrapper<QuestionBankSection> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getBankChapterId() != null, QuestionBankSection::getBankChapterId, bo.getBankChapterId());
+        lqw.like(StrUtil.isNotBlank(bo.getName()), QuestionBankSection::getName, bo.getName());
+        lqw.eq(bo.getStatus() != null, QuestionBankSection::getStatus, bo.getStatus());
+        lqw.eq(bo.getSort() != null, QuestionBankSection::getSort, bo.getSort());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<QuestionBankSectionVo> entity2Vo(Collection<QuestionBankSection> collection) {
+        List<QuestionBankSectionVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, QuestionBankSectionVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<QuestionBankSection> page = (Page<QuestionBankSection>)collection;
+            Page<QuestionBankSectionVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(QuestionBankSectionAddBo bo) {
+        QuestionBankSection add = BeanUtil.toBean(bo, QuestionBankSection.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(QuestionBankSectionEditBo bo) {
+        QuestionBankSection update = BeanUtil.toBean(bo, QuestionBankSection.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(QuestionBankSection entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 114 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionBankServiceImpl.java

@@ -0,0 +1,114 @@
+package com.zhongzheng.modules.bank.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.bank.bo.QuestionBankAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionBankQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBank;
+import com.zhongzheng.modules.bank.mapper.QuestionBankMapper;
+import com.zhongzheng.modules.bank.service.IQuestionBankService;
+import com.zhongzheng.modules.bank.vo.QuestionBankVo;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 题库Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-05-20
+ */
+@Service
+public class QuestionBankServiceImpl extends ServiceImpl<QuestionBankMapper, QuestionBank> implements IQuestionBankService {
+
+    @Override
+    public QuestionBankVo queryById(Long bankId){
+        QuestionBank db = this.baseMapper.selectById(bankId);
+        return BeanUtil.toBean(db, QuestionBankVo.class);
+    }
+
+    @Override
+    public List<QuestionBankVo> queryList(QuestionBankQueryBo bo) {
+        LambdaQueryWrapper<QuestionBank> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getCategoryId() != null, QuestionBank::getCategoryId, bo.getCategoryId());
+        lqw.like(StrUtil.isNotBlank(bo.getBankName()), QuestionBank::getBankName, bo.getBankName());
+        lqw.eq(bo.getPrice() != null, QuestionBank::getPrice, bo.getPrice());
+        lqw.eq(bo.getStartTime() != null, QuestionBank::getStartTime, bo.getStartTime());
+        lqw.eq(bo.getEndTime() != null, QuestionBank::getEndTime, bo.getEndTime());
+        lqw.eq(StrUtil.isNotBlank(bo.getCoverUrl()), QuestionBank::getCoverUrl, bo.getCoverUrl());
+        lqw.eq(StrUtil.isNotBlank(bo.getIntroduction()), QuestionBank::getIntroduction, bo.getIntroduction());
+        lqw.eq(bo.getPassingScore() != null, QuestionBank::getPassingScore, bo.getPassingScore());
+        lqw.eq(bo.getExamTime() != null, QuestionBank::getExamTime, bo.getExamTime());
+        lqw.eq(bo.getSingleChoiceNum() != null, QuestionBank::getSingleChoiceNum, bo.getSingleChoiceNum());
+        lqw.eq(bo.getSingleChoiceScore() != null, QuestionBank::getSingleChoiceScore, bo.getSingleChoiceScore());
+        lqw.eq(bo.getMultipleChoiceNum() != null, QuestionBank::getMultipleChoiceNum, bo.getMultipleChoiceNum());
+        lqw.eq(bo.getMultipleChoiceScore() != null, QuestionBank::getMultipleChoiceScore, bo.getMultipleChoiceScore());
+        lqw.eq(bo.getJudgmentNum() != null, QuestionBank::getJudgmentNum, bo.getJudgmentNum());
+        lqw.eq(bo.getJudgmentScore() != null, QuestionBank::getJudgmentScore, bo.getJudgmentScore());
+        lqw.eq(bo.getCaseNum() != null, QuestionBank::getCaseNum, bo.getCaseNum());
+        lqw.eq(bo.getCaseScore() != null, QuestionBank::getCaseScore, bo.getCaseScore());
+        lqw.eq(bo.getTotalScore() != null, QuestionBank::getTotalScore, bo.getTotalScore());
+        lqw.eq(bo.getStatus() != null, QuestionBank::getStatus, bo.getStatus());
+        lqw.eq(bo.getTypeId() != null, QuestionBank::getTypeId, bo.getTypeId());
+        lqw.eq(StrUtil.isNotBlank(bo.getTeacherIds()), QuestionBank::getTeacherIds, bo.getTeacherIds());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<QuestionBankVo> entity2Vo(Collection<QuestionBank> collection) {
+        List<QuestionBankVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, QuestionBankVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<QuestionBank> page = (Page<QuestionBank>)collection;
+            Page<QuestionBankVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(QuestionBankAddBo bo) {
+        QuestionBank add = BeanUtil.toBean(bo, QuestionBank.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(QuestionBankEditBo bo) {
+        QuestionBank update = BeanUtil.toBean(bo, QuestionBank.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(QuestionBank entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankChapterVo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库大章视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库大章视图对象")
+public class QuestionBankChapterVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 题库章ID */
+	@ApiModelProperty("题库章ID")
+	private Long bankChapterId;
+
+	/** 题库ID */
+	@Excel(name = "题库ID")
+	@ApiModelProperty("题库ID")
+	private Long bankId;
+	/** 名称 */
+	@Excel(name = "名称")
+	@ApiModelProperty("名称")
+	private String name;
+	/** 排序 */
+	@Excel(name = "排序")
+	@ApiModelProperty("排序")
+	private Long sort;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankExamVo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库试卷视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库试卷视图对象")
+public class QuestionBankExamVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 题库试卷ID */
+	@ApiModelProperty("题库试卷ID")
+	private Long examId;
+
+	/** 题库ID */
+	@Excel(name = "题库ID")
+	@ApiModelProperty("题库ID")
+	private Long bankId;
+	/** 名称 */
+	@Excel(name = "名称")
+	@ApiModelProperty("名称")
+	private String name;
+	/** 排序 */
+	@Excel(name = "排序")
+	@ApiModelProperty("排序")
+	private Long sort;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+
+}

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankSectionVo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.bank.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库小节视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库小节视图对象")
+public class QuestionBankSectionVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 题库节ID */
+	@ApiModelProperty("题库节ID")
+	private Long bankSectionId;
+
+	/** 题库大章ID */
+	@Excel(name = "题库大章ID")
+	@ApiModelProperty("题库大章ID")
+	private Long bankChapterId;
+	/** 名称 */
+	@Excel(name = "名称")
+	@ApiModelProperty("名称")
+	private String name;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 排序 */
+	@Excel(name = "排序")
+	@ApiModelProperty("排序")
+	private Long sort;
+
+}

+ 113 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/QuestionBankVo.java

@@ -0,0 +1,113 @@
+package com.zhongzheng.modules.bank.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 题库视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-05-20
+ */
+@Data
+@ApiModel("题库视图对象")
+public class QuestionBankVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 题库ID */
+	@ApiModelProperty("题库ID")
+	private Long bankId;
+
+	/** 类目ID */
+	@Excel(name = "类目ID")
+	@ApiModelProperty("类目ID")
+	private Long categoryId;
+	/** 题库名称 */
+	@Excel(name = "题库名称")
+	@ApiModelProperty("题库名称")
+	private String bankName;
+	/** 价格 */
+	@Excel(name = "价格")
+	@ApiModelProperty("价格")
+	private BigDecimal price;
+	/** 开始时间 */
+	@Excel(name = "开始时间")
+	@ApiModelProperty("开始时间")
+	private Long startTime;
+	/** 结束时间 */
+	@Excel(name = "结束时间")
+	@ApiModelProperty("结束时间")
+	private Long endTime;
+	/** 封面地址 */
+	@Excel(name = "封面地址")
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+	/** 简介 */
+	@Excel(name = "简介")
+	@ApiModelProperty("简介")
+	private String introduction;
+	/** 合格分数 */
+	@Excel(name = "合格分数")
+	@ApiModelProperty("合格分数")
+	private BigDecimal passingScore;
+	/** 考试时间 单位(秒) */
+	@Excel(name = "考试时间 单位" , readConverterExp = "秒=")
+	@ApiModelProperty("考试时间 单位(秒)")
+	private Long examTime;
+	/** 单选题数量 */
+	@Excel(name = "单选题数量")
+	@ApiModelProperty("单选题数量")
+	private Long singleChoiceNum;
+	/** 单选题分值 */
+	@Excel(name = "单选题分值")
+	@ApiModelProperty("单选题分值")
+	private BigDecimal singleChoiceScore;
+	/** 多选题数量 */
+	@Excel(name = "多选题数量")
+	@ApiModelProperty("多选题数量")
+	private Long multipleChoiceNum;
+	/** 多选题分值 */
+	@Excel(name = "多选题分值")
+	@ApiModelProperty("多选题分值")
+	private BigDecimal multipleChoiceScore;
+	/** 判断题数量 */
+	@Excel(name = "判断题数量")
+	@ApiModelProperty("判断题数量")
+	private Long judgmentNum;
+	/** 判断题分值 */
+	@Excel(name = "判断题分值")
+	@ApiModelProperty("判断题分值")
+	private BigDecimal judgmentScore;
+	/** 案例数量 */
+	@Excel(name = "案例数量")
+	@ApiModelProperty("案例数量")
+	private Long caseNum;
+	/** 案例分值 */
+	@Excel(name = "案例分值")
+	@ApiModelProperty("案例分值")
+	private BigDecimal caseScore;
+	/** 总分 */
+	@Excel(name = "总分")
+	@ApiModelProperty("总分")
+	private BigDecimal totalScore;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 练习类型 1普通练习 2试卷练习 3真题 */
+	@Excel(name = "练习类型 1普通练习 2试卷练习 3真题")
+	@ApiModelProperty("练习类型 1普通练习 2试卷练习 3真题")
+	private Long typeId;
+	/** 教师ID拼接,用,拼接 */
+	@Excel(name = "教师ID拼接,用,拼接")
+	@ApiModelProperty("教师ID拼接,用,拼接")
+	private String teacherIds;
+
+}

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankChapterMapper.xml

@@ -0,0 +1,18 @@
+<?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.zhongzheng.modules.bank.mapper.QuestionBankChapterMapper">
+
+    <resultMap type="com.zhongzheng.modules.bank.domain.QuestionBankChapter" id="QuestionBankChapterResult">
+        <result property="bankChapterId" column="bank_chapter_id"/>
+        <result property="bankId" column="bank_id"/>
+        <result property="name" column="name"/>
+        <result property="sort" column="sort"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+    </resultMap>
+
+
+</mapper>

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankExamMapper.xml

@@ -0,0 +1,18 @@
+<?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.zhongzheng.modules.bank.mapper.QuestionBankExamMapper">
+
+    <resultMap type="com.zhongzheng.modules.bank.domain.QuestionBankExam" id="QuestionBankExamResult">
+        <result property="examId" column="exam_id"/>
+        <result property="bankId" column="bank_id"/>
+        <result property="name" column="name"/>
+        <result property="sort" column="sort"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+    </resultMap>
+
+
+</mapper>

+ 35 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankMapper.xml

@@ -0,0 +1,35 @@
+<?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.zhongzheng.modules.bank.mapper.QuestionBankMapper">
+
+    <resultMap type="com.zhongzheng.modules.bank.domain.QuestionBank" id="QuestionBankResult">
+        <result property="bankId" column="bank_id"/>
+        <result property="categoryId" column="category_id"/>
+        <result property="bankName" column="bank_name"/>
+        <result property="price" column="price"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="introduction" column="introduction"/>
+        <result property="passingScore" column="passing_score"/>
+        <result property="examTime" column="exam_time"/>
+        <result property="singleChoiceNum" column="single_choice_num"/>
+        <result property="singleChoiceScore" column="single_choice_score"/>
+        <result property="multipleChoiceNum" column="multiple_choice_num"/>
+        <result property="multipleChoiceScore" column="multiple_choice_score"/>
+        <result property="judgmentNum" column="judgment_num"/>
+        <result property="judgmentScore" column="judgment_score"/>
+        <result property="caseNum" column="case_num"/>
+        <result property="caseScore" column="case_score"/>
+        <result property="totalScore" column="total_score"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+        <result property="typeId" column="type_id"/>
+        <result property="teacherIds" column="teacher_ids"/>
+    </resultMap>
+
+
+</mapper>

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionBankSectionMapper.xml

@@ -0,0 +1,18 @@
+<?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.zhongzheng.modules.bank.mapper.QuestionBankSectionMapper">
+
+    <resultMap type="com.zhongzheng.modules.bank.domain.QuestionBankSection" id="QuestionBankSectionResult">
+        <result property="bankSectionId" column="bank_section_id"/>
+        <result property="bankChapterId" column="bank_chapter_id"/>
+        <result property="name" column="name"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+        <result property="sort" column="sort"/>
+    </resultMap>
+
+
+</mapper>