Browse Source

日常题库上面再加一层进行分组

master
蟑螂恶霸 3 years ago
parent
commit
179ea61932
  1. 3
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml
  2. 1
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/add.html
  3. 16
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/view.html
  4. 35
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/add.html
  5. 29
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/detail.html
  6. 36
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/edit.html
  7. 208
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/view.html
  8. 7
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionBankController.java
  9. 141
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionLibraryController.java
  10. 11
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionBank.java
  11. 91
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionLibrary.java
  12. 70
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/QuestionLibraryMapper.java
  13. 68
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/IQuestionLibraryService.java
  14. 107
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/QuestionLibraryServiceImpl.java
  15. 17
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionBankMapper.xml
  16. 114
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionLibraryMapper.xml
  17. 11
      lib/EmergencyServiceApi/emergencyKnowledgeServiceApi/src/main/java/com/zdxt/knowledge/dto/QuestionBankBean.java

3
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml

@ -10,8 +10,7 @@ ruoyi:
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
# profile: E:/ruoyi/uploadPath
# profile: /Users/kylin_stone/Workspaces/uploads
profile: /Users/yan/upload
profile: /Users/kylin_stone/Workspaces/uploads
# 获取ip地址开关
addressEnabled: true

1
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/add.html

@ -9,6 +9,7 @@
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-item-add">
<input id="questionLibId" name="questionLibId" th:value="${questionLibId}" class="form-control" type="hidden">
<div class="form-group">
<label class="col-sm-2 control-label is-required">标题:</label>
<div class="col-sm-10">

16
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/question/view.html

@ -9,6 +9,7 @@
<div class="col-sm-12 search-collapse">
<form id="post-form">
<div class="select-list">
<input id="questionLibId" name="questionLibId" th:value="${questionLibId}" class="form-control" type="hidden">
<ul>
<li>
标题:<input type="text" name="title" placeholder="请输入标题"/>
@ -23,7 +24,7 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="banner:manage:add">
<a class="btn btn-success" onclick="toAdd()" shiro:hasPermission="banner:manage:add">
<i class="fa fa-plus"></i> 新增
</a>
<a class="btn btn-danger multiple disabled" onclick="removeAll()" shiro:hasPermission="small:question:remove">
@ -59,11 +60,12 @@
function initTable() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
createUrl: prefix + "/add/{id}",
updateUrl: prefix + "/edit/{id}",
detailUrl: prefix + "/detail/{id}",
removeUrl: prefix + "/remove",
importUrl: prefix + "/importData",
queryParams: queryParams,
sortName: "srot",
modalName: "知识点",
uniqueId:"guid",
@ -150,6 +152,12 @@
$.table.init(options);
}
function queryParams(params) {
var search = $.table.queryParams(params);
search.questionLibId = $("#questionLibId").val();
return search;
}
/** 发布 */
function toPublishState(key, state) {
$.ajax({
@ -195,6 +203,10 @@
}
}
function toAdd() {
$.operate.add($("#questionLibId").val());
}
function removeAll() {
var ids = "";
var isRemove = true;

35
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/add.html

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="zdxtInclude :: header('新增题库')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-item-add">
<div class="form-group">
<label class="col-sm-2 control-label is-required">名称:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="title" id="title" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">描述:</label>
<div class="col-sm-10">
<textarea name="desc" id="desc" class="form-control" type="text" style="height: 500px;"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="zdxtInclude :: footer" />
<script type="text/javascript">
var prefix = ctx + "small/questionLib";
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-item-add').serialize());
}
}
</script>
</body>
</html>

29
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/detail.html

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="zdxtInclude :: header('新增题库')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-item-add" th:object="${questionLibrary}">
<input id="guid" name="guid" th:value="${questionLibrary.guid}" class="form-control" type="hidden">
<div class="form-group">
<label class="col-sm-2 control-label is-required">名称:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="title" id="title" th:field="*{title}" disabled required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">描述:</label>
<div class="col-sm-10">
<textarea name="desc" id="desc" class="form-control" type="text" th:field="*{desc}" disabled style="height: 500px;"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="zdxtInclude :: footer" />
<script type="text/javascript">
</script>
</body>
</html>

