瀏覽代碼

完成字典功能接口开发

longhu 1 月之前
父節點
當前提交
41c6e323f6
共有 17 個文件被更改,包括 173 次插入103 次删除
  1. 12 1
      hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysDictData.java
  2. 12 1
      hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysDictType.java
  3. 1 1
      hr-auth/src/main/resources/bootstrap.yml
  4. 11 10
      hr-common/hr-common-security/src/main/java/com/hr/common/security/utils/DictUtils.java
  5. 8 4
      hr-gateway/src/main/resources/bootstrap.yml
  6. 13 9
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysDictDataController.java
  7. 9 6
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysDictTypeController.java
  8. 2 7
      hr-modules/hr-system/src/main/java/com/hr/system/controller/SysSystemController.java
  9. 3 3
      hr-modules/hr-system/src/main/java/com/hr/system/mapper/SysDictDataMapper.java
  10. 9 4
      hr-modules/hr-system/src/main/java/com/hr/system/mapper/SysDictTypeMapper.java
  11. 5 4
      hr-modules/hr-system/src/main/java/com/hr/system/service/ISysDictDataService.java
  12. 9 5
      hr-modules/hr-system/src/main/java/com/hr/system/service/ISysDictTypeService.java
  13. 10 9
      hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysDictDataServiceImpl.java
  14. 24 14
      hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysDictTypeServiceImpl.java
  15. 12 7
      hr-modules/hr-system/src/main/resources/mapper/system/SysDictDataMapper.xml
  16. 30 18
      hr-modules/hr-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
  17. 3 0
      数据库脚本/业务字典脚本.sql

+ 12 - 1
hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysDictData.java

@@ -38,6 +38,9 @@ public class SysDictData extends BaseEntity
     @Excel(name = "字典类型")
     private String dictType;
 
+    @Excel(name = "业务ID")
+    private Integer sysId;
+
     /** 样式属性(其他样式扩展) */
     private String cssClass;
 
@@ -153,7 +156,15 @@ public class SysDictData extends BaseEntity
     {
         this.status = status;
     }
-    
+
+    public Integer getSysId() {
+        return sysId;
+    }
+
+    public void setSysId(Integer sysId) {
+        this.sysId = sysId;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 12 - 1
hr-api/hr-api-system/src/main/java/com/hr/system/api/domain/SysDictType.java

@@ -30,6 +30,9 @@ public class SysDictType extends BaseEntity
     @Excel(name = "字典类型")
     private String dictType;
 
+    @Excel(name = "系统id")
+    private Integer sysId;
+
     /** 状态(0正常 1停用) */
     @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
     private String status;
@@ -78,7 +81,15 @@ public class SysDictType extends BaseEntity
     {
         this.status = status;
     }
-    
+
+    public Integer getSysId() {
+        return sysId;
+    }
+
+    public void setSysId(Integer sysId) {
+        this.sysId = sysId;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 1 - 1
hr-auth/src/main/resources/bootstrap.yml

@@ -6,7 +6,7 @@ server:
 spring: 
   application:
     # 应用名称
-    name: ruoyi-auth
+    name: hr-auth
   profiles:
     # 环境配置
     active: dev

+ 11 - 10
hr-common/hr-common-security/src/main/java/com/hr/common/security/utils/DictUtils.java

@@ -18,13 +18,14 @@ public class DictUtils
 {
     /**
      * 设置字典缓存
-     * 
-     * @param key 参数键
+     *
+     * @param sysId
+     * @param key       参数键
      * @param dictDatas 字典数据列表
      */
-    public static void setDictCache(String key, List<SysDictData> dictDatas)
+    public static void setDictCache(Integer sysId, String key, List<SysDictData> dictDatas)
     {
-        SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas);
+        SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(sysId,key), dictDatas);
     }
 
     /**
@@ -33,9 +34,9 @@ public class DictUtils
      * @param key 参数键
      * @return dictDatas 字典数据列表
      */
-    public static List<SysDictData> getDictCache(String key)
+    public static List<SysDictData> getDictCache(Integer sysId,String key)
     {
-        JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key));
+        JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(sysId,key));
         if (StringUtils.isNotNull(arrayCache))
         {
             return arrayCache.toList(SysDictData.class);
@@ -48,9 +49,9 @@ public class DictUtils
      * 
      * @param key 字典键
      */
-    public static void removeDictCache(String key)
+    public static void removeDictCache(Integer sysId,String key)
     {
-        SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key));
+        SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(sysId,key));
     }
 
     /**
@@ -68,8 +69,8 @@ public class DictUtils
      * @param configKey 参数键
      * @return 缓存键key
      */
