From a66aac8deb60f23dcdaabb6c37312cb2e5e864f3 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Tue, 12 Sep 2023 11:36:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=9A=E7=94=A8=E6=A0=87=E5=87=86?= =?UTF-8?q?=E4=BD=93=E7=B3=BB-=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/FillRuleConstant.java | 5 + .../com/jero/common/util/FillRuleUtil.java | 38 +++ .../enterprise/entity/model/NodeIdModel.java | 93 +++++++ .../entity/vo/LawsTreeNodeModel.java | 89 +++++++ .../laws/enterprise/rule/SystemTreeRule.java | 107 +++++++++ .../util/FindsTreeNodeChildrenUtil.java | 130 ++++++++++ .../LawsNodeRelationController.java | 176 -------------- .../controller/LawsTreeNodeController.java | 227 +++++++----------- .../standard/entity/LawsNodeRelation.java | 7 +- .../laws/standard/entity/LawsTreeNode.java | 14 +- .../mapper/xml/LawsNodeRelationMapper.xml | 1 + .../service/ILawsTreeNodeService.java | 55 +---- .../service/impl/LawsTreeNodeServiceImpl.java | 192 ++++++++------- 13 files changed, 679 insertions(+), 455 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/model/NodeIdModel.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/LawsTreeNodeModel.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/rule/SystemTreeRule.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/FindsTreeNodeChildrenUtil.java delete mode 100644 laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsNodeRelationController.java diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/constant/FillRuleConstant.java b/laws-base/laws-base-core/src/main/java/com/jero/common/constant/FillRuleConstant.java index b2e0216f..2b1e4b25 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/constant/FillRuleConstant.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/constant/FillRuleConstant.java @@ -26,4 +26,9 @@ public class FillRuleConstant { */ public static final String CATEGORY = "category_code_rule"; + /** + * 体系字典编码 + */ + public static final String SYSTEM = "system_tree_node"; + } diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/util/FillRuleUtil.java b/laws-base/laws-base-core/src/main/java/com/jero/common/util/FillRuleUtil.java index c4620cbb..f193b2d9 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/util/FillRuleUtil.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/util/FillRuleUtil.java @@ -60,4 +60,42 @@ public class FillRuleUtil { } return null; } + + /** + * @param ruleCode ruleCode + * @return + */ + @SuppressWarnings("unchecked") + public static Object executeRuleByParam(String ruleCode, JSONObject formData, String moduleCode) { + if (!StringUtils.isEmpty(ruleCode)) { + try { + // 获取 Service + ServiceImpl,T> impl = (ServiceImpl) SpringContextUtils.getBean("sysFillRuleServiceImpl"); + // 根据 ruleCode 查询出实体 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("rule_code", ruleCode); + JSONObject entity = JSON.parseObject(JSON.toJSONString(impl.getOne(queryWrapper))); + if (entity == null) { + log.warn("填值规则:" + ruleCode + " 不存在"); + return null; + } + // 获取必要的参数 + String ruleClass = entity.getString("ruleClass"); + JSONObject params = entity.getJSONObject("ruleParams"); + if (params == null) { + params = new JSONObject(); + } + if (formData == null) { + formData = new JSONObject(); + } + params.put("moduleCode", moduleCode); + // 通过反射执行配置的类里的方法 + IFillRuleHandler ruleHandler = (IFillRuleHandler) Class.forName(ruleClass).newInstance(); + return ruleHandler.execute(params, formData); + } catch (Exception e) { + e.printStackTrace(); + } + } + return null; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/model/NodeIdModel.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/model/NodeIdModel.java new file mode 100644 index 00000000..865a9809 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/model/NodeIdModel.java @@ -0,0 +1,93 @@ +package com.jero.modules.laws.enterprise.entity.model; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; +import com.jero.modules.laws.standard.entity.LawsTreeNode; + +/** + *

+ * 部门表 封装树结构的部门的名称的实体类 + *

+ * + * @Author Steve + * @Since 2019-01-22 + * + */ +public class NodeIdModel implements Serializable { + + private static final long serialVersionUID = 1L; + + // 主键ID + private String key; + + // 主键ID + private String value; + + // 部门名称 + private String title; + + private List children = new ArrayList<>(); + + /** + * 将SysDepartTreeModel的部分数据放在该对象当中 + * @param lawsTreeNodeModel + * @return + */ + public NodeIdModel convert(LawsTreeNodeModel lawsTreeNodeModel) { + this.key = lawsTreeNodeModel.getId(); + this.value = lawsTreeNodeModel.getId(); + this.title = lawsTreeNodeModel.getNodeName(); + return this; + } + + /** + * 该方法为用户部门的实现类所使用 + * @param lawsTreeNode + * @return + */ + public NodeIdModel convertByLawsNode(LawsTreeNode lawsTreeNode) { + this.key = lawsTreeNode.getId(); + this.value = lawsTreeNode.getId(); + this.title = lawsTreeNode.getNodeName(); + return this; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/LawsTreeNodeModel.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/LawsTreeNodeModel.java new file mode 100644 index 00000000..5c788852 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/LawsTreeNodeModel.java @@ -0,0 +1,89 @@ +package com.jero.modules.laws.enterprise.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.system.vo.SysDepartTreeModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/9/11 17:13 + */ +@Data +public class LawsTreeNodeModel { + + private static final long serialVersionUID = 1986758798970890734L; + + /** 对应SysDepart中的id字段,前端数据树中的key*/ + private String key; + + /** 对应SysDepart中的id字段,前端数据树中的value*/ + private String value; + + /** 对应depart_name字段,前端数据树中的title*/ + private String title; + + private boolean isLeaf; + + // 以下所有字段均与LawsTreeNode相同 + + /**主键ID*/ + @ApiModelProperty(value = "主键ID") + private java.lang.String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysCode; + /**0表示未删除,1表示删除*/ + @ApiModelProperty(value = "0表示未删除,1表示删除") + private java.lang.Integer delFlag; + /**父节点id*/ + @ApiModelProperty(value = "父节点id") + private java.lang.String parentId; + /**父节点code*/ + @ApiModelProperty(value = "父节点code") + private java.lang.String parentCode; + /**节点code*/ + @ApiModelProperty(value = "节点code") + private java.lang.String nodeCode; + /**节点名*/ + @ApiModelProperty(value = "节点名") + private java.lang.String nodeName; + /**所属模块编码*/ + @ApiModelProperty(value = "所属模块编码") + private java.lang.String moduleCode; + /**节点类型(1-根节点、2-子节点)*/ + @ApiModelProperty(value = "节点类型(1-根节点、2-子节点)") + private java.lang.Integer nodeType; + /**排序*/ + @ApiModelProperty(value = "排序") + private java.lang.Integer nodeOrder; + + private List children = new ArrayList<>(); + + public void setChildren(List children) { + if (children==null){ + this.isLeaf=true; + } + this.children = children; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/rule/SystemTreeRule.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/rule/SystemTreeRule.java new file mode 100644 index 00000000..43eba2ca --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/rule/SystemTreeRule.java @@ -0,0 +1,107 @@ +package com.jero.modules.laws.enterprise.rule; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.handler.IFillRuleHandler; +import com.jero.common.util.SpringContextUtils; +import com.jero.common.util.YouBianCodeUtil; +import com.jero.modules.laws.standard.entity.LawsTreeNode; +import com.jero.modules.laws.standard.service.ILawsTreeNodeService; +import io.netty.util.internal.StringUtil; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/9/12 10:38 + */ +public class SystemTreeRule implements IFillRuleHandler { + + @Override + public Object execute(JSONObject params, JSONObject formData) { + String moduleCode = (String)params.get("module_code"); + ILawsTreeNodeService lawsTreeNodeService = (ILawsTreeNodeService) SpringContextUtils.getBean("lawsTreeNodeServiceImpl"); + + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + LambdaQueryWrapper query1 = new LambdaQueryWrapper<>(); + // 创建一个List集合,存储查询返回的所有LawsTreeNode对象 + List nodeList; + String[] strArray = new String[2]; + // 定义部门类型 + String orgType = ""; + // 定义新编码字符串 + String newOrgCode = ""; + // 定义旧编码字符串 + String oldOrgCode = ""; + + String parentId = getParentId(params, formData); + + //如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回 + if (StringUtil.isNullOrEmpty(parentId)) { + // 线判断数据库中的表是否为空,空则直接返回初始编码 + query1.eq(LawsTreeNode::getParentId, "").or().isNull(LawsTreeNode::getParentId); + query1.eq(LawsTreeNode::getModuleCode, moduleCode); + query1.orderByDesc(LawsTreeNode::getNodeCode); + nodeList = lawsTreeNodeService.list(query1); + if (nodeList == null || nodeList.isEmpty()) { + strArray[0] = YouBianCodeUtil.getNextYouBianCode(null); + strArray[1] = "1"; + return strArray; + } else { + LawsTreeNode node = nodeList.get(0); + oldOrgCode = node.getNodeCode(); + orgType = String.valueOf(node.getNodeType()); + newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode); + } + } else {//反之则查询出所有同级的部门,获取结果后有两种情况,有同级和没有同级 + // 封装查询同级的条件 + query.eq(LawsTreeNode::getParentId, parentId); + // 按照模块查询 + query.eq(LawsTreeNode::getModuleCode, moduleCode); + // 降序排序 + query.orderByDesc(LawsTreeNode::getNodeCode); + // 查询出同级部门的集合 + List parentList = lawsTreeNodeService.list(query); + // 查询出父级部门 + LawsTreeNode node = lawsTreeNodeService.getById(parentId); + // 获取父级部门的Code + String parentCode = node.getNodeCode(); + // 根据父级部门类型算出当前部门的类型 + orgType = String.valueOf(node.getNodeType() + 1); + // 处理同级部门为null的情况 + if (parentList == null || parentList.isEmpty()) { + // 直接生成当前的部门编码并返回 + newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null); + } else { //处理有同级部门的情况 + // 获取同级部门的编码,利用工具类 + String subCode = parentList.get(0).getNodeCode(); + // 返回生成的当前部门编码 + newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode); + } + } + // 返回最终封装了部门编码和部门类型的数组 + strArray[0] = newOrgCode; + strArray[1] = orgType; + return strArray; + } + + @Nullable + private String getParentId(JSONObject params, JSONObject formData) { + String parentId = null; + if (formData != null && formData.size() > 0) { + Object obj = formData.get("parentId"); + if (obj != null) { + parentId = obj.toString(); + } + } else { + if (params != null) { + Object obj = params.get("parentId"); + if (obj != null) { + parentId = obj.toString(); + } + } + } + return parentId; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/FindsTreeNodeChildrenUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/FindsTreeNodeChildrenUtil.java new file mode 100644 index 00000000..912d4e1c --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/util/FindsTreeNodeChildrenUtil.java @@ -0,0 +1,130 @@ +package com.jero.modules.laws.enterprise.util; + +import com.jero.common.util.oConvertUtils; +import com.jero.modules.laws.enterprise.entity.model.NodeIdModel; +import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; +import com.jero.modules.laws.standard.entity.LawsTreeNode; +import java.util.ArrayList; +import java.util.List; + +public class FindsTreeNodeChildrenUtil { + + private FindsTreeNodeChildrenUtil(){} + + /** + * queryTreeList的子方法 ====1===== + * 该方法是s将SysDepart类型的list集合转换成SysDepartTreeModel类型的集合 + */ + public static List wrapTreeDataToTreeList(List recordList) { + // 在该方法每请求一次,都要对全局list集合进行一次清理 + List idList = new ArrayList<>(); + List records = new ArrayList<>(); + for (LawsTreeNode treeNode : recordList) { + LawsTreeNodeModel lawsTreeNodeModel = new LawsTreeNodeModel(); + // 将sysDepart转换为sysDepartTreeModel + convertSysDepartToSysDepartTreeModel(treeNode, lawsTreeNodeModel); + records.add(lawsTreeNodeModel); + } + List tree = findChildren(records, idList); + setEmptyChildrenAsNull(tree); + return tree; + } + + /** + */ + public static List wrapTreeDataToNodeIdTreeList(List recordList) { + // 在该方法每请求一次,都要对全局list集合进行一次清理 + List idList = new ArrayList<>(); + List records = new ArrayList<>(); + for (LawsTreeNode node : recordList) { + LawsTreeNodeModel lawsTreeNodeModel = new LawsTreeNodeModel(); + // 将sysDepart转换为sysDepartTreeModel + convertSysDepartToSysDepartTreeModel(node, lawsTreeNodeModel); + records.add(lawsTreeNodeModel); + } + findChildren(records, idList); + return idList; + } + + /** + * queryTreeList的子方法 ====2===== + * 该方法是找到并封装顶级父类的节点到TreeList集合 + */ + private static List findChildren(List recordList, + List nodeIdList) { + + List treeList = new ArrayList<>(); + for (LawsTreeNodeModel branch : recordList) { + if (oConvertUtils.isEmpty(branch.getParentId())) { + treeList.add(branch); + NodeIdModel nodeIdModel = new NodeIdModel().convert(branch); + nodeIdList.add(nodeIdModel); + } + } + getGrandChildren(treeList, recordList, nodeIdList); + return treeList; + } + + /** + * queryTreeList的子方法====3==== + * 该方法是找到顶级父类下的所有子节点集合并封装到TreeList集合 + */ + private static void getGrandChildren(List treeList, List recordList, List idList) { + for (int i = 0; i < treeList.size(); i++) { + LawsTreeNodeModel model = treeList.get(i); + NodeIdModel idModel = idList.get(i); + for (LawsTreeNodeModel m : recordList) { + if (m.getParentId() != null && m.getParentId().equals(model.getId())) { + model.getChildren().add(m); + NodeIdModel dim = new NodeIdModel().convert(m); + + idModel.getChildren().add(dim); + } + } + getGrandChildren(treeList.get(i).getChildren(), recordList, idList.get(i).getChildren()); + } + } + + + /** + * queryTreeList的子方法 ====4==== + * 该方法是将子节点为空的List集合设置为Null值 + */ + private static void setEmptyChildrenAsNull(List treeList) { + + for (LawsTreeNodeModel model : treeList) { + if (model.getChildren().isEmpty()) { + model.setChildren(null); + model.setLeaf(true); + } else { + setEmptyChildrenAsNull(model.getChildren()); + model.setLeaf(false); + } + } + } + + /** + * 将LawsTreeNode对象转换成LawsTreeNodeModel对象 + * @param lawsTreeNode 待转换的对象 + * @param lawsTreeNodeModel 转换的结果对象 + */ + public static void convertSysDepartToSysDepartTreeModel(LawsTreeNode lawsTreeNode, LawsTreeNodeModel lawsTreeNodeModel){ + lawsTreeNodeModel.setKey(lawsTreeNode.getId()); + lawsTreeNodeModel.setValue( lawsTreeNode.getId()); + lawsTreeNodeModel.setTitle(lawsTreeNode.getNodeName()); + lawsTreeNodeModel.setId(lawsTreeNode.getId()); + lawsTreeNodeModel.setParentId(lawsTreeNode.getParentId()); + lawsTreeNodeModel.setParentCode(lawsTreeNode.getParentCode()); + lawsTreeNodeModel.setNodeCode(lawsTreeNode.getNodeCode()); + lawsTreeNodeModel.setNodeName(lawsTreeNode.getNodeName()); + lawsTreeNodeModel.setModuleCode(lawsTreeNode.getModuleCode()); + lawsTreeNodeModel.setNodeType(lawsTreeNode.getNodeType()); + lawsTreeNodeModel.setNodeOrder(lawsTreeNode.getNodeOrder()); + lawsTreeNodeModel.setDelFlag(lawsTreeNode.getDelFlag()); + lawsTreeNodeModel.setCreateBy(lawsTreeNode.getCreateBy()); + lawsTreeNodeModel.setCreateTime(lawsTreeNode.getCreateTime()); + lawsTreeNodeModel.setUpdateBy(lawsTreeNode.getUpdateBy()); + lawsTreeNodeModel.setUpdateTime(lawsTreeNode.getUpdateTime()); + lawsTreeNodeModel.setSysCode(lawsTreeNode.getSysCode()); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsNodeRelationController.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsNodeRelationController.java deleted file mode 100644 index a222248c..00000000 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsNodeRelationController.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.jero.modules.laws.standard.controller; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import com.jero.common.api.vo.Result; -import com.jero.modules.laws.standard.entity.LawsNodeRelation; -import com.jero.modules.laws.standard.service.ILawsNodeRelationService; -import com.baomidou.mybatisplus.core.metadata.IPage; -import lombok.extern.slf4j.Slf4j; -import com.jero.common.system.base.controller.JeroController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.formula.functions.T; - - - /** - * @Description: 树型节点关联 - * @Author: jero-boot - * @Date: 2023-09-11 - * @Version: V1.0 - */ -@Api(tags="树型节点关联") -@RestController -@RequestMapping("/laws/standard/lawsNodeRelation") -@Slf4j -public class LawsNodeRelationController extends JeroController { - @Autowired - private ILawsNodeRelationService lawsNodeRelationService; - - /** - * 分页列表查询 - * - * @param lawsNodeRelation - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "树型节点关联-分页列表查询") - @ApiOperation(value="树型节点关联-分页列表查询", notes="树型节点关联-分页列表查询") - @GetMapping(value = "/page") - public Result> queryPageList(LawsNodeRelation lawsNodeRelation, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - IPage pageList = lawsNodeRelationService.queryPage(lawsNodeRelation, pageNo, pageSize, req); - return Result.OK(pageList); - } - - /** - * 列表查询 - * - * @param lawsNodeRelation - * @param req - * @return - */ - @AutoLog(value = "树型节点关联-列表查询") - @ApiOperation(value="树型节点关联-列表查询", notes="树型节点关联-列表查询") - @GetMapping(value = "/list") - public Result> queryList(LawsNodeRelation lawsNodeRelation, HttpServletRequest req) { - List list = lawsNodeRelationService.queryList(lawsNodeRelation, req); - return Result.OK(list); - } - - /** - * 添加 - * - * @param lawsNodeRelation - * @return - */ - @AutoLog(value = "树型节点关联-添加") - @ApiOperation(value="树型节点关联-添加", notes="树型节点关联-添加") - @PostMapping(value = "/add") - public Result add(@Validated @RequestBody LawsNodeRelation lawsNodeRelation) { - lawsNodeRelationService.add(lawsNodeRelation); - return Result.OK("操作成功!"); - } - - /** - * 编辑 - * - * @param lawsNodeRelation - * @return - */ - @AutoLog(value = "树型节点关联-编辑") - @ApiOperation(value="树型节点关联-编辑", notes="树型节点关联-编辑") - @PostMapping(value = "/edit") - public Result edit(@Validated @RequestBody LawsNodeRelation lawsNodeRelation) { - lawsNodeRelationService.editById(lawsNodeRelation); - return Result.OK("操作成功!"); - } - - /** - * 通过id删除 - * - * @param map - * @return - */ - @AutoLog(value = "树型节点关联-通过id删除") - @ApiOperation(value="树型节点关联-通过id删除", notes="树型节点关联-通过id删除") - @PostMapping(value = "/delete") - public Result delete(@RequestBody Map map) { - if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){ - return Result.error("请选择数据!"); - } - lawsNodeRelationService.deleteById(map.get("id")); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param map - * @return - */ - @AutoLog(value = "树型节点关联-批量删除") - @ApiOperation(value="树型节点关联-批量删除", notes="树型节点关联-批量删除") - @PostMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestBody Map map) { - if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){ - return Result.error("请选择数据!"); - } - this.lawsNodeRelationService.deleteByIds(Arrays.asList(map.get("ids").split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @AutoLog(value = "树型节点关联-通过id查询") - @ApiOperation(value="树型节点关联-通过id查询", notes="树型节点关联-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - LawsNodeRelation lawsNodeRelation = lawsNodeRelationService.queryById(id); - if(lawsNodeRelation==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(lawsNodeRelation); - } - - /** - * 导出excel - * - * @param request - * @param lawsNodeRelation - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LawsNodeRelation lawsNodeRelation) { - return super.exportXls(request, lawsNodeRelation, LawsNodeRelation.class, "树型节点关联"); - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, LawsNodeRelation.class); - } - -} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsTreeNodeController.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsTreeNodeController.java index f83a572e..ba262e26 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsTreeNodeController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/controller/LawsTreeNodeController.java @@ -1,20 +1,18 @@ package com.jero.modules.laws.standard.controller; -import java.util.Arrays; import java.util.List; import java.util.Map; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import com.jero.common.api.vo.Result; +import com.jero.common.system.util.JwtUtil; +import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; import com.jero.modules.laws.standard.entity.LawsTreeNode; import com.jero.modules.laws.standard.service.ILawsTreeNodeService; -import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.jero.common.aspect.annotation.AutoLog; @@ -22,155 +20,104 @@ import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; - /** +/** * @Description: 树型节点 * @Author: jero-boot - * @Date: 2023-09-11 + * @Date: 2023-09-11 * @Version: V1.0 */ -@Api(tags="树型节点") +@Api(tags = "标准体系") @RestController @RequestMapping("/laws/standard/lawsTreeNode") @Slf4j public class LawsTreeNodeController extends JeroController { - @Autowired - private ILawsTreeNodeService lawsTreeNodeService; - /** - * 分页列表查询 - * - * @param lawsTreeNode - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "树型节点-分页列表查询") - @ApiOperation(value="树型节点-分页列表查询", notes="树型节点-分页列表查询") - @GetMapping(value = "/page") - public Result> queryPageList(LawsTreeNode lawsTreeNode, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - IPage pageList = lawsTreeNodeService.queryPage(lawsTreeNode, pageNo, pageSize, req); - return Result.OK(pageList); - } + @Resource + private ILawsTreeNodeService lawsTreeNodeService; - /** - * 列表查询 - * - * @param lawsTreeNode - * @param req - * @return - */ - @AutoLog(value = "树型节点-列表查询") - @ApiOperation(value="树型节点-列表查询", notes="树型节点-列表查询") - @GetMapping(value = "/list") - public Result> queryList(LawsTreeNode lawsTreeNode, HttpServletRequest req) { - List list = lawsTreeNodeService.queryList(lawsTreeNode, req); - return Result.OK(list); - } - - /** - * 添加 - * - * @param lawsTreeNode - * @return - */ - @AutoLog(value = "树型节点-添加") - @ApiOperation(value="树型节点-添加", notes="树型节点-添加") - @PostMapping(value = "/add") - public Result add(@Validated @RequestBody LawsTreeNode lawsTreeNode) { - lawsTreeNodeService.add(lawsTreeNode); - return Result.OK("操作成功!"); - } - - /** - * 编辑 - * - * @param lawsTreeNode - * @return - */ - @AutoLog(value = "树型节点-编辑") - @ApiOperation(value="树型节点-编辑", notes="树型节点-编辑") - @PostMapping(value = "/edit") - public Result edit(@Validated @RequestBody LawsTreeNode lawsTreeNode) { - lawsTreeNodeService.editById(lawsTreeNode); - return Result.OK("操作成功!"); - } - - /** - * 通过id删除 - * - * @param map - * @return - */ - @AutoLog(value = "树型节点-通过id删除") - @ApiOperation(value="树型节点-通过id删除", notes="树型节点-通过id删除") - @PostMapping(value = "/delete") - public Result delete(@RequestBody Map map) { - if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){ - return Result.error("请选择数据!"); + @AutoLog(value = "标准体系-体系树") + @ApiOperation(value = "标准体系-体系树", notes = "标准体系-体系树") + @GetMapping("/{moduleCode}") + public Result> queryTreeList(@PathVariable("moduleCode") String moduleCode) { + Result> result = new Result<>(); + try { + List list = lawsTreeNodeService.queryTreeNodeList(moduleCode); + result.setResult(list); + result.setSuccess(true); + } catch (Exception e) { + log.error(e.getMessage(), e); } - lawsTreeNodeService.deleteById(map.get("id")); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param map - * @return - */ - @AutoLog(value = "树型节点-批量删除") - @ApiOperation(value="树型节点-批量删除", notes="树型节点-批量删除") - @PostMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestBody Map map) { - if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){ - return Result.error("请选择数据!"); - } - this.lawsTreeNodeService.deleteByIds(Arrays.asList(map.get("ids").split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @AutoLog(value = "树型节点-通过id查询") - @ApiOperation(value="树型节点-通过id查询", notes="树型节点-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - LawsTreeNode lawsTreeNode = lawsTreeNodeService.queryById(id); - if(lawsTreeNode==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(lawsTreeNode); - } - - /** - * 导出excel - * - * @param request - * @param lawsTreeNode - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LawsTreeNode lawsTreeNode) { - return super.exportXls(request, lawsTreeNode, LawsTreeNode.class, "树型节点"); + return result; } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, LawsTreeNode.class); + * 添加 + * + * @param lawsTreeNode + * @return + */ + @AutoLog(value = "标准体系-添加") + @ApiOperation(value = "标准体系-添加", notes = "标准体系-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody LawsTreeNode lawsTreeNode, HttpServletRequest request) { + String username = JwtUtil.getUserNameByToken(request); + try { + lawsTreeNode.setCreateBy(username); + lawsTreeNodeService.saveTreeNodeData(lawsTreeNode, username); + return Result.OK("操作成功!"); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error("操作失败"); + } } + /** + * 编辑 + * + * @param lawsTreeNode + * @return + */ + @AutoLog(value = "标准体系-编辑") + @ApiOperation(value = "标准体系-编辑", notes = "标准体系-编辑") + @PostMapping(value = "/edit") + public Result edit(@Validated @RequestBody LawsTreeNode lawsTreeNode, HttpServletRequest request) { + String username = JwtUtil.getUserNameByToken(request); + lawsTreeNode.setUpdateBy(username); + LawsTreeNode lawsTreeNodeEntity = lawsTreeNodeService.getById(lawsTreeNode.getId()); + if (lawsTreeNodeEntity == null) { + return Result.error("未找到对应实体"); + } else { + boolean ok = lawsTreeNodeService.updateTreeNodeDataById(lawsTreeNode, username); + if (ok) { + return Result.OK("操作成功!"); + } + } + return Result.OK(); + } + + /** + * 通过id删除 + * + * @param map + * @return + */ + @AutoLog(value = "标准体系-通过id删除") + @ApiOperation(value = "标准体系-通过id删除", notes = "标准体系-通过id删除") + @PostMapping(value = "/delete") + public Result delete(@RequestBody Map map) { + String id = map.get("id"); + if (StringUtils.isBlank(id)) { + return Result.error("参数不识别!"); + } + LawsTreeNode lawsTreeNode = lawsTreeNodeService.getById(id); + if (lawsTreeNode == null) { + return Result.error("未找到对应实体"); + } else { + boolean ok = lawsTreeNodeService.delete(id, lawsTreeNode.getNodeCode()); + if (ok) { + return Result.OK("删除成功!"); + } + } + return Result.OK(); + } } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsNodeRelation.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsNodeRelation.java index 601472e0..e878cc87 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsNodeRelation.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsNodeRelation.java @@ -31,12 +31,17 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @EqualsAndHashCode(callSuper = false) @ApiModel(value="laws_node_relation对象", description="树型节点关联") public class LawsNodeRelation implements Serializable { - private static final long serialVersionUID = 1L; + + private static final long serialVersionUID = 8767689768978692121L; /**主键ID*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主键ID") private java.lang.String id; + /**节点Id*/ + @Excel(name = "节点code", width = 15) + @ApiModelProperty(value = "节点Id") + private java.lang.String nodeId; /**节点code*/ @Excel(name = "节点code", width = 15) @ApiModelProperty(value = "节点code") diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsTreeNode.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsTreeNode.java index 6ddcf745..6ffd2a23 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsTreeNode.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/entity/LawsTreeNode.java @@ -31,7 +31,8 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; @EqualsAndHashCode(callSuper = false) @ApiModel(value="laws_tree_node对象", description="树型节点") public class LawsTreeNode implements Serializable { - private static final long serialVersionUID = 1L; + + private static final long serialVersionUID = 8976087978697689121L; /**主键ID*/ @TableId(type = IdType.ASSIGN_ID) @@ -54,35 +55,30 @@ public class LawsTreeNode implements Serializable { @ApiModelProperty(value = "更新时间") private java.util.Date updateTime; /**所属部门*/ - @Excel(name = "所属部门", width = 15) @ApiModelProperty(value = "所属部门") private java.lang.String sysCode; /**0表示未删除,1表示删除*/ - @Excel(name = "0表示未删除,1表示删除", width = 15) @ApiModelProperty(value = "0表示未删除,1表示删除") private java.lang.Integer delFlag; /**父节点id*/ - @Excel(name = "父节点id", width = 15) @ApiModelProperty(value = "父节点id") private java.lang.String parentId; /**父节点code*/ - @Excel(name = "父节点code", width = 15) @ApiModelProperty(value = "父节点code") private java.lang.String parentCode; /**节点code*/ - @Excel(name = "节点code", width = 15) @ApiModelProperty(value = "节点code") private java.lang.String nodeCode; /**节点名*/ - @Excel(name = "节点名", width = 15) @ApiModelProperty(value = "节点名") private java.lang.String nodeName; /**所属模块编码*/ - @Excel(name = "所属模块编码", width = 15) @ApiModelProperty(value = "所属模块编码") private java.lang.String moduleCode; /**节点类型(1-根节点、2-子节点)*/ - @Excel(name = "节点类型(1-根节点、2-子节点)", width = 15) @ApiModelProperty(value = "节点类型(1-根节点、2-子节点)") private java.lang.Integer nodeType; + /**排序*/ + @ApiModelProperty(value = "排序") + private java.lang.Integer nodeOrder; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/mapper/xml/LawsNodeRelationMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/standard/mapper/xml/LawsNodeRelationMapper.xml index 55484192..7cf860a5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/mapper/xml/LawsNodeRelationMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/mapper/xml/LawsNodeRelationMapper.xml @@ -3,6 +3,7 @@ + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/ILawsTreeNodeService.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/ILawsTreeNodeService.java index aeec8891..96df0b2e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/ILawsTreeNodeService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/ILawsTreeNodeService.java @@ -1,9 +1,9 @@ package com.jero.modules.laws.standard.service; +import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; import com.jero.modules.laws.standard.entity.LawsTreeNode; import com.baomidou.mybatisplus.extension.service.IService; -import javax.servlet.http.HttpServletRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; + import java.util.List; /** @@ -14,63 +14,34 @@ import java.util.List; */ public interface ILawsTreeNodeService extends IService { - /** - * 分页查询 + /** + * 查询体系树 * - * @param lawsTreeNode - * @param pageNo - * @param pageSize - * @param req * @return */ - IPage queryPage(LawsTreeNode lawsTreeNode, Integer pageNo, Integer pageSize, HttpServletRequest req); - - /** - * 列表查询 - * - * @param lawsTreeNode - * @param req - * @return - */ - List queryList(LawsTreeNode lawsTreeNode, HttpServletRequest req); + List queryTreeNodeList(String moduleCode); /** - * 保存 - * + * 新增 * @param lawsTreeNode - * @return + * @param username */ - void add(LawsTreeNode lawsTreeNode); + void saveTreeNodeData(LawsTreeNode lawsTreeNode, String username); /** * 更新 - * * @param lawsTreeNode + * @param username * @return */ - void editById(LawsTreeNode lawsTreeNode); + boolean updateTreeNodeDataById(LawsTreeNode lawsTreeNode, String username); /** - * 通过id删除 + * 删除 * * @param id + * @param nodeCode * @return */ - void deleteById(String id); - - /** - * 批量删除 - * - * @param ids - * @return - */ - void deleteByIds(List ids); - - /** - * 通过id查询 - * - * @param id - * @return - */ - LawsTreeNode queryById(String id); + boolean delete(String id, String nodeCode); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsTreeNodeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsTreeNodeServiceImpl.java index 5ec3c0cb..5745e494 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsTreeNodeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/LawsTreeNodeServiceImpl.java @@ -1,118 +1,136 @@ package com.jero.modules.laws.standard.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.constant.CommonConstant; +import com.jero.common.constant.FillRuleConstant; +import com.jero.common.util.FillRuleUtil; +import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; +import com.jero.modules.laws.enterprise.util.FindsTreeNodeChildrenUtil; +import com.jero.modules.laws.standard.entity.LawsNodeRelation; import com.jero.modules.laws.standard.entity.LawsTreeNode; +import com.jero.modules.laws.standard.mapper.LawsNodeRelationMapper; import com.jero.modules.laws.standard.mapper.LawsTreeNodeMapper; import com.jero.modules.laws.standard.service.ILawsTreeNodeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jero.common.exception.JeroBootException; + +import java.util.ArrayList; import java.util.List; import java.util.Date; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.common.system.query.QueryGenerator; -import javax.servlet.http.HttpServletRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import java.util.UUID; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import javax.annotation.Resource; /** * @Description: 树型节点 * @Author: jero-boot - * @Date: 2023-09-11 + * @Date: 2023-09-11 * @Version: V1.0 */ @Service @Transactional(rollbackFor = JeroBootException.class) public class LawsTreeNodeServiceImpl extends ServiceImpl implements ILawsTreeNodeService { + @Resource + private LawsNodeRelationMapper lawsNodeRelationMapper; - /** - * 分页查询 - * - * @param lawsTreeNode - * @param pageNo - * @param pageSize - * @param req - * @return - */ @Override - public IPage queryPage(LawsTreeNode lawsTreeNode, Integer pageNo, Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsTreeNode, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - return page(page, queryWrapper); + public List queryTreeNodeList(String moduleCode) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(LawsTreeNode::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); + query.eq(LawsTreeNode::getModuleCode, moduleCode); + query.orderByAsc(LawsTreeNode::getNodeOrder); + List list = this.list(query); + // 调用wrapTreeDataToTreeList方法生成树状数据 + return FindsTreeNodeChildrenUtil.wrapTreeDataToTreeList(list); + } + + @Override + public void saveTreeNodeData(LawsTreeNode lawsTreeNode, String username) { + if (lawsTreeNode != null && username != null) { + if (lawsTreeNode.getParentId() == null) { + lawsTreeNode.setParentId(""); + } + String s = UUID.randomUUID().toString().replace("-", ""); + lawsTreeNode.setId(s); + // 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级 + // 获取父级ID + String parentId = lawsTreeNode.getParentId(); + //update-begin--Author:baihailong Date:20191209 for:部门编码规则生成器做成公用配置 + JSONObject formData = new JSONObject(); + formData.put("parentId", parentId); + String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.SYSTEM, formData); + //update-end--Author:baihailong Date:20191209 for:部门编码规则生成器做成公用配置 + lawsTreeNode.setNodeCode(codeArray[0]); + String nodeType = codeArray[1]; + lawsTreeNode.setNodeType(Integer.valueOf(String.valueOf(nodeType))); + lawsTreeNode.setCreateTime(new Date()); + lawsTreeNode.setDelFlag(Integer.parseInt(CommonConstant.DEL_FLAG_0.toString())); + this.save(lawsTreeNode); + } + } + + @Override + public boolean updateTreeNodeDataById(LawsTreeNode lawsTreeNode, String username) { + if (lawsTreeNode != null && username != null) { + lawsTreeNode.setUpdateTime(new Date()); + lawsTreeNode.setUpdateBy(username); + this.updateById(lawsTreeNode); + return true; + } else { + return false; + } + } + + @Override + public boolean delete(String id, String nodeCode) { + List idList = new ArrayList<>(); + idList.add(id); + List codeList = new ArrayList<>(); + codeList.add(nodeCode); + this.checkChildrenExists(id, idList); + boolean ok = this.removeByIds(idList); + // 根据节点code删除标准关联 + lawsNodeRelationMapper.delete(new LambdaQueryWrapper().in(LawsNodeRelation::getNodeId, codeList)); + return ok; } /** - * 列表查询 + * delete 方法调用 * - * @param lawsTreeNode - * @param req - * @return + * @param id + * @param idList */ - @Override - public List queryList(LawsTreeNode lawsTreeNode, HttpServletRequest req) { - return list(QueryGenerator.initQueryWrapper(lawsTreeNode, req.getParameterMap())); + private void checkChildrenExists(String id, List idList) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(LawsTreeNode::getParentId, id); + List departList = this.list(query); + if (departList != null && !departList.isEmpty()) { + for (LawsTreeNode node : departList) { + idList.add(node.getId()); + this.checkChildrenExists(node.getId(), idList); + } + } } - /** - * 保存 - * - * @param lawsTreeNode - * @return - */ - @Override - public void add(LawsTreeNode lawsTreeNode) { - Date now = new Date(); - lawsTreeNode.setCreateTime(now); - lawsTreeNode.setUpdateTime(now); - save(lawsTreeNode); - } - - /** - * 更新 - * - * @param lawsTreeNode - * @return - */ - @Override - public void editById(LawsTreeNode lawsTreeNode) { - Date now = new Date(); - lawsTreeNode.setUpdateTime(now); - saveOrUpdate(lawsTreeNode); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @Override - public void deleteById(String id) { - removeById(id); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @Override - public void deleteByIds(List ids) { - removeByIds(ids); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @Override - public LawsTreeNode queryById(String id) { - return getById(id); - } +// /** +// * delete 方法调用 +// * @param id +// * @param codeList +// */ +// private void checkChildrenExists(String id, List codeList) { +// LambdaQueryWrapper query = new LambdaQueryWrapper<>(); +// query.eq(LawsTreeNode::getParentId, id); +// List nodeList = this.list(query); +// if (nodeList != null && !nodeList.isEmpty()) { +// for (LawsTreeNode node : nodeList) { +// codeList.add(node.getId()); +// this.checkChildrenExists(node.getNodeCode(), codeList); +// } +// } +// } }