main
黄海 9 months ago
parent e7af18d5b5
commit e658dd996f

@ -142,8 +142,9 @@ public class ResourceController extends Controller {
*/
@Before({GET.class})
@JwtCheckInterface({})
public void getResourceBaseList(int pageNum, int pageSize) {
Page<Record> listPage = rm.getResourceBaseList(pageNum, pageSize);
@IsNumericInterface({"pageNum", "pageSize"})
public void getResourceBaseList(int stage_id, int scheme_id, int subject_id, int structure_id, String keyword, int pageNum, int pageSize) {
Page<Record> listPage = rm.getResourceBaseList(stage_id,scheme_id,subject_id,structure_id,keyword,pageNum, pageSize);
renderJson(RetKit.renderSuccess(listPage));
}
}

@ -1,9 +1,15 @@
package com.dsideal.resource.Res.Model;
import cn.hutool.core.date.DateTime;
import com.jfinal.kit.Kv;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.SqlPara;
import java.util.ArrayList;
import java.util.List;
public class ResourceModel {
/**
@ -88,16 +94,37 @@ public class ResourceModel {
return Db.findFirst(sql, resource_id_int);
}
/**
*
*
* @param structure_id
* @return
*/
public List<Record> getStructureTree(int structure_id) {
SqlPara sqlPara = Db.getSqlPara("Resource.getStructureTree", Kv.by("structure_id", structure_id));
return Db.find(sqlPara);
}
/**
*
*
* @param pageNum
* @param pageSize
*/
public Page<Record> getResourceBaseList(int pageNum, int pageSize) {
String sql1 = "select * ";
String sql2 = " from t_resource_base";
return Db.paginate(pageNum, pageSize, sql1, sql2);
public Page<Record> getResourceBaseList(int stage_id, int scheme_id, int subject_id, int structure_id, String keyword, int pageNum, int pageSize) {
Kv kv = Kv.create();
if (stage_id > 0) kv.set("stage_id", stage_id);
if (scheme_id > 0) kv.set("scheme_id", scheme_id);
if (subject_id > 0) kv.set("subject_id", subject_id);
if (!StrKit.isBlank(keyword)) kv.set("keyword", keyword);
List<Record> childTree = getStructureTree(structure_id);
List<Integer> ids = new ArrayList<>();
for (Record record : childTree) {
ids.add(record.getInt("structure_id"));
}
kv.set("ids", ids);
SqlPara sqlPara = Db.getSqlPara("Resource.getResourceBaseList", kv);
return Db.paginate(pageNum, pageSize, sqlPara);
}
/**

@ -0,0 +1,32 @@
#namespace("Resource")
-- 获取指定节点为根的子树
#sql("getStructureTree")
SELECT structure_id, parent_id FROM t_resource_structure WHERE parent_id = #para(ParentID)
UNION ALL
SELECT b.structure_id, b.parent_id FROM t_resource_structure b
JOIN (SELECT structure_id FROM t_resource_structure WHERE parent_id = #para(ParentID)) AS a ON b.parent_id = a.structure_id
UNION ALL
SELECT b.structure_id, b.parent_id FROM t_resource_structure b
JOIN (SELECT structure_id FROM t_resource_structure WHERE parent_id IN (SELECT structure_id FROM t_resource_base WHERE parent_id = #para(ParentID)))
AS a ON b.parent_id = a.structure_id
#end
-- 资源查询列表
#sql("getResourceBaseList")
select * from t_resource_base as t1 where 1=1
#if(stage_id)
and t1.stage_id = #para(stage_id)
#end
#if(scheme_id)
and t1.scheme_id = #para(scheme_id)
#end
#if(subject_id)
and t1.subject_id = #para(subject_id)
#end
#if(keyword)
and t1.resource_name like concat('%',#para(keyword),'%')
#end
#if(ids)
and t1.structure_id in ( #(ids) )
#end
#end
#end
Loading…
Cancel
Save