-    public static String getCacheKey(String configKey)
+    public static String getCacheKey(Integer sysId,String configKey)
     {
-        return CacheConstants.SYS_DICT_KEY + configKey;
+        return CacheConstants.SYS_DICT_KEY + "_" + sysId + "_" + configKey;
     }
 }

+ 8 - 4
hr-gateway/src/main/resources/bootstrap.yml

@@ -6,7 +6,7 @@ server:
 spring: 
   application:
     # 应用名称
-    name: ruoyi-gateway
+    name: hr-gateway
   profiles:
     # 环境配置
     active: dev
@@ -14,15 +14,19 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.1.168:8848
+        username: nacosReadUser
+        password: nacosReadUser*
       config:
         # 配置中心地址
-        server-addr: 127.0.0.1:8848
+        server-addr: 192.168.1.168:8848
+        username: nacosReadUser
+        password: nacosReadUser*
         # 配置文件格式
         file-extension: yml
         # 共享配置
         shared-configs:
-          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+          - ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
     sentinel:
       # 取消控制台懒加载
       eager: true

+ 13 - 9
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysDictDataController.java

@@ -3,6 +3,8 @@ package com.hr.system.controller;
 import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.hr.common.core.context.SecurityContextHolder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -64,19 +66,19 @@ public class SysDictDataController extends BaseController
      * 查询字典数据详细
      */
     @RequiresPermissions("system:dict:query")
-    @GetMapping(value = "/{dictCode}")
-    public AjaxResult getInfo(@PathVariable Long dictCode)
+    @GetMapping(value = "/{sysId}/{dictCode}")
+    public AjaxResult getInfo(@PathVariable Integer sysId,@PathVariable Long dictCode)
     {
-        return success(dictDataService.selectDictDataById(dictCode));
+        return success(dictDataService.selectDictDataByIdAndSysId(sysId,dictCode));
     }
 
     /**
      * 根据字典类型查询字典数据信息
      */
