模板权限过滤

This commit is contained in:
2026-06-23 16:07:49 +08:00
parent 29323bf2b4
commit 49012bde65
6 changed files with 374 additions and 11 deletions
@@ -0,0 +1,190 @@
package com.nbport.zgwl.controller;
import com.nbport.zgwl.common.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 组织架构树 Controller
*
* 当前为 mock 数据,对应内网 /admin/org/getOrgTree 接口的真实返回。
* 后续接入统一认证后可直接替换为真实接口调用。
*/
@RestController
@RequestMapping("/admin/org")
public class AdminOrgController {
@GetMapping("/getOrgTree")
public R<List<OrgTreeNode>> getOrgTree() {
return R.success(buildOrgTree());
}
private List<OrgTreeNode> buildOrgTree() {
// 根节点:浙江海港物流集团有限公司X (id=1)
OrgTreeNode root = new OrgTreeNode();
root.setId(1L);
root.setOrgName("浙江海港物流集团有限公司X");
root.setParentId(0L);
root.setOrgType("1");
root.setRemark("管理后台");
root.setOrgCode("MANAGE");
root.setStatus("1");
root.setTenantId(1L);
// ========== 二级节点 ==========
// 永康陆港国际物流有限公司 (id=47)
OrgTreeNode yongkang = createNode(47L, "永康陆港国际物流有限公司", 1L, "2", null, "YongKangLuGangGuoJiWuLiuYouXianGongSi", "1", 1L);
yongkang.setChildren(List.of(
createNode(138L, "永康物流分公司", 47L, "2", null, "c85c9da591e04d55b3d01dd0f5ae35aa", "1", 1L)
));
// 宁波港国际物流有限公司诸暨业务点 (id=48)
OrgTreeNode zhuji = createNode(48L, "宁波港国际物流有限公司诸暨业务点", 1L, "2", null, "NingBoGangGuoJiWuLiuYouXianGongSiZhuJiYeWuDian", "1", 1L);
zhuji.setChildren(List.of(
createNode(49L, "宁波港国际物流有限公司兰溪业务点", 48L, "2", null, "NingBoGangGuoJiWuLiuYouXianGongSiLanXiYeWuDian", "1", 1L)
));
OrgTreeNode lishui = createNode(51L, "丽水陆港国际物流有限责任公司", 1L, "2", null, "LiShuiLuGangGuoJiWuLiuYouXianZeRenGongSi", "1", 1L);
OrgTreeNode quzhou = createNode(52L, "衢州通港国际物流有限公司", 1L, "2", null, "QuZhouTongGangGuoJiWuLiuYouXianGongSi", "1", 1L);
// 浙港物流浙中北大区 (id=58)
OrgTreeNode zhongbei = createNode(58L, "浙港物流浙中北大区", 1L, "2", null, "ZheGangWuLiuZheZhongBeiDaQu", "1", 1L);
zhongbei.setChildren(List.of(
createNode(59L, "浙江兴港国际货运代理有限公司嘉兴分公司", 58L, "2", null, "ZheJiangXingGangGuoJiHuoYunDaiLiYouXianGongSiJiaXingFenGongSi", "1", 1L),
createNode(60L, "宁波港铁路有限公司绍兴分公司", 58L, "2", null, "NingBoGangTieLuYouXianGongSiShaoXingFenGongSi", "1", 1L)
));
// 浙港物流江苏大区 (id=68)
OrgTreeNode jiangsu = createNode(68L, "浙港物流江苏大区", 1L, "2", null, "ZheGangWuLiuJiangSuDaQu", "1", 1L);
OrgTreeNode jiangsuChild = createNode(69L, "浙港(江苏)国际供应链管理有限公司", 68L, "2", null, "ZheGangJiangSuGuoJiGongYingLianGuanLiYouXianGongSi", "1", 1L);
jiangsuChild.setChildren(List.of(
createNode(71L, "盐城海铁", 69L, "2", null, "YanChengHaiTie", "1", 1L)
));
jiangsu.setChildren(List.of(
jiangsuChild,
createNode(72L, "浙港物流江苏其他", 68L, "2", null, "ZheGangWuLiuJiangSuQiTa", "1", 1L)
));
OrgTreeNode haian = createNode(70L, "海安海铁", 1L, "2", null, "HaiAnHaiTie", "1", 1L);
OrgTreeNode xuzhou = createNode(75L, "宁波港国际物流有限公司徐州分公司", 1L, "2", null, "NingBoGangGuoJiWuLiuYouXianGongSiXuZhouFenGongSi", "1", 1L);
// 浙港物流湘赣大区 (id=76)
OrgTreeNode xianggan = createNode(76L, "浙港物流湘赣大区", 1L, "2", null, "ZheGangWuLiuXiangGanDaQu", "1", 1L);
xianggan.setChildren(List.of(
createNode(77L, "宁波港铁路有限公司--向塘/贵溪/赣州/宜春西/鹰潭南/萍乡/景德镇东/新余/樟树/湘潭/株洲北/长沙北/岳阳", 76L, "2", null, "NingBoGangTieLuYouXianGongSi--XiangTang/GuiXi/GanZhou/YiChunXi/YingTanNan/PingXiang/JingDeZhenDong/XinYu/ZhangShu/XiangTan/ZhuZhouBei/ChangShaBei/YueYang", "1", 1L),
createNode(78L, "江西上饶海港物流有限公司", 76L, "2", null, "JiangXiShangRaoHaiGangWuLiuYouXianGongSi", "1", 1L)
));
// 浙港物流安徽大区2 (id=23)
OrgTreeNode anhui = createNode(23L, "浙港物流安徽大区2", 1L, "2", null, "ErJiGongSi2", "1", 1L);
anhui.setChildren(List.of(
createNode(43L, "宁波港铁路有限公司---蚌埠/洛阳/青龙山/萧山", 23L, "2", null, "NingBoGangTieLuYouXianGongSi---BengBu/LuoYang/QingLongShan/XiaoShan", "1", 1L),
createNode(44L, "宁波港铁路有限公司---芜湖西/铜城闸/马鞍山", 23L, "2", null, "NingBoGangTieLuYouXianGongSi---WuHuXi/TongChengZha/MaAnShan", "1", 1L),
createNode(45L, "宣城市浙皖国际陆港供应链管理有限公司", 23L, "2", null, "XuanChengShiZheWanGuoJiLuGangGongYingLianGuanLiYouXianGongSi", "1", 1L)
));
OrgTreeNode huahaitong = createNode(321L, "汇海通-华峙", 1L, "2", "共享堆场测试", "21c350f7d5e54d0091ece7a47703bff8", "1", 1L);
OrgTreeNode test11 = createNode(382L, "11", 1L, "2", "sss", "e53d1047b5bc4415a98719a0f6911d83", "1", 1L);
OrgTreeNode test2 = createNode(383L, "测试2", 1L, "2", null, "86d33726220c452d9dfd266c01214803", "1", 1L);
OrgTreeNode donghua = createNode(181L, "东华", 1L, "2", "共享堆场测试", "ad3fc4e7e6644b78a245dbef5c70a0f1", "1", 1L);
OrgTreeNode ganglianjie = createNode(182L, "港联捷", 1L, "2", "共享堆场测试", "edd2fd12073a42bca05c7682ef507b95", "1", 1L);
OrgTreeNode yiwu = createNode(46L, "浙江义乌国际公铁联运有限公司", 1L, "2", null, "ZheJiangYiWuGuoJiGongTieLianYunYouXianGongSi", "1", 1L);
OrgTreeNode xinanjiang = createNode(50L, "新安江业务点", 1L, "2", null, "XinAnJiangYeWuDian", "1", 1L);
// 浙港物流华中大区 (id=53)
OrgTreeNode huazhong = createNode(53L, "浙港物流华中大区", 1L, "2", null, "ZheGangWuLiuHuaZhongDaQu", "1", 1L);
OrgTreeNode xiangyang = createNode(56L, "宁波港国际物流有限公司襄阳分公司", 53L, "2", null, "NingBoGangGuoJiWuLiuYouXianGongSiXiangYangFenGongSi", "1", 1L);
xiangyang.setChildren(List.of(
createNode(57L, "襄阳业务点", 56L, "2", null, "XiangYangYeWuDian", "1", 1L)
));
huazhong.setChildren(List.of(
xiangyang,
createNode(54L, "湖北浙港供应链管理有限公司", 53L, "2", null, "HuBeiZheGangGongYingLianGuanLiYouXianGongSi", "1", 1L),
createNode(55L, "武铁浙港多式联运(河南)有限公司", 53L, "2", null, "WuTieZheGangDuoShiLianYunHeNanYouXianGongSi", "1", 1L)
));
// 浙港物流浙西南大区 (id=61)
OrgTreeNode zhexi = createNode(61L, "浙港物流浙西南大区", 1L, "2", null, "ZheGangWuLiuZheXiNanDaQu", "1", 1L);
OrgTreeNode jinhuanan = createNode(62L, "浙港物流金华南", 61L, "2", null, "ZheGangWuLiuJinHuaNan", "1", 1L);
OrgTreeNode taizhounan = createNode(63L, "浙港物流台州南", 61L, "2", null, "ZheGangWuLiuTaiZhouNan", "1", 1L);
taizhounan.setChildren(List.of(
createNode(64L, "宁波佰菲特国际货运代理有限公司", 63L, "2", null, "NingBoBaiFeiTeGuoJiHuoYunDaiLiYouXianGongSi", "1", 1L)
));
zhexi.setChildren(List.of(jinhuanan, taizhounan));
// 宁波港国际物流有限公司合肥分公司 (id=65)
OrgTreeNode hefei = createNode(65L, "宁波港国际物流有限公司合肥分公司", 1L, "2", null, "NingBoGangGuoJiWuLiuYouXianGongSiHeFeiFenGongSi", "1", 1L);
hefei.setChildren(List.of(
createNode(66L, "六安安庆北业务点", 65L, "2", null, "LuAnAnQingBeiYeWuDian", "1", 1L)
));
OrgTreeNode jiangshan = createNode(67L, "江山无水港国际物流有限公司", 1L, "2", null, "JiangShanWuShuiGangGuoJiWuLiuYouXianGongSi", "1", 1L);
// 浙港物流西部大区 (id=73)
OrgTreeNode xibu = createNode(73L, "浙港物流西部大区", 1L, "2", null, "ZheGangWuLiuXiBuDaQu", "1", 1L);
xibu.setChildren(List.of(
createNode(74L, "宁波港铁路有限公司---重庆/城厢/白银市/西安/宜兴", 73L, "2", null, "NingBoGangTieLuYouXianGongSi---ChongQing/ChengXiang/BaiYinShi/XiAn/YiXing", "1", 1L)
));
root.setChildren(List.of(
yongkang, zhuji, lishui, quzhou, zhongbei, jiangsu, haian, xuzhou,
xianggan, anhui, huahaitong, test11, test2, donghua, ganglianjie,
yiwu, xinanjiang, huazhong, zhexi, hefei, jiangshan, xibu
));
return List.of(root);
}
private OrgTreeNode createNode(Long id, String orgName, Long parentId, String orgType,
String remark, String orgCode, String status, Long tenantId) {
OrgTreeNode node = new OrgTreeNode();
node.setId(id);
node.setOrgName(orgName);
node.setParentId(parentId);
node.setOrgType(orgType);
node.setRemark(remark);
node.setOrgCode(orgCode);
node.setStatus(status);
node.setTenantId(tenantId);
return node;
}
/**
* 组织树节点 DTO
*/
public static class OrgTreeNode {
private Long id;
private String orgName;
private Long parentId;
private String orgType;
private String remark;
private String orgCode;
private String status;
private Long tenantId;
private List<OrgTreeNode> children;
// getters / setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getOrgName() { return orgName; }
public void setOrgName(String orgName) { this.orgName = orgName; }
public Long getParentId() { return parentId; }
public void setParentId(Long parentId) { this.parentId = parentId; }
public String getOrgType() { return orgType; }
public void setOrgType(String orgType) { this.orgType = orgType; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
public String getOrgCode() { return orgCode; }
public void setOrgCode(String orgCode) { this.orgCode = orgCode; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public Long getTenantId() { return tenantId; }
public void setTenantId(Long tenantId) { this.tenantId = tenantId; }
public List<OrgTreeNode> getChildren() { return children; }
public void setChildren(List<OrgTreeNode> children) { this.children = children; }
}
}