From 2ae7c39b9f3edb5e4b367077a875f8f6276b3095 Mon Sep 17 00:00:00 2001 From: jiangdingxuan Date: Mon, 8 Jan 2024 13:38:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=20=E5=AD=97?= =?UTF-8?q?=E5=85=B8=20=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/rzdata/demo/trait/TreeNode.java | 18 ++++++ .../net/rzdata/demo/dict/DictController.java | 21 +++++++ .../net/rzdata/demo/dict/DictService.java | 16 +++++ .../net/rzdata/demo/dict/domain/Dict.java | 58 +++++++++++++++++++ .../rzdata/demo/dict/mapper/DictMapper.java | 9 +++ .../demo/dict/mapper/DictRepository.java | 13 +++++ .../net/rzdata/demo/DemoTestApplication.java | 12 ++++ .../net/rzdata/demo/dict/DictServiceTest.java | 12 ++++ .../src/test/resources/application-test.yml | 0 9 files changed, 159 insertions(+) create mode 100644 common/src/main/java/net/rzdata/demo/trait/TreeNode.java create mode 100644 service/system/src/main/java/net/rzdata/demo/dict/DictController.java create mode 100644 service/system/src/main/java/net/rzdata/demo/dict/DictService.java create mode 100644 service/system/src/main/java/net/rzdata/demo/dict/domain/Dict.java create mode 100644 service/system/src/main/java/net/rzdata/demo/dict/mapper/DictMapper.java create mode 100644 service/system/src/main/java/net/rzdata/demo/dict/mapper/DictRepository.java create mode 100644 service/system/src/test/java/net/rzdata/demo/DemoTestApplication.java create mode 100644 service/system/src/test/java/net/rzdata/demo/dict/DictServiceTest.java create mode 100644 service/system/src/test/resources/application-test.yml diff --git a/common/src/main/java/net/rzdata/demo/trait/TreeNode.java b/common/src/main/java/net/rzdata/demo/trait/TreeNode.java new file mode 100644 index 0000000..5ab7fd1 --- /dev/null +++ b/common/src/main/java/net/rzdata/demo/trait/TreeNode.java @@ -0,0 +1,18 @@ +package net.rzdata.demo.trait; + +import java.util.List; + +public interface TreeNode, ID> { + + ID getId(); + + ID getParentId(); + + List getChildren(); + + void setChildren(List children); + + default boolean isLeaf() { + return getChildren() == null; + } +} diff --git a/service/system/src/main/java/net/rzdata/demo/dict/DictController.java b/service/system/src/main/java/net/rzdata/demo/dict/DictController.java new file mode 100644 index 0000000..2abfb8b --- /dev/null +++ b/service/system/src/main/java/net/rzdata/demo/dict/DictController.java @@ -0,0 +1,21 @@ +package net.rzdata.demo.dict; + +import net.rzdata.demo.dict.domain.AddDictTypeReq; +import net.rzdata.demo.dict.domain.Dict; +import net.rzdata.demo.dict.domain.UpdateDictReq; +import net.rzdata.domain.Id; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/dict") +public class DictController { + + private final DictService dictService; + + public DictController(DictService dictService) { + this.dictService = dictService; + } +} diff --git a/service/system/src/main/java/net/rzdata/demo/dict/DictService.java b/service/system/src/main/java/net/rzdata/demo/dict/DictService.java new file mode 100644 index 0000000..2f41fab --- /dev/null +++ b/service/system/src/main/java/net/rzdata/demo/dict/DictService.java @@ -0,0 +1,16 @@ +package net.rzdata.demo.dict; + +import net.rzdata.demo.dict.domain.Dict; +import net.rzdata.demo.dict.mapper.DictMapper; +import net.rzdata.demo.dict.mapper.DictRepository; +import org.springframework.stereotype.Service; + +@Service +public class DictService { + + private final DictRepository dictRepository; + + public DictService(DictRepository dictRepository) { + this.dictRepository = dictRepository; + } +} diff --git a/service/system/src/main/java/net/rzdata/demo/dict/domain/Dict.java b/service/system/src/main/java/net/rzdata/demo/dict/domain/Dict.java new file mode 100644 index 0000000..dee7e75 --- /dev/null +++ b/service/system/src/main/java/net/rzdata/demo/dict/domain/Dict.java @@ -0,0 +1,58 @@ +package net.rzdata.demo.dict.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.*; +import net.rzdata.demo.trait.TreeNode; + +import java.util.Collections; +import java.util.List; + +/** + * 字典 + */ +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class Dict implements TreeNode { + + public static final Dict ROOT = new Dict("0", "字典", "dict", "dict", 0, false, "0", Collections.emptyList()); + + /** + * 字典主键 + */ + @TableId(type = IdType.ASSIGN_ID) + String id; + /** + * 字典标签 + */ + String label; + /** + * 字典键值 + */ + String value; + /** + * 字典类型 + */ + String type; + /** + * 字典排序 + */ + Integer sort; + /** + * 是否停用 + */ + Boolean disabled; + /** + * 父节点ID + */ + String parentId; + /** + * 子节点 + */ + @TableField(exist = false) + List children; +} diff --git a/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictMapper.java b/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictMapper.java new file mode 100644 index 0000000..d307a19 --- /dev/null +++ b/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictMapper.java @@ -0,0 +1,9 @@ +package net.rzdata.demo.dict.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.rzdata.demo.dict.domain.Dict; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DictMapper extends BaseMapper { +} diff --git a/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictRepository.java b/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictRepository.java new file mode 100644 index 0000000..b8cbe79 --- /dev/null +++ b/service/system/src/main/java/net/rzdata/demo/dict/mapper/DictRepository.java @@ -0,0 +1,13 @@ +package net.rzdata.demo.dict.mapper; + +import net.rzdata.demo.dict.domain.Dict; +import net.rzdata.demo.trait.BaseRepository; +import org.springframework.stereotype.Repository; + +@Repository +public class DictRepository extends BaseRepository { + + public DictRepository(DictMapper mapper) { + super(mapper); + } +} diff --git a/service/system/src/test/java/net/rzdata/demo/DemoTestApplication.java b/service/system/src/test/java/net/rzdata/demo/DemoTestApplication.java new file mode 100644 index 0000000..41bee7f --- /dev/null +++ b/service/system/src/test/java/net/rzdata/demo/DemoTestApplication.java @@ -0,0 +1,12 @@ +package net.rzdata.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DemoTestApplication { + + public static void main(String[] args) { + SpringApplication.run(DemoTestApplication.class, args); + } +} diff --git a/service/system/src/test/java/net/rzdata/demo/dict/DictServiceTest.java b/service/system/src/test/java/net/rzdata/demo/dict/DictServiceTest.java new file mode 100644 index 0000000..c45114a --- /dev/null +++ b/service/system/src/test/java/net/rzdata/demo/dict/DictServiceTest.java @@ -0,0 +1,12 @@ +package net.rzdata.demo.dict; + +import jakarta.annotation.Resource; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class DictServiceTest { + + @Resource + private transient DictService dictService; +} diff --git a/service/system/src/test/resources/application-test.yml b/service/system/src/test/resources/application-test.yml new file mode 100644 index 0000000..e69de29