-    @GetMapping(value = "/type/{dictType}")
-    public AjaxResult dictType(@PathVariable String dictType)
+    @GetMapping(value = "/type/{sysId}/{dictType}")
+    public AjaxResult dictType(@PathVariable Integer sysId,@PathVariable String dictType)
     {
-        List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
+        List<SysDictData> data = dictTypeService.selectDictDataByType(sysId,dictType);
         if (StringUtils.isNull(data))
         {
             data = new ArrayList<SysDictData>();
@@ -93,6 +95,8 @@ public class SysDictDataController extends BaseController
     public AjaxResult add(@Validated @RequestBody SysDictData dict)
     {
         dict.setCreateBy(SecurityUtils.getUsername());
+        String userName = SecurityContextHolder.getUserName();
+        dict.setCreateBy(userName);
         return toAjax(dictDataService.insertDictData(dict));
     }
 
@@ -113,10 +117,10 @@ public class SysDictDataController extends BaseController
      */
     @RequiresPermissions("system:dict:remove")
     @Log(title = "字典类型", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{dictCodes}")
-    public AjaxResult remove(@PathVariable Long[] dictCodes)
+    @DeleteMapping("/{sysId}/{dictCodes}")
+    public AjaxResult remove(@PathVariable Integer sysId,@PathVariable Long[] dictCodes)
     {
-        dictDataService.deleteDictDataByIds(dictCodes);
+        dictDataService.deleteDictDataByIds(sysId,dictCodes);
         return success();
     }
 }

+ 9 - 6
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysDictTypeController.java

@@ -2,6 +2,8 @@ package com.hr.system.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.hr.common.core.context.SecurityContextHolder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -72,12 +74,13 @@ public class SysDictTypeController extends BaseController
     @PostMapping
     public AjaxResult add(@Validated @RequestBody SysDictType dict)
     {
+        Long userId = SecurityContextHolder.getUserId();
         if (!dictTypeService.checkDictTypeUnique(dict))
         {
             return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
         }
         dict.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(dictTypeService.insertDictType(dict));
+        return toAjax(dictTypeService.insertDictType(dict,userId));
     }
 
     /**
@@ -101,10 +104,10 @@ public class SysDictTypeController extends BaseController
      */
     @RequiresPermissions("system:dict:remove")
     @Log(title = "字典类型", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{dictIds}")
-    public AjaxResult remove(@PathVariable Long[] dictIds)
+    @DeleteMapping("/{sysId}/{dictIds}")
+    public AjaxResult remove(@PathVariable Integer sysId,@PathVariable Long[] dictIds)
     {
-        dictTypeService.deleteDictTypeByIds(dictIds);
+        dictTypeService.deleteDictTypeByIds(sysId,dictIds);
         return success();
     }
 
@@ -123,8 +126,8 @@ public class SysDictTypeController extends BaseController
     /**
      * 获取字典选择框列表
      */
-    @GetMapping("/optionselect")
-    public AjaxResult optionselect()
+    @GetMapping("/optionselect/{sysId}")
+    public AjaxResult optionselect(@PathVariable Integer sysId)
     {
         List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
         return success(dictTypes);

+ 2 - 7
hr-modules/hr-system/src/main/java/com/hr/system/controller/SysSystemController.java

@@ -1,17 +1,12 @@
 package com.hr.system.controller;
 
-import com.hr.common.core.constant.UserConstants;
-import com.hr.common.core.utils.StringUtils;
 import com.hr.common.core.web.controller.BaseController;
 import com.hr.common.core.web.domain.AjaxResult;
+import com.hr.common.log.annotation.Log;
+import com.hr.common.log.enums.BusinessType;
 import com.hr.system.api.domain.SysDept;
 import com.hr.system.domain.SysBusinessSystem;
 import com.hr.system.service.ISysSystemService;
-import com.ruoyi.common.log.annotation.Log;
-import com.ruoyi.common.log.enums.BusinessType;
-import com.ruoyi.common.security.annotation.RequiresPermissions;
-import com.ruoyi.common.security.utils.SecurityUtils;
-import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;

+ 3 - 3
hr-modules/hr-system/src/main/java/com/hr/system/mapper/SysDictDataMapper.java

@@ -38,11 +38,11 @@ public interface SysDictDataMapper
 
     /**
      * 根据字典数据ID查询信息
-     * 
+     *
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
-    public SysDictData selectDictDataById(Long dictCode);
+    public SysDictData selectDictDataByIdAndSysId(@Param("sysId") Integer sysId, @Param("dictCode") Long dictCode);
 
     /**
      * 查询字典数据
@@ -70,7 +70,7 @@ public interface SysDictDataMapper
 
     /**
      * 新增字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */

+ 9 - 4
hr-modules/hr-system/src/main/java/com/hr/system/mapper/SysDictTypeMapper.java

@@ -2,6 +2,7 @@ package com.hr.system.mapper;
 
 import java.util.List;
 import com.hr.system.api.domain.SysDictType;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 字典表 数据层
@@ -59,11 +60,12 @@ public interface SysDictTypeMapper
 
     /**
      * 新增字典类型信息
-     * 
+     *
      * @param dictType 字典类型信息
+     * @param userId
      * @return 结果
      */
-    public int insertDictType(SysDictType dictType);
+    public int insertDictType(@Param("dictType") SysDictType dictType, @Param("userId") Long userId);
 
     /**
      * 修改字典类型信息
@@ -75,9 +77,12 @@ public interface SysDictTypeMapper
 
     /**
      * 校验字典类型称是否唯一
-     * 
+     *
      * @param dictType 字典类型
+     * @param sysId
      * @return 结果
      */
-    public SysDictType checkDictTypeUnique(String dictType);
+    public SysDictType checkDictTypeUnique(@Param("dictType") String dictType, @Param("sysId") Integer sysId);
+
+    List<SysDictType> selectDictTypeBySysId(@Param("sysId") Integer sysId);
 }

+ 5 - 4
hr-modules/hr-system/src/main/java/com/hr/system/service/ISysDictDataService.java

@@ -33,18 +33,19 @@ public interface ISysDictDataService
      * @param dictCode 字典数据ID
      * @return 字典数据
      */
-    public SysDictData selectDictDataById(Long dictCode);
+    public SysDictData selectDictDataByIdAndSysId(Integer sysId,Long dictCode);
 
     /**
      * 批量删除字典数据信息
-     * 
+     *
+     * @param sysId
      * @param dictCodes 需要删除的字典数据ID
      */
-    public void deleteDictDataByIds(Long[] dictCodes);
+    public void deleteDictDataByIds(Integer sysId, Long[] dictCodes);
 
     /**
      * 新增保存字典数据信息
-     * 
+     *
      * @param dictData 字典数据信息
      * @return 结果
      */

+ 9 - 5
hr-modules/hr-system/src/main/java/com/hr/system/service/ISysDictTypeService.java

@@ -26,13 +26,16 @@ public interface ISysDictTypeService
      */
     public List<SysDictType> selectDictTypeAll();
 
+    public List<SysDictType> selectDictTypeBySysId(Integer sysId);
+
     /**
      * 根据字典类型查询字典数据
-     * 
+     *
+     * @param sysId
      * @param dictType 字典类型
      * @return 字典数据集合信息
      */
-    public List<SysDictData> selectDictDataByType(String dictType);
+    public List<SysDictData> selectDictDataByType(Integer sysId, String dictType);
 
     /**
      * 根据字典类型ID查询信息
@@ -55,7 +58,7 @@ public interface ISysDictTypeService
      * 
      * @param dictIds 需要删除的字典ID
      */
-    public void deleteDictTypeByIds(Long[] dictIds);
+    public void deleteDictTypeByIds(Integer sysId,Long[] dictIds);
 
     /**
      * 加载字典缓存数据
@@ -74,11 +77,12 @@ public interface ISysDictTypeService
 
     /**
      * 新增保存字典类型信息
-     * 
+     *
      * @param dictType 字典类型信息
+     * @param userId
      * @return 结果
      */
-    public int insertDictType(SysDictType dictType);
+    public int insertDictType(SysDictType dictType, Long userId);
 
     /**
      * 修改保存字典类型信息

+ 10 - 9
hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysDictDataServiceImpl.java

@@ -51,31 +51,32 @@ public class SysDictDataServiceImpl implements ISysDictDataService
      * @return 字典数据
      */
     @Override
-    public SysDictData selectDictDataById(Long dictCode)
+    public SysDictData selectDictDataByIdAndSysId(Integer sysId,Long dictCode)
     {
-        return dictDataMapper.selectDictDataById(dictCode);
+        return dictDataMapper.selectDictDataByIdAndSysId(sysId,dictCode);
     }
 
     /**
      * 批量删除字典数据信息
-     * 
+     *
+     * @param sysId
      * @param dictCodes 需要删除的字典数据ID
      */
     @Override
-    public void deleteDictDataByIds(Long[] dictCodes)
+    public void deleteDictDataByIds(Integer sysId, Long[] dictCodes)
     {
         for (Long dictCode : dictCodes)
         {
-            SysDictData data = selectDictDataById(dictCode);
+            SysDictData data = selectDictDataByIdAndSysId(sysId,dictCode);
             dictDataMapper.deleteDictDataById(dictCode);
             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
+            DictUtils.setDictCache(sysId, data.getDictType(), dictDatas);
         }
     }
 
     /**
      * 新增保存字典数据信息
-     * 
+     *
      * @param data 字典数据信息
      * @return 结果
      */
@@ -86,7 +87,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
         if (row > 0)
         {
             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
+            DictUtils.setDictCache(data.getSysId(), data.getDictType(), dictDatas);
         }
         return row;
     }
@@ -104,7 +105,7 @@ public class SysDictDataServiceImpl implements ISysDictDataService
         if (row > 0)
         {
             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType());
-            DictUtils.setDictCache(data.getDictType(), dictDatas);
+            DictUtils.setDictCache(data.getSysId(), data.getDictType(), dictDatas);
         }
         return row;
     }