36
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/edit.html

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="zdxtInclude :: header('新增题库')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-item-add" th:object="${questionLibrary}">
<input id="guid" name="guid" th:value="${questionLibrary.guid}" class="form-control" type="hidden">
<div class="form-group">
<label class="col-sm-2 control-label is-required">名称:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="title" id="title" th:field="*{title}" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">描述:</label>
<div class="col-sm-10">
<textarea name="desc" id="desc" class="form-control" type="text" th:field="*{desc}" style="height: 500px;"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="zdxtInclude :: footer" />
<script type="text/javascript">
var prefix = ctx + "small/questionLib";
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-item-add').serialize());
}
}
</script>
</body>
</html>

208
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/smallProgram/questionLib/view.html

@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="zdxtInclude :: header('题库列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="post-form">
<div class="select-list">
<ul>
<li>
标题:<input type="text" name="title" placeholder="请输入标题"/>
</li>
<li>
<a class="btn btn-success btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-reset btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="small:questionLib:add">
<i class="fa fa-plus"></i> 新增
</a>
<a class="btn btn-danger multiple disabled" onclick="removeAll()" shiro:hasPermission="small:questionLib:remove">
<i class="fa fa-remove"></i> 全部删除
</a>
<a class="btn btn-success" onclick="publishState(1)" shiro:hasPermission="small:questionLib:edit">
<i class="fa fa-plus"></i> 发布
</a>
<a class="btn btn-success" onclick="publishState(3)" shiro:hasPermission="small:questionLib:edit">
<i class="fa fa-plus"></i> 下线
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="zdxtInclude :: footer"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('small:questionLib:edit')}]];
var removeFlag = [[${@permission.hasPermi('small:questionLib:remove')}]];
var publishStates = [[${@dict.getType('publish_state')}]];
var prefix = ctx + "small/questionLib";
$(function () {
initTable();
});
function initTable() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
detailUrl: prefix + "/detail/{id}",
removeUrl: prefix + "/remove",
importUrl: prefix + "/importData",
sortName: "srot",
modalName: "知识点",
uniqueId:"guid",
columns: [{
checkbox: true
},
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return $.table.serialNumber(index);
}
},
{
field: 'guid',
title: '主键',
visible: false
},
{
field: 'title',
title: '标题'
},
{
field : 'status',
title : '状态',
visible: false,
formatter : function (value, row, index) {
return $.table.selectDictLabel(statuss, value);
}
},
{
field: 'creator',
title: '创建人',
align: 'center',
},
{
field: 'createTime',
title: '创建时间',
align: 'center',
sortable: true
},
{
field: 'publishdate',
title: '发布时间',
align: 'center',
sortable: true
},
{
field: 'publishstate',
title: '发布状态',
align: 'center',
formatter: function (value, row, index) {
return $.table.selectDictLabel(publishStates, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 详情</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="toBanks(\'' + row.guid + '\')"><i class="fa fa-list-ul"></i> 列表</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
}
/** 发布 */
function toPublishState(key, state) {
$.ajax({
type: "POST",
url: prefix + "/toPublishState",
data: {guid:key,publishstate:state},
dataType: 'json',
success: function (result) {
console.log(result);
$.table.refresh();
},
error: function (error) {
$.modal.alertWarning("操作失败");
}
});
}
/*字典列表-详细*/
function toBanks(key) {
var url = prefix + '/toBanks/' + key;
$.modal.openTab("题目", url);
}
/** 批量发布/下线 */
function publishState(state) {
var ids = "";
var isRemove = true;
var row = $("#" + table.options.id).bootstrapTable('getSelections');
for (var i=0; i<row.length; i++) {
if (row[i].publishstate == 0 && state == 3) {
$.modal.msgWarning("所选存在未发布数据, 无法执行下线操作!");
isRemove = false;
return;
}
if (state == 1 && row[i].publishstate == 1) {
} else {
ids += row[i].guid +",";
}
}
if (isRemove && ids.length>0) {
$.modal.confirm("确定执行【所选数据】吗?", function() {
$.operate.submit(prefix+"/toPublishState", "post", "json", {ids: ids, state: state}, function(result) {
$.table.search();
})
});
} else {
$.modal.msgWarning("没有需要执行的数据!");
return;
}
}
function removeAll() {
var ids = "";
var isRemove = true;
var row = $("#" + table.options.id).bootstrapTable('getSelections');
for (var i=0; i<row.length; i++) {
if (row[i].publishstate == 1) {
$.modal.msgWarning("所选存在已发布数据, 无法执行删除操作!");
isRemove = false;
return;
}
ids += row[i].guid +",";
}
if (isRemove) {
$.modal.confirm("确定删除【所选数据】吗?", function() {
$.operate.submit(prefix+"/remove", "post", "json", {ids: ids}, function(result) {
$.table.search();
})
});
}
}
</script>
</body>
</html>

7
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionBankController.java

@ -64,9 +64,10 @@ public class QuestionBankController extends BaseController
/**
* 新增题库
*/
@GetMapping("/add")
public String add()
@GetMapping("/add/{key}")
public String add(@PathVariable("key") String key, ModelMap mmap)
{
mmap.put("questionLibId", key);
return prefix + "/add";
}
@ -139,7 +140,7 @@ public class QuestionBankController extends BaseController
/**
* 修改发布状态
*/
@RequiresPermissions("small:library:edit")
@RequiresPermissions("small:question:edit")
@PostMapping("/toPublishState")
@ResponseBody
public ZDResponse toPublishState(String ids, String state)

141
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionLibraryController.java

@ -0,0 +1,141 @@
package com.zdxt.knowledge.controller;
import java.util.List;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.domain.QuestionLibrary;
import com.zdxt.knowledge.service.IQuestionLibraryService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 题库Controller
*
* @author ruoyi
* @date 2024-01-04
*/
@Controller
@RequestMapping("/small/questionLib")
public class QuestionLibraryController extends BaseController
{
private String prefix = "project/smallProgram/questionLib";
@Autowired
private IQuestionLibraryService questionLibraryService;
@RequiresPermissions("small:questionLib:view")
@GetMapping()
public String library()
{
return prefix + "/view";
}
/**
* 查询题库列表
*/
@RequiresPermissions("small:questionLib:view")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(QuestionLibrary questionLibrary)
{
startPage();
List<QuestionLibrary> list = questionLibraryService.selectQuestionLibraryList(questionLibrary);
return getDataTable(list);
}
/**
* 题库详情
*/
@GetMapping("/detail/{guid}")
public String detail(@PathVariable("guid") String guid, ModelMap mmap)
{
QuestionLibrary questionLibrary = questionLibraryService.selectQuestionLibraryById(guid);
mmap.put("questionLibrary", questionLibrary);
return prefix + "/detail";
}
/**
* 新增题库
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存题库
*/
@RequiresPermissions("small:questionLib:add")
@PostMapping("/add")
@ResponseBody
public ZDResponse addSave(QuestionLibrary questionLibrary)
{
int resNum = questionLibraryService.insertQuestionLibrary(questionLibrary);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
}
/**
* 修改题库
*/
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap)
{
QuestionLibrary questionLibrary = questionLibraryService.selectQuestionLibraryById(guid);
mmap.put("questionLibrary", questionLibrary);
return prefix + "/edit";
}
/**
* 修改保存题库
*/
@RequiresPermissions("small:questionLib:edit")
@PostMapping("/edit")
@ResponseBody
public ZDResponse editSave(QuestionLibrary questionLibrary)
{
int resNum = questionLibraryService.updateQuestionLibrary(questionLibrary);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
}
/**
* 删除题库
*/
@RequiresPermissions("small:questionLib:remove")
@PostMapping( "/remove")
@ResponseBody
public ZDResponse remove(String ids)
{
int resNum = questionLibraryService.deleteQuestionLibraryByIds(ids);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
}
/**
* 修改发布状态
*/
@RequiresPermissions("small:library:edit")
@PostMapping("/toPublishState")
@ResponseBody
public ZDResponse toPublishState(String ids, String state)
{
int resNum = questionLibraryService.updatePublishState(ids, state);
return resNum>0?ZDResponse.success("操作成功", resNum):ZDResponse.error("操作失败", resNum);
}
@RequiresPermissions("small:library:view")
@GetMapping("/toBanks/{key}")
public String toBanks(@PathVariable("key") String key, ModelMap mmap)
{
mmap.put("questionLibId", key);
return "project/smallProgram/question/view";
}
}

11
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionBank.java

@ -15,6 +15,9 @@ public class QuestionBank extends BaseDomain
/** 主键 */
private String guid;
/** 关联库id */
private String questionLibId;
/** 标题 */
private String title;
@ -50,6 +53,14 @@ public class QuestionBank extends BaseDomain
this.guid = guid;
}
public String getQuestionLibId() {
return questionLibId;
}
public void setQuestionLibId(String questionLibId) {
this.questionLibId = questionLibId;
}
public String getTitle() {
return title;
}

