package com.cloudroam.service.impl; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cloudroam.bo.SysDictItemBO; import com.cloudroam.common.mybatis.LinPage; import com.cloudroam.dto.sysDict.CreateOrUpdateSysDictItemDTO; import com.cloudroam.dto.sysDict.QuerySysDictItemDTO; import com.cloudroam.common.enumeration.DeletedEnum; import com.cloudroam.mapper.SysDictItemMapperCustom; import com.cloudroam.model.SysDictItemDO; import com.cloudroam.mapper.SysDictItemMapper; import com.cloudroam.service.SysDictItemService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** *

* 数据字典详情 服务实现类 *

* * @author generator@TaoJie * @since 2023-08-03 */ @Service public class SysDictItemServiceImpl extends ServiceImpl implements SysDictItemService { @Autowired private SysDictItemMapper sysDictItemMapper; @Autowired private SysDictItemMapperCustom sysDictItemMapperCustom; @Override @Transactional public boolean deleteBySysDictId(String sysDictId) { SysDictItemDO sysDictItemDO=new SysDictItemDO(); QueryWrapper sysDictItemDOQueryWrapper=new QueryWrapper().eq("dict_id",sysDictId); return sysDictItemMapper.delete(sysDictItemDOQueryWrapper)>0; } @Override @Transactional public boolean createSysDictItem(CreateOrUpdateSysDictItemDTO validator) { SysDictItemDO sysDictItemDO=new SysDictItemDO(); BeanUtils.copyProperties(validator,sysDictItemDO); sysDictItemDO.setId(IdUtil.simpleUUID()); sysDictItemDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode()); sysDictItemDO.setCreateTime(new Date()); sysDictItemDO.setUpdateTime(new Date()); return sysDictItemMapper.insert(sysDictItemDO)>0; } @Override public IPage getSysDictItemPage(QuerySysDictItemDTO dto) { LinPage pager = new LinPage<>(dto.getPage(), dto.getCount()); IPage iPage; QueryWrapper wrapper=new QueryWrapper(); if(StrUtil.isNotBlank(dto.getDictId())){ wrapper.eq("dict_id",dto.getDictId()); } if(StrUtil.isNotBlank(dto.getLabel())){ wrapper.like("label",dto.getLabel()); } if(StrUtil.isNotBlank(dto.getValue())){ wrapper.eq("value",dto.getValue()); } iPage=sysDictItemMapper.selectPage(pager,wrapper); return iPage; } @Override public List getSysDictItemList(QuerySysDictItemDTO dto) { QueryWrapper queryWrapper=new QueryWrapper(); queryWrapper.eq("is_deleted",DeletedEnum.DELETED_NO.getCode()); if(StrUtil.isNotBlank(dto.getDictId())){ queryWrapper.eq("dict_id",dto.getDictId()); } if(StrUtil.isNotBlank(dto.getKeyword())){ queryWrapper.and(wrapper->wrapper.like("label",dto.getKeyword()).or().like("value",dto.getKeyword())); } queryWrapper.orderByAsc("dict_id","sort"); /*if(StrUtil.isNotBlank(dto.getLabel())){ wrapper.like("label",dto.getLabel()); } if(StrUtil.isNotBlank(dto.getValue())){ wrapper.eq("value",dto.getValue()); }*/ return sysDictItemMapper.selectList(queryWrapper); } @Override public List getSysDictItemWithDictList(QuerySysDictItemDTO dto) { return sysDictItemMapperCustom.selectSysDictItemWithDictList(dto.getDictId(),dto.getKeyword(),dto.getDictType()); } @Override public boolean existsSysDictItemByName(CreateOrUpdateSysDictItemDTO validator) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted",DeletedEnum.DELETED_NO.getCode()); wrapper.eq("dict_id",validator.getDictId()); wrapper.eq("label",validator.getLabel()); if(StrUtil.isNotBlank(validator.getId())){ wrapper.ne("id",validator.getId()); } return sysDictItemMapper.selectList(wrapper).size()>0; } @Override public boolean existsSysDictItemByValue(CreateOrUpdateSysDictItemDTO validator) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted",DeletedEnum.DELETED_NO.getCode()); wrapper.eq("dict_id",validator.getDictId()); wrapper.eq("value",validator.getValue()); if(StrUtil.isNotBlank(validator.getId())){ wrapper.ne("id",validator.getId()); } return sysDictItemMapper.selectList(wrapper).size()>0; } }