forked from rzdata/demo-empty
初始化 字典 包
This commit is contained in:
parent
6e51306ced
commit
2ae7c39b9f
18
common/src/main/java/net/rzdata/demo/trait/TreeNode.java
Normal file
18
common/src/main/java/net/rzdata/demo/trait/TreeNode.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package net.rzdata.demo.trait;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface TreeNode<T extends TreeNode<T, ID>, ID> {
|
||||||
|
|
||||||
|
ID getId();
|
||||||
|
|
||||||
|
ID getParentId();
|
||||||
|
|
||||||
|
List<T> getChildren();
|
||||||
|
|
||||||
|
void setChildren(List<T> children);
|
||||||
|
|
||||||
|
default boolean isLeaf() {
|
||||||
|
return getChildren() == null;
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -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<Dict, String> {
|
||||||
|
|
||||||
|
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<Dict> children;
|
||||||
|
}
|
@ -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<Dict> {
|
||||||
|
}
|
@ -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<Dict, DictMapper> {
|
||||||
|
|
||||||
|
public DictRepository(DictMapper mapper) {
|
||||||
|
super(mapper);
|
||||||
|
}
|
||||||
|
}
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user