Browse Source

数据字典基础类提交

linhuili 3 years ago
parent
commit
81dba059c4
19 changed files with 602 additions and 0 deletions
  1. 21 0
      dc-business/dc-dictionary/pom.xml
  2. 63 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictDataController.java
  3. 63 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictTypeController.java
  4. 13 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictDataMapper.java
  5. 13 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictTypeMapper.java
  6. 103 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictData.java
  7. 91 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictType.java
  8. 21 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictDataService.java
  9. 21 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictTypeService.java
  10. 42 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictDataServiceImpl.java
  11. 75 0
      dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictTypeServiceImpl.java
  12. 11 0
      dc-business/dc-dictionary/src/main/resources/bootstrap.yml
  13. 0 0
      dc-business/dc-dictionary/src/main/resources/db.init/data.sql
  14. 41 0
      dc-business/dc-dictionary/src/main/resources/db.init/schema.sql
  15. 5 0
      dc-business/dc-dictionary/src/main/resources/mapper/DictDataMapper.xml
  16. 5 0
      dc-business/dc-dictionary/src/main/resources/mapper/DictTypeMapper.xml
  17. 6 0
      dc-common/pom.xml
  18. 6 0
      dc-server/pom.xml
  19. 2 0
      dc-server/src/main/java/com/persagy/ServerApplication.java

+ 21 - 0
dc-business/dc-dictionary/pom.xml

@@ -10,4 +10,25 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dc-dictionary</artifactId>
     <packaging>jar</packaging>
+
+    <dependencies>
+        <!-- 配置中心(包含注册中心) -->
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>integrated-config-client</artifactId>
+        </dependency>
+        <!-- 项目启动 -->
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dc-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dc-mybatis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>dc-common</artifactId>
+        </dependency>
+    </dependencies>
 </project>

+ 63 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictDataController.java

