24282 2 lat temu
rodzic
commit
1bbd54d779
19 zmienionych plików z 750 dodań i 4 usunięć
  1. 77 0
      hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictCommonTypeController.java
  2. 83 0
      hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictTenantTypeController.java
  3. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonTypeDto.java
  4. 22 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonTypeSelectDto.java
  5. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantTypeDto.java
  6. 34 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantTypeSelectDto.java
  7. 47 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictCommonType.java
  8. 52 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictTenantType.java
  9. 17 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictCommonTypeVo.java
  10. 23 0
      hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictTenantTypeVo.java
  11. 26 0
      hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictCommonTypeMapper.java
  12. 26 0
      hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictTenantTypeMapper.java
  13. 46 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictCommonTypeService.java
  14. 46 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/DictTenantTypeService.java
  15. 62 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictCommonTypeServiceImpl.java
  16. 68 0
      hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictTenantTypeServiceImpl.java
  17. 19 0
      hx-tenant/src/main/resources/mapper/dict/DictCommonTypeMapper.xml
  18. 64 0
      hx-tenant/src/main/resources/mapper/dict/DictTenantTypeMapper.xml
  19. 4 4
      ruoyi-common/src/main/java/com/ruoyi/common/core/service/BaseService.java

+ 77 - 0
hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictCommonTypeController.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.DictCommonTypeDto;
+import com.fjhx.tenant.entity.dict.dto.DictCommonTypeSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictCommonTypeVo;
+import com.fjhx.tenant.service.dict.DictCommonTypeService;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.constant.DatasourceConstant;
+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(DatasourceConstant.BASE)
+@RestController
+@RequestMapping("/dictCommonType")
+public class DictCommonTypeController {
+
+    @Autowired
+    private DictCommonTypeService dictCommonTypeService;
+
+    /**
+     * 业务字典分页
+     */
+    @PostMapping("/page")
+    public Page<DictCommonTypeVo> page(@RequestBody DictCommonTypeSelectDto dto) {
+        return dictCommonTypeService.getPage(dto);
+    }
+
+    /**
+     * 业务字典明细
+     */
+    @PostMapping("/detail")
+    public DictCommonTypeVo detail(@RequestBody BaseSelectDto dto) {
+        return dictCommonTypeService.detail(dto.getId());
+    }
+
+    /**
+     * 业务字典新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody DictCommonTypeDto dictCommonTypeDto) {
+        dictCommonTypeService.add(dictCommonTypeDto);
+    }
+
+    /**
+     * 业务字典编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DictCommonTypeDto dictCommonTypeDto) {
+        dictCommonTypeService.edit(dictCommonTypeDto);
+    }
+
+    /**
+     * 业务字典删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        dictCommonTypeService.delete(dto.getId());
+    }
+
+}

+ 83 - 0
hx-tenant/src/main/java/com/fjhx/tenant/controller/dict/DictTenantTypeController.java

@@ -0,0 +1,83 @@
+package com.fjhx.tenant.controller.dict;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.tenant.entity.dict.dto.DictTenantTypeDto;
+import com.fjhx.tenant.entity.dict.dto.DictTenantTypeSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantTypeVo;
+import com.fjhx.tenant.service.dict.DictTenantTypeService;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.constant.DatasourceConstant;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.ruoyi.common.exception.ServiceException;
+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(DatasourceConstant.BASE)
+@RestController
+@RequestMapping("/dictTenantType")
+public class DictTenantTypeController {
+
+    @Autowired
+    private DictTenantTypeService dictTenantTypeService;
+
+    /**
+     * 租户字典分页
+     */
+    @PostMapping("/page")
+    public Page<DictTenantTypeVo> page(@RequestBody DictTenantTypeSelectDto dto) {
+        return dictTenantTypeService.getPage(dto);
+    }
+
+    /**
+     * 租户字典明细
+     */
+    @PostMapping("/detail")
+    public DictTenantTypeVo detail(@RequestBody BaseSelectDto dto) {
+        return dictTenantTypeService.detail(dto.getId());
+    }
+
+    /**
+     * 租户字典新增
+     */
+    @PostMapping("/add")
+    public void add(@Validated @RequestBody DictTenantTypeDto dictTenantTypeDto) {
+        String tenantId = dictTenantTypeDto.getTenantId();
+        if (StrUtil.isBlank(tenantId)) {
+            throw new ServiceException("租户id不能为空");
+        }
+        dictTenantTypeService.add(dictTenantTypeDto);
+    }
+
+    /**
+     * 租户字典编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DictTenantTypeDto dictTenantTypeDto) {
+        dictTenantTypeService.edit(dictTenantTypeDto);
+    }
+
+    /**
+     * 租户字典删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        dictTenantTypeService.delete(dto.getId());
+    }
+
+}

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

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

+ 22 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictCommonTypeSelectDto.java

@@ -0,0 +1,22 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 业务字典列表查询入参实体
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictCommonTypeSelectDto extends BaseSelectDto {
+
+    /**
+     * 字典状态 0禁用 1启用
+     */
+    private Integer status;
+
+}

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

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