+ 24 - 14
hr-modules/hr-system/src/main/java/com/hr/system/service/impl/SysDictTypeServiceImpl.java

@@ -53,6 +53,11 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
         return dictTypeMapper.selectDictTypeList(dictType);
     }
 
+    @Override
+    public List<SysDictType> selectDictTypeBySysId(Integer sysId) {
+        return dictTypeMapper.selectDictTypeBySysId(sysId);
+    }
+
     /**
      * 根据所有字典类型
      * 
@@ -66,14 +71,15 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
 
     /**
      * 根据字典类型查询字典数据
-     * 
+     *
+     * @param sysId
      * @param dictType 字典类型
      * @return 字典数据集合信息
      */
     @Override
-    public List<SysDictData> selectDictDataByType(String dictType)
+    public List<SysDictData> selectDictDataByType(Integer sysId, String dictType)
     {
-        List<SysDictData> dictDatas = DictUtils.getDictCache(dictType);
+        List<SysDictData> dictDatas = DictUtils.getDictCache(sysId,dictType);
         if (StringUtils.isNotEmpty(dictDatas))
         {
             return dictDatas;
@@ -81,7 +87,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
         dictDatas = dictDataMapper.selectDictDataByType(dictType);
         if (StringUtils.isNotEmpty(dictDatas))
         {
-            DictUtils.setDictCache(dictType, dictDatas);
+            DictUtils.setDictCache(sysId, dictType, dictDatas);
             return dictDatas;
         }
         return null;
@@ -117,7 +123,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
      * @param dictIds 需要删除的字典ID
      */
     @Override
-    public void deleteDictTypeByIds(Long[] dictIds)
+    public void deleteDictTypeByIds(Integer sysId,Long[] dictIds)
     {
         for (Long dictId : dictIds)
         {
@@ -127,7 +133,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
                 throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName()));
             }
             dictTypeMapper.deleteDictTypeById(dictId);
-            DictUtils.removeDictCache(dictType.getDictType());
+            DictUtils.removeDictCache(sysId,dictType.getDictType());
         }
     }
 
