From 053e7a90ca918244e2801623eae5b1e6f2b29182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Thu, 29 Aug 2024 17:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8A=82=E7=82=B9=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/muyu/quest/domain/Node.java | 2 + .../muyu/quest/domain/NodeDisposition.java | 71 +++++++++++ .../controller/NodeDispositionController.java | 119 ++++++++++++++++++ .../quest/mapper/NodeDispositionMapper.java | 16 +++ .../service/INodeDispositionService.java | 38 ++++++ .../impl/NodeDispositionServiceImpl.java | 88 +++++++++++++ 6 files changed, 334 insertions(+) create mode 100644 muyu-quest-common/src/main/java/com/muyu/quest/domain/NodeDisposition.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/mapper/NodeDispositionMapper.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java diff --git a/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java index 61fc877..1b83a13 100644 --- a/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java +++ b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java @@ -2,6 +2,7 @@ package com.muyu.quest.domain; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.validation.custom.IsSysApiState; +import com.muyu.common.core.validation.custom.IsSysNodeType; import com.muyu.common.core.validation.custom.IsSysYesNo; import com.muyu.common.core.web.domain.BaseEntity; import lombok.*; @@ -43,6 +44,7 @@ public class Node extends BaseEntity{ /** 节点类型 */ @Excel(name = "节点类型") + @IsSysNodeType private String nodeType; /** 节点名称 */ diff --git a/muyu-quest-common/src/main/java/com/muyu/quest/domain/NodeDisposition.java b/muyu-quest-common/src/main/java/com/muyu/quest/domain/NodeDisposition.java new file mode 100644 index 0000000..8e607da --- /dev/null +++ b/muyu-quest-common/src/main/java/com/muyu/quest/domain/NodeDisposition.java @@ -0,0 +1,71 @@ +package com.muyu.quest.domain; + +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.validation.custom.IsSysFieldsType; +import com.muyu.common.core.validation.custom.IsSysNodeType; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.*; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; + +/** + * 节点配置对象 node_disposition + * + * @author 2112A + * @date 2024-08-29 + */ + +@Data +@Setter +@Getter +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("node_disposition") +public class NodeDisposition { + private static final long serialVersionUID = 1L; + + /** 自增主键 */ + @TableId( type = IdType.AUTO) + private Long id; + + /** 节点编码 */ + @Excel(name = "节点编码") + private String nodeCode; + + /** 配置编码 */ + @Excel(name = "配置编码") + @IsSysNodeType + private String dispKey; + + /** 配置名称 */ + @Excel(name = "配置名称") + private String dispLabel; + + /** 配置内容 */ + @Excel(name = "配置内容") + private Object dispValue; + + /** 配置类型 */ + @Excel(name = "配置类型") + @IsSysFieldsType + private String dispType; + + + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("nodeCode", getNodeCode()) + .append("dispKey", getDispKey()) + .append("dispLabel", getDispLabel()) + .append("dispValue", getDispValue()) + .append("dispType", getDispType()) + .toString(); + } +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java b/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java new file mode 100644 index 0000000..b62c1ee --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/controller/NodeDispositionController.java @@ -0,0 +1,119 @@ +package com.muyu.quest.controller; + +import java.util.Arrays; +import java.util.List; +import jakarta.servlet.http.HttpServletResponse; +import javax.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.quest.domain.NodeDisposition; +import com.muyu.quest.service.INodeDispositionService; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.poi.ExcelUtil; +import com.muyu.common.security.utils.SecurityUtils; +import org.springframework.validation.annotation.Validated; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 节点配置Controller + * + * @author 2112A + * @date 2024-08-29 + */ +@RestController +@RequestMapping("/disposition") +public class NodeDispositionController extends BaseController +{ + @Resource + private INodeDispositionService nodeDispositionService; + + /** + * 查询节点配置列表 + */ + @RequiresPermissions("quest:disposition:list") + @GetMapping("/list") + public Result> list(NodeDisposition nodeDisposition) + { + startPage(); + List list = nodeDispositionService.selectNodeDispositionList(nodeDisposition); + return getDataTable(list); + } + + /** + * 导出节点配置列表 + */ + @RequiresPermissions("quest:disposition:export") + @PostMapping("/export") + public void export(HttpServletResponse response, NodeDisposition nodeDisposition) + { + List list = nodeDispositionService.selectNodeDispositionList(nodeDisposition); + ExcelUtil util = new ExcelUtil(NodeDisposition.class); + util.exportExcel(response, list, "节点配置数据"); + } + + /** + * 获取节点配置详细信息 + */ + @RequiresPermissions("quest:disposition:query") + @GetMapping(value = "/{id}") + public Result> getInfo(@PathVariable("id") Long id) + { + return success(nodeDispositionService.selectNodeDispositionById(id)); + } + /** + * 获取节点配置详细信息 + */ + @RequiresPermissions("quest:disposition:query") + @GetMapping(value = "/findByNodeCode/{nodeCode}") + public Result getInfo(@PathVariable("nodeCode") String nodeCode) + { + return success(nodeDispositionService.selectNodeDispositionByNodeCode(nodeCode)); + } + + /** + * 新增节点配置 + */ + @RequiresPermissions("quest:disposition:add") + @PostMapping + public Result add( + @Validated @RequestBody NodeDisposition nodeDisposition) + { + if (nodeDispositionService.checkIdUnique(nodeDisposition)) { + return error("新增 节点配置 '" + nodeDisposition + "'失败,节点配置已存在"); + } + return toAjax(nodeDispositionService.save(nodeDisposition)); + } + + /** + * 修改节点配置 + */ + @RequiresPermissions("quest:disposition:edit") + @PutMapping + public Result edit( + @Validated @RequestBody NodeDisposition nodeDisposition) + { + if (!nodeDispositionService.checkIdUnique(nodeDisposition)) { + nodeDispositionService.save(nodeDisposition); + } + return toAjax(nodeDispositionService.updateById(nodeDisposition)); + } + + /** + * 删除节点配置 + */ + @RequiresPermissions("quest:disposition:remove") + @DeleteMapping("/{ids}") + public Result remove(@PathVariable("ids") Long[] ids) + { + nodeDispositionService.removeBatchByIds(Arrays.asList(ids)); + return success(); + } +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/mapper/NodeDispositionMapper.java b/muyu-quest-server/src/main/java/com/muyu/quest/mapper/NodeDispositionMapper.java new file mode 100644 index 0000000..2774d92 --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/mapper/NodeDispositionMapper.java @@ -0,0 +1,16 @@ +package com.muyu.quest.mapper; + +import com.muyu.quest.domain.NodeDisposition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 节点配置Mapper接口 + * + * @author 2112A + * @date 2024-08-29 + */ +@Mapper +public interface NodeDispositionMapper extends BaseMapper{ + +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java new file mode 100644 index 0000000..111fbbb --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/INodeDispositionService.java @@ -0,0 +1,38 @@ +package com.muyu.quest.service; + +import java.util.List; +import com.muyu.quest.domain.NodeDisposition; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 节点配置Service接口 + * + * @author 2112A + * @date 2024-08-29 + */ +public interface INodeDispositionService extends IService { + /** + * 精确查询节点配置 + * + * @param id 节点配置主键 + * @return 节点配置 + */ + public NodeDisposition selectNodeDispositionById(Long id); + + /** + * 查询节点配置列表 + * + * @param nodeDisposition 节点配置 + * @return 节点配置集合 + */ + public List selectNodeDispositionList(NodeDisposition nodeDisposition); + + /** + * 判断 节点配置 id是否唯一 + * @param nodeDisposition 节点配置 + * @return 结果 + */ + Boolean checkIdUnique(NodeDisposition nodeDisposition); + + public NodeDisposition selectNodeDispositionByNodeCode(String nodeCode); +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java new file mode 100644 index 0000000..b6f9e6b --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/NodeDispositionServiceImpl.java @@ -0,0 +1,88 @@ +package com.muyu.quest.service.impl; + +import java.util.List; +import org.springframework.stereotype.Service; +import com.muyu.quest.mapper.NodeDispositionMapper; +import com.muyu.quest.domain.NodeDisposition; +import com.muyu.quest.service.INodeDispositionService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; +import org.springframework.util.Assert; + +/** + * 节点配置Service业务层处理 + * + * @author 2112A + * @date 2024-08-29 + */ +@Service +public class NodeDispositionServiceImpl + extends ServiceImpl + implements INodeDispositionService { + + /** + * 精确查询节点配置 + * + * @param id 节点配置主键 + * @return 节点配置 + */ + @Override + public NodeDisposition selectNodeDispositionById(Long id) + { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Assert.notNull(id, "id不可为空"); + queryWrapper.eq(NodeDisposition::getId, id); + return this.getOne(queryWrapper); + } + + + /** + * 查询节点配置列表 + * + * @param nodeDisposition 节点配置 + * @return 节点配置 + */ + @Override + public List selectNodeDispositionList(NodeDisposition nodeDisposition) + { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(nodeDisposition.getNodeCode())){ + queryWrapper.eq(NodeDisposition::getNodeCode, nodeDisposition.getNodeCode()); + } + if (StringUtils.isNotEmpty(nodeDisposition.getDispKey())){ + queryWrapper.eq(NodeDisposition::getDispKey, nodeDisposition.getDispKey()); + } + if (StringUtils.isNotEmpty(nodeDisposition.getDispLabel())){ + queryWrapper.eq(NodeDisposition::getDispLabel, nodeDisposition.getDispLabel()); + } + if (StringUtils.isNotEmpty(nodeDisposition.getDispValue())){ + queryWrapper.eq(NodeDisposition::getDispValue, nodeDisposition.getDispValue()); + } + if (StringUtils.isNotEmpty(nodeDisposition.getDispType())){ + queryWrapper.eq(NodeDisposition::getDispType, nodeDisposition.getDispType()); + } + return this.list(queryWrapper); + } + + /** + * 唯一 判断 + * @param nodeDisposition 节点配置 + * @return 节点配置 + */ + @Override + public Boolean checkIdUnique(NodeDisposition nodeDisposition) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(NodeDisposition::getId, nodeDisposition.getId()); + return this.count(queryWrapper) > 0; + } + + @Override + public NodeDisposition selectNodeDispositionByNodeCode(String nodeCode) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Assert.notNull(nodeCode, "节点编码不可为空"); + queryWrapper.eq(NodeDisposition::getNodeCode, nodeCode); + return this.getOne(queryWrapper); + } + +}