91
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/QuestionLibrary.java

@ -0,0 +1,91 @@
package com.zdxt.knowledge.domain;
import com.zdxt.common.BaseDomain;
/**
* 题库对象 question_library
*
* @author ruoyi
* @date 2024-01-04
*/
public class QuestionLibrary extends BaseDomain
{
private static final long serialVersionUID = 1L;
/** 主键 */
private String guid;
/** 标题 */
private String title;
/** 描述 */
private String desc;
/** 排序 */
private Long srot;
/** 状态(0:正常,1:停用) */
private Integer status;
/** 发布时间 */
private String publishdate;
/** 发布状态(0:待发布,1:已发布,2:已上线,3:已下线) */
private Integer publishstate;
public String getGuid() {
return guid;
}
public void setGuid(String guid) {
this.guid = guid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Long getSrot() {
return srot;
}
public void setSrot(Long srot) {
this.srot = srot;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getPublishdate() {
return publishdate;
}
public void setPublishdate(String publishdate) {
this.publishdate = publishdate;
}
public Integer getPublishstate() {
return publishstate;
}
public void setPublishstate(Integer publishstate) {
this.publishstate = publishstate;
}
}

70
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/mapper/QuestionLibraryMapper.java

@ -0,0 +1,70 @@
package com.zdxt.knowledge.mapper;
import com.zdxt.knowledge.domain.QuestionLibrary;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 题库Mapper接口
*
* @author ruoyi
* @date 2024-01-04
*/
public interface QuestionLibraryMapper
{
/**
* 查询题库
*
* @param guid 题库ID
* @return 题库
*/
public QuestionLibrary selectQuestionLibraryById(String guid);
/**
* 查询题库列表
*
* @param questionLibrary 题库
* @return 题库集合
*/
public List<QuestionLibrary> selectQuestionLibraryList(QuestionLibrary questionLibrary);
/**
* 新增题库
*
* @param questionLibrary 题库
* @return 结果
*/
public int insertQuestionLibrary(QuestionLibrary questionLibrary);
/**
* 修改题库
*
* @param questionLibrary 题库
* @return 结果
*/
public int updateQuestionLibrary(QuestionLibrary questionLibrary);
/**
* 删除题库
*
* @param guid 题库ID
* @return 结果
*/
public int deleteQuestionLibraryById(String guid);
/**
* 批量删除题库
*
* @param guids 需要删除的数据ID
* @return 结果
*/
public int deleteQuestionLibraryByIds(String[] guids);
/**
* 批量修改发布状态
* @param guids
* @return
*/
public int updatePublishState(@Param("guids") String[] guids, @Param("state") String state, @Param("publishdate") String publishdate);
}

68
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/IQuestionLibraryService.java

@ -0,0 +1,68 @@
package com.zdxt.knowledge.service;
import com.zdxt.knowledge.domain.QuestionLibrary;
import java.util.List;
/**
* 题库Service接口
*
* @author ruoyi
* @date 2024-01-04
*/
public interface IQuestionLibraryService
{
/**
* 查询题库
*
* @param guid 题库ID
* @return 题库
*/
public QuestionLibrary selectQuestionLibraryById(String guid);
/**
* 查询题库列表
*
* @param questionLibrary 题库
* @return 题库集合
*/
public List<QuestionLibrary> selectQuestionLibraryList(QuestionLibrary questionLibrary);
/**
* 新增题库
*
* @param questionLibrary 题库
* @return 结果
*/
public int insertQuestionLibrary(QuestionLibrary questionLibrary);
/**
* 修改题库
*
* @param questionLibrary 题库
* @return 结果
*/
public int updateQuestionLibrary(QuestionLibrary questionLibrary);
/**
* 批量删除题库
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteQuestionLibraryByIds(String ids);
/**
* 删除题库信息
*
* @param guid 题库ID
* @return 结果
*/
public int deleteQuestionLibraryById(String guid);
/**
* 批量修改发布状态
* @param ids
* @return
*/
public int updatePublishState(String ids, String state);
}

107
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/QuestionLibraryServiceImpl.java

@ -0,0 +1,107 @@
package com.zdxt.knowledge.service.impl;
import java.util.List;
import com.zdxt.auth.feign.UserApi;
import com.zdxt.common.util.Convert;
import com.zdxt.common.util.DateUtils;
import com.zdxt.common.util.StringUtils;
import com.zdxt.knowledge.domain.QuestionLibrary;
import com.zdxt.knowledge.mapper.QuestionLibraryMapper;
import com.zdxt.knowledge.service.IQuestionLibraryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 题库Service业务层处理
*
* @author ruoyi
* @date 2024-01-04
*/
@Service
public class QuestionLibraryServiceImpl implements IQuestionLibraryService
{
@Autowired private QuestionLibraryMapper questionLibraryMapper;
@Autowired private UserApi userApi;
/**
* 查询题库
*
* @param guid 题库ID
* @return 题库
*/
@Override
public QuestionLibrary selectQuestionLibraryById(String guid)
{
return questionLibraryMapper.selectQuestionLibraryById(guid);
}
/**
* 查询题库列表
*
* @param questionLibrary 题库
* @return 题库
*/
@Override
public List<QuestionLibrary> selectQuestionLibraryList(QuestionLibrary questionLibrary)
{
return questionLibraryMapper.selectQuestionLibraryList(questionLibrary);
}
/**
* 新增题库
*
* @param questionLibrary 题库
* @return 结果
*/
@Override
public int insertQuestionLibrary(QuestionLibrary questionLibrary)
{
questionLibrary.setGuid(StringUtils.getUUID());
questionLibrary.setCreator(userApi.getCurrentUser().getUserName());
return questionLibraryMapper.insertQuestionLibrary(questionLibrary);
}
/**
* 修改题库
*
* @param questionLibrary 题库
* @return 结果
*/
@Override
public int updateQuestionLibrary(QuestionLibrary questionLibrary)
{
questionLibrary.setUpdator(userApi.getCurrentUser().getUserName());
return questionLibraryMapper.updateQuestionLibrary(questionLibrary);
}
/**
* 删除题库对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteQuestionLibraryByIds(String ids)
{
return questionLibraryMapper.deleteQuestionLibraryByIds(Convert.toStrArray(ids));
}
/**
* 删除题库信息
*
* @param guid 题库ID
* @return 结果
*/
@Override
public int deleteQuestionLibraryById(String guid)
{
return questionLibraryMapper.deleteQuestionLibraryById(guid);
}
@Override
public int updatePublishState(String ids, String state) {
String publishdate = DateUtils.getTime();
return questionLibraryMapper.updatePublishState(Convert.toStrArray(ids), state, publishdate);
}
}

17
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionBankMapper.xml

@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="com.zdxt.knowledge.domain.QuestionBank" id="QuestionBankResult">
<result property="guid" column="guid" />
<result property="questionLibId" column="question_lib_id" />
<result property="title" column="title" />
<result property="content" column="content" />
<result property="tips" column="tips" />
@ -22,19 +23,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectQuestionBankVo">
select guid, title, content, tips, answer, srot, status, type, publishDate, publishState, creator, create_time, updator, update_time from question_bank
select guid, question_lib_id, title, content, tips, answer, srot, status, type, publishDate, publishState, creator, create_time, updator, update_time from question_bank
</sql>
<select id="selectQuestionBankList" parameterType="QuestionBank" resultMap="QuestionBankResult">
<include refid="selectQuestionBankVo"/>
<where>
<if test="questionLibId != null and questionLibId != ''"> and question_lib_id = #{questionLibId}</if>
<if test="title != null and title != ''"> and title like concat('%', #{title}, '%')</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="tips != null and tips != ''"> and tips = #{tips}</if>
<if test="answer != null and answer != ''"> and answer = #{answer}</if>
<if test="srot != null "> and srot = #{srot}</if>
<if test="status != null "> and status = #{status}</if>
<if test="type != null "> and type = #{type}</if>
<if test="type != null "> and `type` = #{type}</if>
<if test="publishdate != null and publishdate != ''"> and publishDate = #{publishdate}</if>
<if test="publishstate != null "> and publishState = #{publishstate}</if>
<if test="creator != null and creator != ''"> and creator = #{creator}</if>
@ -51,13 +53,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into question_bank
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="guid != null and guid != ''">guid,</if>
<if test="questionLibId != null and questionLibId != ''">question_lib_id,</if>
<if test="title != null and title != ''">title,</if>
<if test="content != null and content != ''">content,</if>
<if test="tips != null and tips != ''">tips,</if>
<if test="answer != null and answer != ''">answer,</if>
<if test="srot != null ">srot,</if>
<if test="status != null ">status,</if>
<if test="type != null ">type,</if>
<if test="type != null ">`type`,</if>
<if test="publishdate != null and publishdate != ''">publishDate,</if>
<if test="publishstate != null ">publishState,</if>
<if test="creator != null and creator != ''">creator,</if>
@ -67,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="guid != null and guid != ''">#{guid},</if>
<if test="questionLibId != null and questionLibId != ''">#{questionLibId},</if>
<if test="title != null and title != ''">#{title},</if>
<if test="content != null and content != ''">#{content},</if>
<if test="tips != null and tips != ''">#{tips},</if>
@ -87,12 +91,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update question_bank
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="questionLibId != null and questionLibId != ''">question_lib_id = #{questionLibId},</if>
<if test="content != null and content != ''">content = #{content},</if>
<if test="tips != null and tips != ''">tips = #{tips},</if>
<if test="answer != null and answer != ''">answer = #{answer},</if>
<if test="srot != null ">srot = #{srot},</if>
<if test="status != null ">status = #{status},</if>
<if test="type != null ">type = #{type},</if>
<if test="type != null ">`type` = #{type},</if>
<if test="publishdate != null and publishdate != ''">publishDate = #{publishdate},</if>
<if test="publishstate != null ">publishState = #{publishstate},</if>
<if test="creator != null and creator != ''">creator = #{creator},</if>
@ -128,9 +133,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="batchInsertQuestion">
insert into question_bank
(guid, title, `content`, tips, answer, `type`, creator) values
(guid, question_lib_id, title, `content`, tips, answer, `type`, creator) values
<foreach collection="questionBanks" item="obj" separator=",">
(#{obj.guid},#{obj.title},#{obj.content},#{obj.tips},#{obj.answer},#{obj.type},#{obj.creator})
(#{obj.guid},#{obj.questionLibId},#{obj.title},#{obj.content},#{obj.tips},#{obj.answer},#{obj.type},#{obj.creator})
</foreach>
</insert>
</mapper>

114
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/QuestionLibraryMapper.xml

@ -0,0 +1,114 @@
<?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.zdxt.knowledge.mapper.QuestionLibraryMapper">
<resultMap type="com.zdxt.knowledge.domain.QuestionLibrary" id="QuestionLibraryResult">
<result property="guid" column="guid" />
<result property="title" column="title" />
<result property="desc" column="desc" />
<result property="srot" column="srot" />
<result property="status" column="status" />
<result property="publishdate" column="publishDate" />
<result property="publishstate" column="publishState" />
<result property="creator" column="creator" />
<result property="createTime" column="create_time" />
<result property="updator" column="updator" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectQuestionLibraryVo">
select guid, title, `desc`, srot, status, publishDate, publishState, creator, create_time, updator, update_time from question_library
</sql>
<select id="selectQuestionLibraryList" parameterType="QuestionLibrary" resultMap="QuestionLibraryResult">
<include refid="selectQuestionLibraryVo"/>
<where>
<if test="title != null and title != ''"> and title = #{title}</if>
<if test="desc != null and desc != ''"> and `desc` = #{desc}</if>
<if test="srot != null "> and srot = #{srot}</if>
<if test="status != null "> and status = #{status}</if>
<if test="publishdate != null and publishdate != ''"> and publishDate = #{publishdate}</if>
<if test="publishstate != null "> and publishState = #{publishstate}</if>
<if test="creator != null and creator != ''"> and creator = #{creator}</if>
<if test="updator != null and updator != ''"> and updator = #{updator}</if>
</where>
</select>
<select id="selectQuestionLibraryById" parameterType="String" resultMap="QuestionLibraryResult">
<include refid="selectQuestionLibraryVo"/>
where guid = #{guid}
</select>
<insert id="insertQuestionLibrary" parameterType="QuestionLibrary">
insert into question_library
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="guid != null and guid != ''">guid,</if>
<if test="title != null and title != ''">title,</if>
<if test="desc != null and desc != ''">`desc`,</if>
<if test="srot != null ">srot,</if>
<if test="status != null ">status,</if>
<if test="publishdate != null and publishdate != ''">publishDate,</if>
<if test="publishstate != null ">publishState,</if>
<if test="creator != null and creator != ''">creator,</if>
<if test="createTime != null ">create_time,</if>
<if test="updator != null and updator != ''">updator,</if>
<if test="updateTime != null ">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="guid != null and guid != ''">#{guid},</if>
<if test="title != null and title != ''">#{title},</if>
<if test="desc != null and desc != ''">#{desc},</if>
<if test="srot != null ">#{srot},</if>
<if test="status != null ">#{status},</if>
<if test="publishdate != null and publishdate != ''">#{publishdate},</if>
<if test="publishstate != null ">#{publishstate},</if>
<if test="creator != null and creator != ''">#{creator},</if>
<if test="createTime != null ">#{createTime},</if>
<if test="updator != null and updator != ''">#{updator},</if>
<if test="updateTime != null ">#{updateTime},</if>
</trim>
</insert>
<update id="updateQuestionLibrary" parameterType="QuestionLibrary">
update question_library
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="desc != null and desc != ''">`desc` = #{desc},</if>
<if test="srot != null ">srot = #{srot},</if>
<if test="status != null ">status = #{status},</if>
<if test="publishdate != null and publishdate != ''">publishDate = #{publishdate},</if>
<if test="publishstate != null ">publishState = #{publishstate},</if>
<if test="creator != null and creator != ''">creator = #{creator},</if>
<if test="createTime != null ">create_time = #{createTime},</if>
<if test="updator != null and updator != ''">updator = #{updator},</if>
<if test="updateTime != null ">update_time = #{updateTime},</if>
</trim>
where guid = #{guid}
</update>
<delete id="deleteQuestionLibraryById" parameterType="String">
delete from question_library where guid = #{guid}
</delete>
<delete id="deleteQuestionLibraryByIds" parameterType="String">
delete from question_library where guid in
<foreach item="guid" collection="array" open="(" separator="," close=")">
#{guid}
</foreach>
</delete>
<update id="updatePublishState" parameterType="String">
update question_library
<trim prefix="SET" suffixOverrides=",">
<if test="state == 1">publishDate = #{publishdate},</if>
<if test="state != null">publishState = #{state},</if>
</trim>
where guid in
<foreach item="guid" collection="guids" open="(" separator="," close=")">
#{guid}
</foreach>
</update>
</mapper>

11
lib/EmergencyServiceApi/emergencyKnowledgeServiceApi/src/main/java/com/zdxt/knowledge/dto/QuestionBankBean.java

@ -15,6 +15,9 @@ public class QuestionBankBean extends BaseDomain
/** 主键 */
private String guid;
/** 关联库id */
private String questionLibId;
/** 标题 */
private String title;
@ -54,6 +57,14 @@ public class QuestionBankBean extends BaseDomain
this.guid = guid;
}
public String getQuestionLibId() {
return questionLibId;
}
public void setQuestionLibId(String questionLibId) {
this.questionLibId = questionLibId;
}
public String getTitle() {
return title;
}

Loading…
Cancel
Save