@@ -142,7 +148,10 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
         Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType));
         for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet())
         {
-            DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList()));
+            String key = entry.getKey();
+            List<SysDictData> value = entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList());
+            SysDictData sysDictData = value.get(0);
+            DictUtils.setDictCache(sysDictData.getSysId(),key,value );
         }
     }
 
@@ -167,17 +176,18 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
 
     /**
      * 新增保存字典类型信息
-     * 
-     * @param dict 字典类型信息
+     *
+     * @param dict   字典类型信息
+     * @param userId
      * @return 结果
      */
     @Override
-    public int insertDictType(SysDictType dict)
+    public int insertDictType(SysDictType dict, Long userId)
     {
-        int row = dictTypeMapper.insertDictType(dict);
+        int row = dictTypeMapper.insertDictType(dict,userId);
         if (row > 0)
         {
-            DictUtils.setDictCache(dict.getDictType(), null);
+            DictUtils.setDictCache(dict.getSysId(), dict.getDictType(), null);
         }
         return row;
     }
@@ -198,7 +208,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
         if (row > 0)
         {
             List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType());
-            DictUtils.setDictCache(dict.getDictType(), dictDatas);
+            DictUtils.setDictCache(dict.getSysId(),dict.getDictType(), dictDatas);
         }
         return row;
     }
