栏目管理

This commit is contained in:
zkr_liushenlu 2021-03-26 13:52:02 +08:00
parent aca61b6b79
commit 453ff2e880
6 changed files with 286 additions and 39 deletions

View File

@ -1,8 +1,9 @@
package com.ruoyi.content.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.content.domain.BaseCode;
import com.ruoyi.content.domain.BaseCodeTree;
import com.ruoyi.content.domain.PageDTO;
import com.ruoyi.content.message.Message;
import com.ruoyi.content.service.BaseCodeService;
import com.ruoyi.content.utils.DateUtil;
@ -12,6 +13,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ -27,11 +29,19 @@ import java.util.*;
*/
@Controller
@RequestMapping("/column")
public class BaseCodeController {
public class BaseCodeController extends BaseController {
private final static Logger logger = LoggerFactory.getLogger(BaseCodeController.class);
private String prefix = "content/column";
@Autowired
private BaseCodeService baseCodeService;
@GetMapping()
public String baseCode() {
return prefix + "/column";
}
/**
* 分页查询栏目信息
*
@ -41,32 +51,15 @@ public class BaseCodeController {
*/
@RequestMapping("/columnArry")
@ResponseBody
public PageDTO columnArry(HttpServletRequest request, HttpServletResponse response) {
public TableDataInfo columnArry(HttpServletRequest request, HttpServletResponse response) {
logger.info("进入查询当前用户发布的栏目的控制层方法");
Thread.currentThread().setName(UUID.randomUUID().toString());
PageDTO pageDTO = new PageDTO();
try {
String rowsVal = request.getParameter("rows");
String page = request.getParameter("page");
String codeType = request.getParameter("codeType");
String codeCname = request.getParameter("codeCname");
String orderNo = request.getParameter("orderNo");
int rows = Integer.parseInt(rowsVal);
int startRow = rows * (Integer.parseInt(page) - 1);
List<BaseCode> list = baseCodeService.queryBaseCode(startRow, rows, codeType, codeCname, orderNo);
pageDTO.setPage(Integer.parseInt(page));
pageDTO.setStartRow(startRow);
pageDTO.setDataRows(list);
int count = baseCodeService.countBaseCode(codeType, codeCname, orderNo);
pageDTO.setTotal(count % rows == 0 ? count / rows : (count / rows + 1));
pageDTO.setRecords(count);
pageDTO.setPage(Integer.parseInt(page));
} catch (Exception e) {
logger.info("查询当前用户发布的栏目失败【{}】", e.getMessage());
e.printStackTrace();
}
String codeType = request.getParameter("codeType");
String codeCname = request.getParameter("codeCname");
String orderNo = request.getParameter("orderNo");
startPage();
List<BaseCode> list = baseCodeService.queryBaseCode(codeType, codeCname, orderNo);
logger.info("跳出查询当前用户发布的栏目的控制层方法");
return pageDTO;
return getDataTable(list);
}
/**

View File

@ -11,8 +11,7 @@ import java.util.List;
@Repository
public interface BaseCodeExMapper {
public List<BaseCode> selectAllWithLimit(@Param(value = "companyId") String companyId, @Param(value = "branchId") String branchId, @Param(value = "codeType") String codeType,
@Param(value = "codeCname") String codeCname, @Param(value = "orderNo") String orderNo, @Param(value = "startRow") int startRow,
@Param(value = "rows") int rows);
@Param(value = "codeCname") String codeCname, @Param(value = "orderNo") String orderNo);
/**
* 查询栏目树

View File

@ -47,14 +47,12 @@ public interface BaseCodeService {
/**
* 条件查询基础数据
*
* @param startRow
* @param rows
* @param codeType
* @param codeCname
* @param codeCode
* @return
*/
public List<BaseCode> queryBaseCode(int startRow, int rows, String codeType, String codeCname, String codeCode);
public List<BaseCode> queryBaseCode(String codeType, String codeCname, String codeCode);
/**
* 统计条件下有多少数据

View File

@ -382,21 +382,20 @@ public class BaseCodeServiceImpl implements BaseCodeService {
* 分页查询栏目信息
*/
@Override
public List<BaseCode> queryBaseCode(int startRow, int rows, String codeType, String codeCname, String orderNo) {
public List<BaseCode> queryBaseCode(String codeType, String codeCname, String orderNo) {
logger.info("进入查询栏目信息的业务方法。");
logger.info("查询栏目信息的参数startRow【{}】,rows【{}】,codeType【{}】,codeCname【{}】,orderNo【{}】", startRow, rows, codeType, codeCname, orderNo);
logger.info("查询栏目信息的参数,codeType【{}】,codeCname【{}】,orderNo【{}】", codeType, codeCname, orderNo);
List<BaseCode> codeList = null;
String companyId = "1";//渠道id
String branchId = "86";//分支公司
try {
codeList = baseCodeExMapper.selectAllWithLimit(companyId, branchId, codeType, codeCname, orderNo, startRow, rows);
codeList = baseCodeExMapper.selectAllWithLimit(companyId, branchId, codeType, codeCname, orderNo);
if (codeList == null || codeList.size() < 1) {
logger.info("未查询到基础数据信息【{}】", JsonUtil.objectToJackson(codeList));
return codeList;
}
} catch (Exception e) {
logger.info("查询栏目信息的业务方法异常【{}】", e.getMessage());
e.printStackTrace();
logger.error("查询栏目信息的业务方法异常【{}】", e);
}
logger.info("查询栏目信息的业务方法结束。");
return codeList;

View File

@ -54,10 +54,8 @@
and ORDER_NO = #{orderNo,jdbcType=VARCHAR}
</if>
order by CODE_TYPE DESC,ORDER_NO*1 ASC, CREATE_TIME ASC, UPDATE_TIME ASC
limit #{startRow,jdbcType=DECIMAL},#{rows,jdbcType=DECIMAL}
</select>
<resultMap id="BaseTreeResultMap" type="com.ruoyi.content.domain.BaseCodeTree">
<id column="ID" property="id" jdbcType="INTEGER" />
<result column="CODE_CODE" property="codeCode" jdbcType="VARCHAR" />

View File

@ -0,0 +1,260 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('栏目列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label style="width: 95px;">一级栏目名称:</label>
<select name="codeType" th:id="codeType">
</select>
</li>
<li>
<label style="width: 95px;">二级栏目名称:</label>
<input type="text" name="codeCname"/>
</li>
<li>
<label>展示序号:</label>
<input type="text" name="orderNo"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
<a class="btn btn-success btn-rounded btn-sm" onclick="$.operate.add()">
<i class="fa fa-plus"></i> 添加
</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix = ctx + 'column';
var baseDataList = [];
var articleSecList = [];
$(function () {
var options = {
url: prefix + "/columnArry",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "基础代码",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'codeCode',
title: 'code代码',
visible: false
},
{
field: 'codeType',
title: '上级栏目名称',
formatter: function (value, row, index) {
const result = queryCnameByid(row.codeType);
if (result != null && result != '') {
return result;
} else {
return "无";
}
}
},
{
field: 'codeCname',
title: '栏目名称'
},
{
field: 'orderNo',
title: '展示序号'
},
{
field: 'codeEname',
title: '栏目英文名',
visible: false
},
{
field: 'codeTname',
title: '栏目繁体名',
visible: false
},
{
field: 'state',
title: '状态',
formatter: function (value, row, index) {
if (row.state == '0') {
return '展示';
} else {
return '不展示';
}
}
},
{
field: 'createUser',
title: '创建者',
formatter: function (value, row, index) {
if (row.createUser == null || row.createUser == '') {
return '无';
} else {
return row.createUser;
}
}
},
{
field: 'createTime',
title: '创建时间',
formatter: function (value, row, index) {
if (row.createTime == null || row.createTime == '') {
return '无';
} else {
return row.createTime;
}
}
},
{
field: 'updateUser',
title: '修改者',
formatter: function (value, row, index) {
if (row.updateUser == null || row.updateUser == '') {
return '无';
} else {
return row.updateUser;
}
}
},
{
field: 'updateTime',
title: '修改时间',
formatter: function (value, row, index) {
if (row.updateTime == null || row.updateTime == '') {
return '无';
} else {
return row.updateTime;
}
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
getBaseCode("FIRST_COLUMN");
setValueTolist();
selectArticleSecColumn();
});
// 查询一级栏目
function getBaseCode(type) {
$.ajax({
type: "post",
url: prefix + "/queryBasicData",
data: {
"bType": type
},
async: false,
success: function (data) {
if (data.result) {// 跳转到列表页面
var list = data.object.baseList;
for (var i = 0; i < list.length; i++) {
baseDataList.push(list[i]);
}
} else {
}
}
});
}
function selectArticleSecColumn() {
$.ajax({
url: prefix + "/columnArry",
data: {
"codeType": "ARTICLE",
"pageSize": "1000",
"pageNum": "1"
},
dataType: "json",
async: false,
type: "post",
success: function (data) {
if (data.dataRows != null && data.dataRows.length > 0) {
const dataRows = data.dataRows;
articleSecList = dataRows;
$("#selectSec").empty();
$.each(dataRows, function (index, item) {
$("#selectSec").append("<option value='" + item.codeCode + "'>" + item.codeCname + "</option>");
});
}
}
});
}
// 给下拉列表赋值
function setValueTolist() {
// 给搜索的下拉列表赋值
$("#codeType option").remove();
var obj = baseDataList;
$("#codeType").append("<option value=''>请选择</option>");
for (var i = 0; i < obj.length; i++) {
$("#codeType").append(
"<option value='" + obj[i].codeCode + "'>" + obj[i].codeCname
+ "</option>");
}
}
// 一栏目显示名称
function queryCnameByid(id) {
if (baseDataList == null) {
getBaseCode("FIRST_COLUMN");
}
if (queryCnameByid == null) {
selectArticleSecColumn();
}
const list = baseDataList.length;
for (var i = 0; i < list; i++) {
if (id == baseDataList[i].codeCode) {
return baseDataList[i].codeCname;
}
}
const articleList = articleSecList.length;
for (var i = 0; i < articleList; i++) {
if (id == articleSecList[i].codeCode) {
return "文库-" + articleSecList[i].codeCname;
}
}
}
</script>
</body>
</html>