package com.gkhy.assess.system.service.impl; import cn.hutool.core.util.ObjectUtil; import com.gkhy.assess.common.api.CommonPage; import com.gkhy.assess.common.exception.ApiException; import com.gkhy.assess.common.utils.PageUtil; import com.gkhy.assess.system.domain.SysDictData; import com.gkhy.assess.system.domain.SysDictType; import com.gkhy.assess.system.domain.SysLaw; import com.gkhy.assess.system.mapper.SysDictDataMapper; import com.gkhy.assess.system.mapper.SysDictTypeMapper; import com.gkhy.assess.system.service.SysDictTypeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.assess.system.utils.ShiroUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** *

* 字典类型表 服务实现类 *

* * @author kzy * @since 2023-11-01 15:37:51 */ @Service public class SysDictTypeServiceImpl extends ServiceImpl implements SysDictTypeService { @Autowired private SysDictDataMapper dictDataMapper; @Override public CommonPage dictTypeList(SysDictType dictType) { PageUtil.startPage(); List dictList=baseMapper.dictTypeList(dictType); return CommonPage.restPage(dictList); } @Override public SysDictType getDictTypeById(Long dictId) { return baseMapper.getDictTypeById(dictId); } @Override public int addDictType(SysDictType dictType) { boolean b=save(dictType); if(!b){ throw new ApiException("新增字典类型失败"); } return 1; } @Override // @Transactional(rollbackFor = RuntimeException.class) public int editDictType(SysDictType dict) { SysDictType oldDict= baseMapper.getDictTypeById(dict.getId()); dict.setDictType(oldDict.getDictType());//字典类型不能修改 boolean b=updateById(dict); if(!b){ throw new ApiException("修改数据字典类型失败"); } return 1; } @Override public int deleteDictTypeById(Long dictId) { SysDictType dictType=getDictTypeById(dictId); if(dictDataMapper.countDictDataByType(dictType.getDictType())>0){ throw new ApiException(String.format("%1$s已分配,不能删除", dictType.getName())); } boolean b=removeById(dictId); if(!b){ throw new ApiException("删除字典类型失败"); } return 1; } @Override public int changeDictTypeStatus(SysDictType dictType) { SysDictType dt=new SysDictType().setId(dictType.getId()).setDictType(dictType.getDictType()); dt.setUpdateBy(ShiroUtils.getSysUser().getUsername()); return baseMapper.updateById(dt); } @Override public boolean checkDictTypeUnique(SysDictType dict) { Long dictId = ObjectUtil.isNull(dict.getId()) ? -1L : dict.getId(); SysDictType dictType = baseMapper.checkDictTypeUnique(dict.getDictType()); if (ObjectUtil.isNotNull(dictType) && dictType.getId().longValue() != dictId.longValue()) { return false; } return true; } @Override public List getDictDataByType(String dictType) { return dictDataMapper.getDictDataByType(dictType); } @Override public SysDictType getDictTypeByType(String dictType) { return baseMapper.getDictTypeByType(dictType); } }