|  |  |  | 
|---|
|  |  |  | package com.ruoyi.system.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.ruoyi.account.mapper.SysDictDataMapper; | 
|---|
|  |  |  | import com.ruoyi.system.api.model.SysDictData; | 
|---|
|  |  |  | import com.ruoyi.account.service.SysDictDataService; | 
|---|
|  |  |  | import com.ruoyi.common.security.utils.DictUtils; | 
|---|
|  |  |  | import com.ruoyi.system.api.domain.SysDictData; | 
|---|
|  |  |  | import com.ruoyi.system.mapper.SysDictDataMapper; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysDictDataService; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <p> | 
|---|
|  |  |  | *  服务实现类 | 
|---|
|  |  |  | * </p> | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author luodangjia | 
|---|
|  |  |  | * @since 2024-11-21 | 
|---|
|  |  |  | * 字典 业务层处理 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @author ruoyi | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDictData> implements SysDictDataService { | 
|---|
|  |  |  | public class SysDictDataServiceImpl implements ISysDictDataService | 
|---|
|  |  |  | { | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysDictDataMapper dictDataMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据条件分页查询字典数据 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param dictData 字典数据信息 | 
|---|
|  |  |  | * @return 字典数据集合信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<SysDictData> selectDictDataList(SysDictData dictData) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return dictDataMapper.selectDictDataList(dictData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据字典类型和字典键值查询字典数据信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param dictType 字典类型 | 
|---|
|  |  |  | * @param dictValue 字典键值 | 
|---|
|  |  |  | * @return 字典标签 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String selectDictLabel(String dictType, String dictValue) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return dictDataMapper.selectDictLabel(dictType, dictValue); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据字典数据ID查询信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param dictCode 字典数据ID | 
|---|
|  |  |  | * @return 字典数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public SysDictData selectDictDataById(Long dictCode) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return dictDataMapper.selectDictDataById(dictCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 批量删除字典数据信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param dictCodes 需要删除的字典数据ID | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void deleteDictDataByIds(Long[] dictCodes) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | for (Long dictCode : dictCodes) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysDictData data = selectDictDataById(dictCode); | 
|---|
|  |  |  | dictDataMapper.deleteDictDataById(dictCode); | 
|---|
|  |  |  | List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | 
|---|
|  |  |  | DictUtils.setDictCache(data.getDictType(), dictDatas); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增保存字典数据信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data 字典数据信息 | 
|---|
|  |  |  | * @return 结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public int insertDictData(SysDictData data) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | int row = dictDataMapper.insertDictData(data); | 
|---|
|  |  |  | if (row > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | 
|---|
|  |  |  | DictUtils.setDictCache(data.getDictType(), dictDatas); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return row; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改保存字典数据信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data 字典数据信息 | 
|---|
|  |  |  | * @return 结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public int updateDictData(SysDictData data) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | int row = dictDataMapper.updateDictData(data); | 
|---|
|  |  |  | if (row > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); | 
|---|
|  |  |  | DictUtils.setDictCache(data.getDictType(), dictDatas); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return row; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|