24282 il y a 2 ans
Parent
commit
76b54acce2
18 fichiers modifiés avec 764 ajouts et 0 suppressions
  1. 74 0
      hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictCommonDataController.java
  2. 77 0
      hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictTenantDataController.java
  3. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonDataDto.java
  4. 25 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonDataSelectDto.java
  5. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantDataDto.java
  6. 31 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantDataSelectDto.java
  7. 46 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictCommonData.java
  8. 53 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictTenantData.java
  9. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictCommonDataVo.java
  10. 24 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictTenantDataVo.java
  11. 26 0
      hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictCommonDataMapper.java
  12. 26 0
      hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictTenantDataMapper.java
  13. 46 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictCommonDataService.java
  14. 46 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictTenantDataService.java
  15. 86 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictCommonDataServiceImpl.java
  16. 105 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictTenantDataServiceImpl.java
  17. 19 0
      hx-tenant/src/main/resources/mapper/dict/DictCommonDataMapper.xml
  18. 29 0
      hx-tenant/src/main/resources/mapper/dict/DictTenantDataMapper.xml

+ 74 - 0
hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictCommonDataController.java

@@ -0,0 +1,74 @@
+package com.fjhx.tenant.controller.dict;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.constant.BaseSourceConstant;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.vo.DictCommonDataVo;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataSelectDto;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.tenant.service.dict.DictCommonDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 业务字典明细 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+@TenantIgnore
+@DS(BaseSourceConstant.BASE)
+@RestController
+@RequestMapping("/dictCommonData")
+public class DictCommonDataController {
+
+    @Autowired
+    private DictCommonDataService dictCommonDataService;
+
+    /**
+     * 业务字典明细分页
+     */
+    @PostMapping("/page")
+    public Page<DictCommonDataVo> page(@Validated @RequestBody DictCommonDataSelectDto dto) {
+        return dictCommonDataService.getPage(dto);
+    }
+
+    /**
+     * 业务字典明细明细
+     */
+    @PostMapping("/detail")
+    public DictCommonDataVo detail(@RequestBody BaseSelectDto dto) {
+        return dictCommonDataService.detail(dto.getId());
+    }
+
+    /**
+     * 业务字典明细新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody DictCommonDataDto dictCommonDataDto) {
+        dictCommonDataService.add(dictCommonDataDto);
+    }
+
+    /**
+     * 业务字典明细编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DictCommonDataDto dictCommonDataDto) {
+        dictCommonDataService.edit(dictCommonDataDto);
+    }
+
+    /**
+     * 业务字典明细删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        dictCommonDataService.delete(dto.getId());
+    }
+
+}

+ 77 - 0
hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictTenantDataController.java

@@ -0,0 +1,77 @@
+package com.fjhx.tenant.controller.dict;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataDto;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.constant.BaseSourceConstant;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+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;
+
+
+/**
+ * <p>
+ * 租户字典明细 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@TenantIgnore
+@DS(BaseSourceConstant.BASE)
+@RestController
+@RequestMapping("/dictTenantData")
+public class DictTenantDataController {
+
+    @Autowired
+    private DictTenantDataService dictTenantDataService;
+
+    /**
+     * 租户字典明细分页
+     */
+    @PostMapping("/page")
+    public Page<DictTenantDataVo> page(@Validated @RequestBody DictTenantDataSelectDto dto) {
+        return dictTenantDataService.getPage(dto);
+    }
+
+    /**
+     * 租户字典明细明细
+     */
+    @PostMapping("/detail")
+    public DictTenantDataVo detail(@RequestBody BaseSelectDto dto) {
+        return dictTenantDataService.detail(dto.getId());
+    }
+
+    /**
+     * 租户字典明细新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody DictTenantDataDto dictTenantDataDto) {
+        dictTenantDataService.add(dictTenantDataDto);
+    }
+
+    /**
+     * 租户字典明细编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DictTenantDataDto dictTenantDataDto) {
+        dictTenantDataService.edit(dictTenantDataDto);
+    }
+
+    /**
+     * 租户字典明细删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        dictTenantDataService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonDataDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 业务字典明细新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictCommonDataDto extends DictCommonData {
+
+}

+ 25 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonDataSelectDto.java

@@ -0,0 +1,25 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 业务字典明细列表查询入参实体
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictCommonDataSelectDto extends BaseSelectDto {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String dictCode;
+
+}

+ 17 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantDataDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 租户字典明细新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictTenantDataDto extends DictTenantData {
+
+}

+ 31 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantDataSelectDto.java

@@ -0,0 +1,31 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 租户字典明细列表查询入参实体
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictTenantDataSelectDto extends BaseSelectDto {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String dictCode;
+
+    /**
+     * 租户id
+     */
+    @NotBlank(message = "租户id不能为空")
+    private String tenantId;
+
+}