+ 34 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/dto/DictTenantTypeSelectDto.java

@@ -0,0 +1,34 @@
+package com.fjhx.tenant.entity.dict.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 租户字典列表查询入参实体
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+public class DictTenantTypeSelectDto extends BaseSelectDto {
+
+    /**
+     * 类型
+     * 1业务字典 2自定义字典
+     */
+    private Integer type;
+
+    /**
+     * 字典状态
+     * 0禁用 1启用
+     */
+    private Integer status;
+
+    /**
+     * 租户id
+     */
+    private String tenantId;
+
+}

+ 47 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictCommonType.java

@@ -0,0 +1,47 @@
+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;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 业务字典
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+@TableName("dict_common_type")
+public class DictCommonType extends BasePo {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String code;
+
+    /**
+     * 字典名称
+     */
+    @NotBlank(message = "字典编码名称")
+    private String name;
+
+    /**
+     * 字典状态 0禁用 1启用
+     */
+    @NotNull(message = "字典状态不能为空")
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 52 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/po/DictTenantType.java

@@ -0,0 +1,52 @@
+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;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 租户字典
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Getter
+@Setter
+@TableName("dict_tenant_type")
+public class DictTenantType extends BasePo {
+
+    /**
+     * 字典编码
+     */
+    @NotBlank(message = "字典编码不能为空")
+    private String code;
+
+    /**
+     * 字典名称
+     */
+    @NotBlank(message = "字典编码名称")
+    private String name;
+
+    /**
+     * 字典状态 0禁用 1启用
+     */
+    @NotNull(message = "字典状态不能为空")
+    private Integer status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 租户id
+     */
+    private String tenantId;
+
+}

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

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

+ 23 - 0
hx-tenant/src/main/java/com/fjhx/tenant/entity/dict/vo/DictTenantTypeVo.java

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

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

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

+ 26 - 0
hx-tenant/src/main/java/com/fjhx/tenant/mapper/dict/DictTenantTypeMapper.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.DictTenantTypeSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictTenantType;
+import com.fjhx.tenant.entity.dict.vo.DictTenantTypeVo;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 租户字典 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+public interface DictTenantTypeMapper extends BaseMapper<DictTenantType> {
+
+    /**
+     * 租户字典分页
+     */
+    Page<DictTenantTypeVo> getPage(@Param("page") Page<Object> page, @Param("dto") DictTenantTypeSelectDto dto);
+
+}

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

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

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

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

+ 62 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictCommonTypeServiceImpl.java

@@ -0,0 +1,62 @@
+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.DictCommonTypeDto;
+import com.fjhx.tenant.entity.dict.dto.DictCommonTypeSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictCommonType;
+import com.fjhx.tenant.entity.dict.vo.DictCommonTypeVo;
+import com.fjhx.tenant.mapper.dict.DictCommonTypeMapper;
+import com.fjhx.tenant.service.dict.DictCommonTypeService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 业务字典 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Service
+public class DictCommonTypeServiceImpl extends ServiceImpl<DictCommonTypeMapper, DictCommonType> implements DictCommonTypeService {
+
+    @Override
+    public Page<DictCommonTypeVo> getPage(DictCommonTypeSelectDto dto) {
+        IWrapper<DictCommonType> wrapper = getWrapper();
+        wrapper.keyword(dto, new SqlField("dct", DictCommonType::getName), new SqlField("dct", DictCommonType::getCode));
+        wrapper.eq(DictCommonType::getStatus, dto.getStatus());
+        wrapper.orderByDesc("dct", DictCommonType::getId);
+        Page<DictCommonTypeVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public DictCommonTypeVo detail(Long id) {
+        DictCommonType DictCommonType = this.getById(id);
+        DictCommonTypeVo result = BeanUtil.toBean(DictCommonType, DictCommonTypeVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(DictCommonTypeDto dictCommonTypeDto) {
+        nameDuplication(DictCommonType::getCode, dictCommonTypeDto.getCode(), "字典编码已存在");
+        this.save(dictCommonTypeDto);
+    }
+
+    @Override
+    public void edit(DictCommonTypeDto dictCommonTypeDto) {
+        dictCommonTypeDto.setCode(null);
+        this.updateById(dictCommonTypeDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 68 - 0
hx-tenant/src/main/java/com/fjhx/tenant/service/dict/impl/DictTenantTypeServiceImpl.java

@@ -0,0 +1,68 @@
+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.DictTenantTypeDto;
+import com.fjhx.tenant.entity.dict.dto.DictTenantTypeSelectDto;
+import com.fjhx.tenant.entity.dict.po.DictCommonType;
+import com.fjhx.tenant.entity.dict.po.DictTenantType;
+import com.fjhx.tenant.entity.dict.vo.DictTenantTypeVo;
+import com.fjhx.tenant.mapper.dict.DictTenantTypeMapper;
+import com.fjhx.tenant.service.dict.DictCommonTypeService;
+import com.fjhx.tenant.service.dict.DictTenantTypeService;
+import com.ruoyi.common.exception.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 租户字典 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-03-30
+ */
+@Service
+public class DictTenantTypeServiceImpl extends ServiceImpl<DictTenantTypeMapper, DictTenantType> implements DictTenantTypeService {
+
+    @Autowired
+    private DictCommonTypeService dictCommonTypeService;
+
+    @Override
+    public Page<DictTenantTypeVo> getPage(DictTenantTypeSelectDto dto) {
+        return this.baseMapper.getPage(dto.getPage(), dto);
+    }
+
+    @Override
+    public DictTenantTypeVo detail(Long id) {
+        DictTenantType DictTenantType = this.getById(id);
+        return BeanUtil.toBean(DictTenantType, DictTenantTypeVo.class);
+    }
+
+    @Override
+    public void add(DictTenantTypeDto dictTenantTypeDto) {
+        dictCommonTypeService.nameDuplication(DictCommonType::getCode, dictTenantTypeDto.getCode(), "字典编码已存在");
+        long count = count(q -> q
+                .eq(DictTenantType::getCode, dictTenantTypeDto.getCode())
+                .eq(DictTenantType::getTenantId, dictTenantTypeDto.getTenantId()));
+        if (count != 0) {
+            throw new ServiceException("字典编码已存在");
+        }
+        this.save(dictTenantTypeDto);
+    }
+
+    @Override
+    public void edit(DictTenantTypeDto dictTenantTypeDto) {
+        dictTenantTypeDto.setCode(null);
+        dictTenantTypeDto.setTenantId(null);
+        this.updateById(dictTenantTypeDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 19 - 0
hx-tenant/src/main/resources/mapper/dict/DictCommonTypeMapper.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.DictCommonTypeMapper">
+    <select id="getPage" resultType="com.fjhx.tenant.entity.dict.vo.DictCommonTypeVo">
+        select
+            dct.id,
+            dct.code,
+            dct.name,
+            dct.status,
+            dct.remark,
+            dct.create_user,
+            dct.create_time,
+            dct.update_user,
+            dct.update_time
+        from dict_common_type dct
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 64 - 0
hx-tenant/src/main/resources/mapper/dict/DictTenantTypeMapper.xml

@@ -0,0 +1,64 @@
+<?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.DictTenantTypeMapper">
+    <select id="getPage" resultType="com.fjhx.tenant.entity.dict.vo.DictTenantTypeVo">
+
+        <choose>
+            <when test="dto.type eq 1">
+                <include refid="type1"/>
+            </when>
+            <when test="dto.type eq 2">
+                <include refid="type2"/>
+            </when>
+            <otherwise>
+                (
+                <include refid="type1"/>
+                )
+                union all
+                (
+                <include refid="type2"/>
+                )
+            </otherwise>
+        </choose>
+
+    </select>
+
+    <sql id="type1">
+        select
+        t.id,
+        1 type,
+        t.name,
+        t.code,
+        t.status,
+        t.remark
+        from dict_common_type t
+        <include refid="getPageWhere"/>
+    </sql>
+
+    <sql id="type2">
+        select
+        t.id,
+        2 type,
+        t.name,
+        t.code,
+        t.status,
+        t.remark
+        from dict_tenant_type t
+        <include refid="getPageWhere"/>
+        <if test="dto.tenantId neq null and dto.tenantId neq ''">
+            and t.tenantId=#{dto.tenantId}
+        </if>
+    </sql>
+
+    <sql id="getPageWhere">
+        <where>
+            <if test="dto.status neq null and dto.status neq ''">
+                and t.status = #{dto.status}
+            </if>
+            <if test="dto.keyword neq null and dto.keyword neq ''">
+                and (instr(t.name,#{dto.keyword}) or instr(t.code,#{dto.keyword}))
+            </if>
+        </where>
+    </sql>
+
+</mapper>

+ 4 - 4
ruoyi-common/src/main/java/com/ruoyi/common/core/service/BaseService.java

@@ -87,15 +87,15 @@ public interface BaseService<T extends BaseIdPo> extends IService<T> {
     }
 
     default void nameDuplication(SFunction<T, ?> column, Object value, String errMsg) {
-        T t = getOne(q -> q.eq(column, value));
-        if (t != null) {
+        long count = count(q -> q.eq(column, value));
+        if (count != 0) {
             throw new ServiceException(errMsg);
         }
     }
 
     default void nameDuplication(SFunction<T, ?> column, Object value, Long id, String errMsg) {
-        T t = getOne(q -> q.eq(column, value).ne(T::getId, id));
-        if (t != null) {
+        long count = count(q -> q.eq(column, value).ne(T::getId, id));
+        if (count != 0) {
             throw new ServiceException(errMsg);
         }
     }