@@ -0,0 +1,63 @@
+package com.persagy.dc.dic.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dc.common.constant.ResponseCode;
+import com.persagy.dc.common.exception.BusinessException;
+import com.persagy.dc.common.model.response.CommonResult;
+import com.persagy.dc.common.model.response.PageList;
+import com.persagy.dc.common.utils.ResultHelper;
+import com.persagy.dc.dic.entity.DictData;
+import com.persagy.dc.dic.service.DictDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 字典数据
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+@RestController
+@RequestMapping(value = "/dic/data/")
+public class DictDataController {
+
+    @Autowired
+    private DictDataService DictDataService;
+
+    @PostMapping("/create")
+    public CommonResult<DictData> create(@RequestBody DictData DictData) {
+        if(StrUtil.isBlank(DictData.getDictTypeId())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictData content = DictDataService.create(DictData);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/update")
+    public CommonResult<DictData> update(@RequestBody DictData DictData) {
+        if(StrUtil.isBlank(DictData.getDictTypeId())|| StrUtil.isBlank(DictData.getId()) ){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictData content = DictDataService.update(DictData);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/delete")
+    public CommonResult<DictData> delete(@RequestBody DictData DictData) {
+        if(StrUtil.isBlank(DictData.getDictTypeId()) || StrUtil.isBlank(DictData.getId()) ){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictData content = DictDataService.delete(DictData);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/query")
+    public CommonResult<PageList<DictData>> query(@RequestBody DictData DictData) {
+        List<DictData> content = DictDataService.query(DictData);
+        return ResultHelper.multi(content);
+    }
+}

+ 63 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/controller/DictTypeController.java

@@ -0,0 +1,63 @@
+package com.persagy.dc.dic.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dc.common.constant.ResponseCode;
+import com.persagy.dc.common.exception.BusinessException;
+import com.persagy.dc.common.model.response.CommonResult;
+import com.persagy.dc.common.utils.ResultHelper;
+import com.persagy.dc.dic.entity.DictType;
+import com.persagy.dc.dic.service.DictTypeService;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 字典类型
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+@RestController
+@RequestMapping(value = "/dic/type/")
+public class DictTypeController {
+
+    @Autowired
+    private DictTypeService dictTypeService;
+
+    @PostMapping("/create")
+    public CommonResult<DictType> create(@RequestBody DictType dictType) {
+        if(StrUtil.isBlank(dictType.getGroupCode())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictType content = dictTypeService.create(dictType);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/update")
+    public CommonResult<DictType> update(@RequestBody DictType dictType) {
+        if(StrUtil.isBlank(dictType.getGroupCode())|| StrUtil.isBlank(dictType.getId()) ){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictType content = dictTypeService.update(dictType);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/delete")
+    public CommonResult<DictType> delete(@RequestBody DictType dictType) {
+        if(StrUtil.isBlank(dictType.getGroupCode()) || StrUtil.isBlank(dictType.getId()) ){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        DictType content = dictTypeService.delete(dictType);
+        return ResultHelper.single(content);
+    }
+
+    @PostMapping("/query")
+    public CommonResult<List<DictType>> query(@RequestBody DictType dictType) {
+        if(StrUtil.isBlank(dictType.getGroupCode())){
+            throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
+        }
+        List<DictType> content = dictTypeService.query(dictType);
+        return ResultHelper.single(content);
+    }
+}

+ 13 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictDataMapper.java

@@ -0,0 +1,13 @@
+package com.persagy.dc.dic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.persagy.dc.dic.entity.DictData;
+
+/**
+ * 字典数据
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+public interface DictDataMapper extends BaseMapper<DictData> {
+
+}

+ 13 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/dao/DictTypeMapper.java

@@ -0,0 +1,13 @@
+package com.persagy.dc.dic.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.persagy.dc.dic.entity.DictType;
+
+/**
+ * 字典类型
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+public interface DictTypeMapper extends BaseMapper<DictType> {
+
+}

+ 103 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictData.java

@@ -0,0 +1,103 @@
+package com.persagy.dc.dic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.lang.PsDateTime;
+import lombok.*;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 字典数据
+ * @author linhuili
+ * @since 2021/06/10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("dic_dt_data")
+public class DictData implements Serializable {
+	private static final long serialVersionUID = 1469402428094643376L;
+
+	/**
+	 * 主键ID
+	 */
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private String id;
+
+	/**
+	 * 字典类型ID
+	 */
+	@TableId(value = "dict_type_id")
+	private String dictTypeId;
+
+	/**
+	 * 父节点
+	 */
+	@TableId(value = "parent_id")
+	private String parentCode;
+
+	/**
+	 * 字典类型
+	 */
+	@TableId(value = "type")
+	private String type;
+
+	/**
+	 * 字典数据编码
+	 */
+	@TableId(value = "code")
+	private String code;
+
+	/**
+	 * 字典数据标签
+	 */
+	@TableId(value = "label")
+	private String label;
+
+	/**
+	 * 状态 0:停用,1:正常
+	 */
+	@TableId(value = "status")
+	private String status;
+
+	/**
+	 *  创建时间
+	 */
+	@TableId(value = "create_time")
+	private PsDateTime createTime;
+
+	/**
+	 *  创建用户
+	 */
+	@TableId(value = "create_user")
+	private String createUser;
+
+	/**
+	 *  更新时间
+	 */
+	@TableId(value = "update_time")
+	private PsDateTime updateTime;
+
+	/**
+	 *  更新用户
+	 */
+	@TableId(value = "update_user")
+	private String updateUser;
+
+	/**
+	 *  备注
+	 */
+	@TableId(value = "remark")
+	private String remark;
+
+	/**
+	 *  排序字段
+	 */
+	@TableId(value = "order_num")
+	private Integer orderNum;
+	
+
+}

+ 91 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/entity/DictType.java

@@ -0,0 +1,91 @@
+package com.persagy.dc.dic.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.dc.common.lang.PsDateTime;
+import com.persagy.dc.common.model.entity.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.persagy.common.utils.IdGenerator;
+
+/**
+ * 字典类型
+ * @author linhuili
+ * @since 2021/06/10
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("dic_dt_type")
+public class DictType {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    /**
+     * 集团编码
+     */
+    @TableId(value = "group_code")
+    private String groupCode;
+
+    /**
+     * 字典类型
+     */
+    @TableId(value = "type")
+    private String type;
+
+    /**
+     * 字典类型名称
+     */
+    @TableId(value = "name")
+    private String name;
+
+    /**
+     * 描述
+     */
+    @TableId(value = "description")
+    private String description;
+
+    /**
+     * 状态 0:停用,1:正常
+     */
+    @TableId(value = "status")
+    private String status;
+
+    /**
+     *  创建时间
+     */
+    @TableId(value = "create_time")
+    private PsDateTime createTime;
+
+    /**
+     *  创建用户
+     */
+    @TableId(value = "create_user")
+    private String createUser;
+
+    /**
+     *  更新时间
+     */
+    @TableId(value = "update_time")
+    private PsDateTime updateTime;
+
+    /**
+     *  更新用户
+     */
+    @TableId(value = "update_user")
+    private String updateUser;
+
+    /**
+     *  备注
+     */
+    @TableId(value = "remark")
+    private String remark;
+}

+ 21 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictDataService.java

@@ -0,0 +1,21 @@
+package com.persagy.dc.dic.service;
+
+import com.persagy.dc.dic.entity.DictData;
+
+import java.util.List;
+
+/**
+ * 字典数据
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+public interface DictDataService {
+
+    DictData create(DictData dictData);
+
+    DictData update(DictData dictData);
+
+    DictData delete(DictData dictData);
+
+    List<DictData> query(DictData dictData);
+}

+ 21 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/DictTypeService.java

@@ -0,0 +1,21 @@
+package com.persagy.dc.dic.service;
+
+import com.persagy.dc.dic.entity.DictType;
+
+import java.util.List;
+
+/**
+ * 字典类型
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+public interface DictTypeService {
+
+    DictType create(DictType dictType);
+
+    DictType update(DictType dictType);
+
+    DictType delete(DictType dictType);
+
+    List<DictType> query(DictType dictType);
+}

+ 42 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictDataServiceImpl.java

@@ -0,0 +1,42 @@
+package com.persagy.dc.dic.service.impl;
+
+import com.persagy.dc.dic.dao.DictDataMapper;
+import com.persagy.dc.dic.entity.DictData;
+import com.persagy.dc.dic.service.DictDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 字典数据
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+@Service
+public class DictDataServiceImpl implements DictDataService {
+
+    @Autowired
+    private DictDataMapper DictDataMapper;
+
+
+    @Override
+    public DictData create(DictData dictData) {
+        return null;
+    }
+
+    @Override
+    public DictData update(DictData dictData) {
+        return null;
+    }
+
+    @Override
+    public DictData delete(DictData dictData) {
+        return null;
+    }
+
+    @Override
+    public List<DictData> query(DictData dictData) {
+        return null;
+    }
+}

+ 75 - 0
dc-business/dc-dictionary/src/main/java/com/persagy/dc/dic/service/impl/DictTypeServiceImpl.java

@@ -0,0 +1,75 @@
+package com.persagy.dc.dic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.persagy.common.utils.IdGenerator;
+import com.persagy.dc.dic.dao.DictTypeMapper;
+import com.persagy.dc.dic.entity.DictType;
+import com.persagy.dc.dic.service.DictTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 字典类型
+ * @author:linhuili
+ * @date:2021/6/10
+ */
+@Service
+public class DictTypeServiceImpl implements DictTypeService {
+
+    @Autowired
+    private DictTypeMapper dictTypeMapper;
+
+    /**
+     * 添加
+     * @param dictType
+     * @return
+     */
+    @Override
+    public DictType create(DictType dictType) {
+        dictType.setId(IdGenerator.getUUID());
+        dictType.setStatus("1");
+        dictTypeMapper.insert(dictType);
+        return dictType;
+    }
+
+    /**
+     * 修改
+     * @param dictType
+     * @return
+     */
+    @Override
+    public DictType update(DictType dictType) {
+        dictTypeMapper.updateById(dictType);
+        return dictType;
+    }
+
+    /**
+     * 删除
+     * @param dictType
+     * @return
+     */
+    @Override
+    public DictType delete(DictType dictType) {
+        dictType.setStatus("0");
+        dictTypeMapper.updateById(dictType);
+        return dictType;
+    }
+
+    /**
+     * 查询
+     * @param dictType
+     * @return
+     */
+    @Override
+    public List<DictType> query(DictType dictType) {
+        LambdaQueryWrapper<DictType> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DictType::getId,dictType.getId());
+        List<DictType> dictTypes = dictTypeMapper.selectList(queryWrapper);
+        return dictTypes;
+    }
+
+
+}

+ 11 - 0
dc-business/dc-dictionary/src/main/resources/bootstrap.yml

@@ -0,0 +1,11 @@
+server:
+  port: 9001
+spring:
+  application:
+    # 应用名称
+    name: dc-dic
+
+config:
+  file:
+    absolute:
+      path: ${CONFIG_FILE_PATH:D:\SpringCloud}

+ 0 - 0
dc-business/dc-dictionary/src/main/resources/db.init/data.sql


+ 41 - 0
dc-business/dc-dictionary/src/main/resources/db.init/schema.sql

@@ -0,0 +1,41 @@
+-- ----------------------------
+-- Table structure for dic_dt_type
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS `dic_dt_data` (
+`id` varchar(80) NOT NULL,
+`dict_type_id` varchar(80) NOT NULL COMMENT '字典类型ID',
+`parent_id` varchar(80) DEFAULT NULL COMMENT '父节点',
+`type` varchar(80) NOT NULL COMMENT '字典类型',
+`code` varchar(200) NOT NULL COMMENT '字典数据编码',
+`label` varchar(200) NOT NULL COMMENT '字典数据标签',
+`status` int(11) NOT NULL COMMENT '状态',
+`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+`create_user` varchar(40) DEFAULT NULL COMMENT '创建用户',
+`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+`update_user` varchar(40) DEFAULT NULL COMMENT '更新用户',
+`remark` varchar(200) DEFAULT NULL,
+`order_num` int(11) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典数据';
+
+-- ----------------------------
+-- Table structure for dic_dt_data
+-- ----------------------------
+CREATE TABLE IF NOT EXISTS  `dic_dt_data` (
+`id` varchar(80) NOT NULL,
+`dict_type_id` varchar(80) NOT NULL COMMENT '字典类型ID',
+`parent_id` varchar(80) DEFAULT NULL COMMENT '父节点',
+`type` varchar(80) NOT NULL COMMENT '字典类型',
+`code` varchar(200) NOT NULL COMMENT '字典数据编码',
+`label` varchar(200) NOT NULL COMMENT '字典数据标签',
+`status` int(11) NOT NULL COMMENT '状态',
+`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+`create_user` varchar(40) DEFAULT NULL COMMENT '创建用户',
+`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+`update_user` varchar(40) DEFAULT NULL COMMENT '更新用户',
+`remark` varchar(200) DEFAULT NULL,
+`order_num` int(11) DEFAULT NULL,
+PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字典数据';
+
+

+ 5 - 0
dc-business/dc-dictionary/src/main/resources/mapper/DictDataMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.persagy.dc.dic.dao.DictDataMapper">
+
+</mapper>

+ 5 - 0
dc-business/dc-dictionary/src/main/resources/mapper/DictTypeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.persagy.dc.dic.dao.DictTypeMapper">
+
+</mapper>

+ 6 - 0
dc-common/pom.xml

@@ -32,5 +32,11 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
+
+        <!-- integrated -->
+        <dependency>
+            <groupId>com.persagy</groupId>
+            <artifactId>integrated-common-core</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 6 - 0
dc-server/pom.xml

@@ -28,5 +28,11 @@
             <artifactId>spring-cloud-commons</artifactId>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis-spring</artifactId>
+            <version>2.0.3</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 </project>

+ 2 - 0
dc-server/src/main/java/com/persagy/ServerApplication.java

@@ -2,6 +2,7 @@ package com.persagy;
 
 import cn.hutool.extra.spring.EnableSpringUtil;
 import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.Banner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -20,6 +21,7 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 @EnableSpringUtil
 @SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
+@MapperScan(value = "com.persagy.dc.*.dao")
 public class ServerApplication {
 
     public static void main(String[] args) {