+ 46 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictCommonData.java

@@ -0,0 +1,46 @@
+package com.fjhx.tenant.entity.dict.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ * 业务字典明细
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+@TableName("dict_common_data")
+public class DictCommonData extends BasePo {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String dictCode;
+
+    /**
+     * key
+     */
+    @NotBlank(message = "key不能为空")
+    private String dictKey;
+
+    /**
+     * value
+     */
+    @NotBlank(message = "value不能为空")
+    private String dictValue;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+}

+ 53 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictTenantData.java

@@ -0,0 +1,53 @@
+package com.fjhx.tenant.entity.dict.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ * 租户字典明细
+ * </p>
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+@TableName("dict_tenant_data")
+public class DictTenantData extends BasePo {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String dictCode;
+
+    /**
+     * key
+     */
+    @NotBlank(message = "字典key不能为空")
+    private String dictKey;
+
+    /**
+     * value
+     */
+    @NotBlank(message = "字典value不能为空")
+    private String dictValue;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 租户id
+     */
+    @NotBlank(message = "租户id不能为空")
+    private String tenantId;
+
+}

+ 17 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictCommonDataVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.tenant.entity.dict.vo;
+
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 业务字典明细列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictCommonDataVo extends DictCommonData {
+
+}

+ 24 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictTenantDataVo.java

@@ -0,0 +1,24 @@
+package com.fjhx.tenant.entity.dict.vo;
+
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 租户字典明细列表查询返回值实体
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictTenantDataVo extends DictTenantData {
+
+    /**
+     * 类型
+     * 1、业务字典
+     * 2、租户字典
+     */
+    private Integer type;
+
+}

+ 26 - 0
hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictCommonDataMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.tenant.mapper.dict;
+
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.vo.DictCommonDataVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 业务字典明细 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+public interface DictCommonDataMapper extends BaseMapper<DictCommonData> {
+
+    /**
+     * 业务字典明细分页
+     */
+    Page<DictCommonDataVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<DictCommonData> wrapper);
+
+}

+ 26 - 0
hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictTenantDataMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.tenant.mapper.dict;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 租户字典明细 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+public interface DictTenantDataMapper extends BaseMapper<DictTenantData> {
+
+    /**
+     * 租户字典明细分页
+     */
+    Page<DictTenantDataVo> getPage(@Param("page") Page<Object> page, @Param("dto") DictTenantDataSelectDto dto);
+
+}

+ 46 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictCommonDataService.java

@@ -0,0 +1,46 @@
+package com.fjhx.tenant.service.dict;
+
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.vo.DictCommonDataVo;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataSelectDto;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataDto;
+
+
+/**
+ * <p>
+ * 业务字典明细 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+public interface DictCommonDataService extends BaseService<DictCommonData> {
+
+    /**
+     * 业务字典明细分页
+     */
+    Page<DictCommonDataVo> getPage(DictCommonDataSelectDto dto);
+
+    /**
+     * 业务字典明细明细
+     */
+    DictCommonDataVo detail(Long id);
+
+    /**
+     * 业务字典明细新增
+     */
+    void add(DictCommonDataDto dictCommonDataDto);
+
+    /**
+     * 业务字典明细编辑
+     */
+    void edit(DictCommonDataDto dictCommonDataDto);
+
+    /**
+     * 业务字典明细删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictTenantDataService.java

@@ -0,0 +1,46 @@
+package com.fjhx.tenant.service.dict;
+
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataDto;
+
+
+/**
+ * <p>
+ * 租户字典明细 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-03-30
+ */
+public interface DictTenantDataService extends BaseService<DictTenantData> {
+
+    /**
+     * 租户字典明细分页
+     */
+    Page<DictTenantDataVo> getPage(DictTenantDataSelectDto dto);
+
+    /**
+     * 租户字典明细明细
+     */
+    DictTenantDataVo detail(Long id);
+
+    /**
+     * 租户字典明细新增
+     */
+    void add(DictTenantDataDto dictTenantDataDto);
+
+    /**
+     * 租户字典明细编辑
+     */
+    void edit(DictTenantDataDto dictTenantDataDto);
+
+    /**
+     * 租户字典明细删除
+     */
+    void delete(Long id);
+
+}