@@ -213,7 +223,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService
     public boolean checkDictTypeUnique(SysDictType dict)
     {
         Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
-        SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType());
+        SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType(),dict.getSysId());
         if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue())
         {
             return UserConstants.NOT_UNIQUE;

+ 12 - 7
hr-modules/hr-system/src/main/resources/mapper/system/SysDictDataMapper.xml

@@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.hr.system.mapper.SysDictDataMapper">
 	
-	<resultMap type="SysDictData" id="SysDictDataResult">
+	<resultMap type="com.hr.system.api.domain.SysDictData" id="SysDictDataResult">
 		<id     property="dictCode"   column="dict_code"   />
 		<result property="dictSort"   column="dict_sort"   />
 		<result property="dictLabel"  column="dict_label"  />
@@ -21,16 +21,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<sql id="selectDictDataVo">
-        select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark 
+        select dict_code, dict_sort,sys_id, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
 		from sys_dict_data
     </sql>
 
-	<select id="selectDictDataList" parameterType="SysDictData" resultMap="SysDictDataResult">
+	<select id="selectDictDataList" parameterType="com.hr.system.api.domain.SysDictData" resultMap="SysDictDataResult">
 	    <include refid="selectDictDataVo"/>
 		<where>
 		    <if test="dictType != null and dictType != ''">
 				AND dict_type = #{dictType}
 			</if>
+			<if test="sysId != null">
+				and sys_id = #{sysId}
+			</if>
 			<if test="dictLabel != null and dictLabel != ''">
 				AND dict_label like concat('%', #{dictLabel}, '%')
 			</if>
@@ -51,9 +54,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		where dict_type = #{dictType} and dict_value = #{dictValue}
 	</select>
 	
-	<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
+	<select id="selectDictDataByIdAndSysId"   resultMap="SysDictDataResult">
 		<include refid="selectDictDataVo"/>
-		where dict_code = #{dictCode}
+		where dict_code = #{dictCode} and sys_id = #{sysId}
 	</select>
 	
 	<select id="countDictDataByType" resultType="Integer">
@@ -71,7 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach> 
  	</delete>
 	
-	<update id="updateDictData" parameterType="SysDictData">
+	<update id="updateDictData" parameterType="com.hr.system.api.domain.SysDictData">
  		update sys_dict_data
  		<set>
  			<if test="dictSort != null">dict_sort = #{dictSort},</if>
@@ -93,9 +96,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType}
 	</update>
  	
- 	<insert id="insertDictData" parameterType="SysDictData">
+ 	<insert id="insertDictData" parameterType="com.hr.system.api.domain.SysDictData">
  		insert into sys_dict_data(
  			<if test="dictSort != null">dict_sort,</if>
+ 			<if test="sysId != null">sys_id,</if>
  			<if test="dictLabel != null and dictLabel != ''">dict_label,</if>
  			<if test="dictValue != null and dictValue != ''">dict_value,</if>
  			<if test="dictType != null and dictType != ''">dict_type,</if>
@@ -108,6 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			create_time
  		)values(
  		    <if test="dictSort != null">#{dictSort},</if>
+ 		    <if test="sysId != null">#{sysId},</if>
  		    <if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if>
  			<if test="dictValue != null and dictValue != ''">#{dictValue},</if>
  			<if test="dictType != null and dictType != ''">#{dictType},</if>

+ 30 - 18
hr-modules/hr-system/src/main/resources/mapper/system/SysDictTypeMapper.xml

@@ -4,11 +4,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.hr.system.mapper.SysDictTypeMapper">
 
-	<resultMap type="SysDictType" id="SysDictTypeResult">
+	<resultMap type="com.hr.system.api.domain.SysDictType" id="SysDictTypeResult">
 		<id     property="dictId"     column="dict_id"     />
 		<result property="dictName"   column="dict_name"   />
 		<result property="dictType"   column="dict_type"   />
 		<result property="status"     column="status"      />
+		<result property="sysId"     column="sys_id"      />
 		<result property="createBy"   column="create_by"   />
 		<result property="createTime" column="create_time" />
 		<result property="updateBy"   column="update_by"   />
@@ -16,11 +17,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<sql id="selectDictTypeVo">
-        select dict_id, dict_name, dict_type, status, create_by, create_time, remark 
+        select dict_id, dict_name, dict_type, status, create_by, create_time, remark ,sys_id
 		from sys_dict_type
     </sql>
 
-	<select id="selectDictTypeList" parameterType="SysDictType" resultMap="SysDictTypeResult">
+	<select id="selectDictTypeList" parameterType="com.hr.system.api.domain.SysDictType" resultMap="SysDictTypeResult">
 	    <include refid="selectDictTypeVo"/>
 		<where>
 		    <if test="dictName != null and dictName != ''">
@@ -32,6 +33,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="dictType != null and dictType != ''">
 				AND dict_type like concat('%', #{dictType}, '%')
 			</if>
+			<if test="sysId != null">
+				and sys_id = #{sysId}
+			</if>
 			<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
 				and date_format(create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
 			</if>
@@ -55,11 +59,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		where dict_type = #{dictType}
 	</select>
 	
-	<select id="checkDictTypeUnique" parameterType="String" resultMap="SysDictTypeResult">
+	<select id="checkDictTypeUnique" resultMap="SysDictTypeResult">
 		<include refid="selectDictTypeVo"/>
-		where dict_type = #{dictType} limit 1
+		where dict_type = #{dictType} and sys_id = #{sysId} limit 1
 	</select>
-	
+	<select id="selectDictTypeBySysId" resultType="com.hr.system.api.domain.SysDictType">
+		<include refid="selectDictTypeVo"/>
+		<where>
+			sys_id = #{sysId}
+		</where>
+	</select>
+
 	<delete id="deleteDictTypeById" parameterType="Long">
  		delete from sys_dict_type where dict_id = #{dictId}
  	</delete>
@@ -71,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach> 
  	</delete>
 
- 	<update id="updateDictType" parameterType="SysDictType">
+ 	<update id="updateDictType" parameterType="com.hr.system.api.domain.SysDictType">
  		update sys_dict_type
  		<set>
  			<if test="dictName != null and dictName != ''">dict_name = #{dictName},</if>
@@ -84,20 +94,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  		where dict_id = #{dictId}
 	</update>
  	
- 	<insert id="insertDictType" parameterType="SysDictType">
+ 	<insert id="insertDictType" parameterType="com.hr.system.api.domain.SysDictType">
  		insert into sys_dict_type(
- 			<if test="dictName != null and dictName != ''">dict_name,</if>
- 			<if test="dictType != null and dictType != ''">dict_type,</if>
- 			<if test="status != null">status,</if>
- 			<if test="remark != null and remark != ''">remark,</if>
- 			<if test="createBy != null and createBy != ''">create_by,</if>
+ 			<if test="dictType.dictName != null and dictType.dictName != ''">dict_name,</if>
+ 			<if test="dictType.sysId != null">sys_id,</if>
+ 			<if test="dictType.dictType != null and dictType.dictType != ''">dict_type,</if>
+ 			<if test="dictType.status != null">status,</if>
+ 			<if test="dictType.remark != null and dictType.remark != ''">remark,</if>
+ 			<if test="userId != null">create_by,</if>
  			create_time
  		)values(
- 			<if test="dictName != null and dictName != ''">#{dictName},</if>
- 			<if test="dictType != null and dictType != ''">#{dictType},</if>
- 			<if test="status != null">#{status},</if>
- 			<if test="remark != null and remark != ''">#{remark},</if>
- 			<if test="createBy != null and createBy != ''">#{createBy},</if>
+ 			<if test="dictType.dictName != null and dictType.dictName != ''">#{dictType.dictName},</if>
+ 			<if test="dictType.sysId != null">#{dictType.sysId},</if>
+ 			<if test="dictType.dictType != null and dictType.dictType != ''">#{dictType.dictType},</if>
+ 			<if test="dictType.status != null">#{dictType.status},</if>
+ 			<if test="dictType.remark != null and dictType.remark != ''">#{dictType.remark},</if>
+ 			<if test="userId != null ">#{userId},</if>
  			sysdate()
  		)
 	</insert>

+ 3 - 0
数据库脚本/业务字典脚本.sql

@@ -0,0 +1,3 @@
+ALTER TABLE `cloud`.`sys_dict_type` ADD COLUMN `sys_id` int NULL COMMENT '业务id' AFTER `dict_id`;
+
+ALTER TABLE `cloud`.`sys_dict_data` ADD COLUMN `sys_id` int NULL COMMENT '业务id' AFTER `dict_type`;