+ 86 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictCommonDataServiceImpl.java

@@ -0,0 +1,86 @@
+package com.fjhx.tenant.service.dict.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataDto;
+import com.fjhx.tenant.entity.dict.dto.DictCommonDataSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import com.fjhx.tenant.entity.dict.vo.DictCommonDataVo;
+import com.fjhx.tenant.mapper.dict.DictCommonDataMapper;
+import com.fjhx.tenant.service.dict.DictCommonDataService;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+
+/**
+ * <p>
+ * 业务字典明细 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Service
+public class DictCommonDataServiceImpl extends ServiceImpl<DictCommonDataMapper, DictCommonData> implements DictCommonDataService {
+
+    @Autowired
+    private DictTenantDataService dictTenantDataService;
+
+    @Override
+    public Page<DictCommonDataVo> getPage(DictCommonDataSelectDto dto) {
+        IWrapper<DictCommonData> wrapper = getWrapper();
+        wrapper.eq("dcd", DictCommonData::getDictCode, dto.getDictCode());
+        wrapper.orderByAsc("dcd", DictCommonData::getSort);
+        return this.baseMapper.getPage(dto.getPage(), wrapper);
+    }
+
+    @Override
+    public DictCommonDataVo detail(Long id) {
+        DictCommonData DictCommonData = this.getById(id);
+        DictCommonDataVo result = BeanUtil.toBean(DictCommonData, DictCommonDataVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(DictCommonDataDto dictCommonDataDto) {
+
+        dictTenantDataService.nameDuplication(DictTenantData::getDictKey, dictCommonDataDto.getDictKey(), "key已存在");
+        dictTenantDataService.nameDuplication(DictTenantData::getDictValue, dictCommonDataDto.getDictValue(), "value已存在");
+
+        nameDuplication(DictCommonData::getDictKey, dictCommonDataDto.getDictKey(), "key已存在");
+        nameDuplication(DictCommonData::getDictValue, dictCommonDataDto.getDictValue(), "value已存在");
+
+        this.save(dictCommonDataDto);
+    }
+
+    @Override
+    public void edit(DictCommonDataDto dictCommonDataDto) {
+        dictCommonDataDto.setDictCode(null);
+
+        Long id = dictCommonDataDto.getId();
+        if (Objects.isNull(id)) {
+            throw new ServiceException("id不能为空");
+        }
+
+        dictTenantDataService.nameDuplication(DictTenantData::getDictKey, dictCommonDataDto.getDictKey(), id, "key已存在");
+        dictTenantDataService.nameDuplication(DictTenantData::getDictValue, dictCommonDataDto.getDictValue(), id, "value已存在");
+
+        nameDuplication(DictCommonData::getDictKey, dictCommonDataDto.getDictKey(), id, "key已存在");
+        nameDuplication(DictCommonData::getDictValue, dictCommonDataDto.getDictValue(), id, "value已存在");
+
+        this.updateById(dictCommonDataDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 105 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictTenantDataServiceImpl.java

@@ -0,0 +1,105 @@
+package com.fjhx.tenant.service.dict.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataDto;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
+import com.fjhx.tenant.entity.dict.po.DictTenantData;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.mapper.dict.DictTenantDataMapper;
+import com.fjhx.tenant.service.dict.DictCommonDataService;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.exception.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+
+/**
+ * <p>
+ * 租户字典明细 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Service
+public class DictTenantDataServiceImpl extends ServiceImpl<DictTenantDataMapper, DictTenantData> implements DictTenantDataService {
+
+    @Autowired
+    private DictCommonDataService dictCommonDataService;
+
+    @Override
+    public Page<DictTenantDataVo> getPage(DictTenantDataSelectDto dto) {
+        return this.baseMapper.getPage(dto.getPage(), dto);
+    }
+
+    @Override
+    public DictTenantDataVo detail(Long id) {
+        DictTenantData DictTenantData = this.getById(id);
+        DictTenantDataVo result = BeanUtil.toBean(DictTenantData, DictTenantDataVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(DictTenantDataDto dictTenantDataDto) {
+
+        long dictTenantDataKeyCount = count(q -> q
+                .eq(DictTenantData::getDictKey, dictTenantDataDto.getDictKey())
+                .eq(DictTenantData::getTenantId, dictTenantDataDto.getTenantId()));
+        if (dictTenantDataKeyCount > 0) {
+            throw new ServiceException("key已存在");
+        }
+
+        long dictTenantDataValueCount = count(q -> q
+                .eq(DictTenantData::getDictValue, dictTenantDataDto.getDictValue())
+                .eq(DictTenantData::getTenantId, dictTenantDataDto.getTenantId()));
+        if (dictTenantDataValueCount > 0) {
+            throw new ServiceException("value已存在");
+        }
+
+        dictCommonDataService.nameDuplication(DictCommonData::getDictKey, dictTenantDataDto.getDictKey(), "key已存在");
+        dictCommonDataService.nameDuplication(DictCommonData::getDictValue, dictTenantDataDto.getDictValue(), "value已存在");
+
+        this.save(dictTenantDataDto);
+    }
+
+    @Override
+    public void edit(DictTenantDataDto dictTenantDataDto) {
+
+        Long id = dictTenantDataDto.getId();
+        if (Objects.isNull(id)) {
+            throw new ServiceException("id不能为空");
+        }
+
+        long dictTenantDataKeyCount = count(q -> q
+                .eq(DictTenantData::getDictKey, dictTenantDataDto.getDictKey())
+                .eq(DictTenantData::getTenantId, dictTenantDataDto.getTenantId())
+                .ne(DictTenantData::getId, id));
+        if (dictTenantDataKeyCount > 0) {
+            throw new ServiceException("key已存在");
+        }
+
+        long dictTenantDataValueCount = count(q -> q
+                .eq(DictTenantData::getDictValue, dictTenantDataDto.getDictValue())
+                .eq(DictTenantData::getTenantId, dictTenantDataDto.getTenantId())
+                .ne(DictTenantData::getId, id));
+        if (dictTenantDataValueCount > 0) {
+            throw new ServiceException("value已存在");
+        }
+
+        dictCommonDataService.nameDuplication(DictCommonData::getDictKey, dictTenantDataDto.getDictKey(), id, "key已存在");
+        dictCommonDataService.nameDuplication(DictCommonData::getDictValue, dictTenantDataDto.getDictValue(), id, "value已存在");
+
+        this.updateById(dictTenantDataDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 19 - 0
hx-tenant/src/main/resources/mapper/dict/DictCommonDataMapper.xml

@@ -0,0 +1,19 @@
+<?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.fjhx.tenant.mapper.dict.DictCommonDataMapper">
+    <select id="getPage" resultType="com.fjhx.tenant.entity.dict.vo.DictCommonDataVo">
+        select
+            dcd.id,
+            dcd.dict_code,
+            dcd.dict_key,
+            dcd.dict_value,
+            dcd.sort,
+            dcd.create_user,
+            dcd.create_time,
+            dcd.update_user,
+            dcd.update_time
+        from dict_common_data dcd
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 29 - 0
hx-tenant/src/main/resources/mapper/dict/DictTenantDataMapper.xml

@@ -0,0 +1,29 @@
+<?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.fjhx.tenant.mapper.dict.DictTenantDataMapper">
+    <select id="getPage" resultType="com.fjhx.tenant.entity.dict.vo.DictTenantDataVo">
+        select t.id,
+               t.type,
+               t.dict_key,
+               t.dict_value,
+               t.sort
+        from ((select t.id,
+                      1 type,
+                      t.dict_key,
+                      t.dict_value,
+                      t.sort
+               from dict_common_data t
+               where t.dict_code = #{dto.dictCode})
+              union all
+              (select t.id,
+                      2 type,
+                      t.dict_key,
+                      t.dict_value,
+                      t.sort
+               from dict_tenant_data t
+               where t.dict_code = #{dto.dictCode}
+                 and t.tenant_id = #{dto.tenantId})) t
+        order by t.sort asc
+    </select>
+
+</mapper>