package admin.modules.chatgpt.service.impl; import admin.base.PageInfo; import admin.base.QueryHelpMybatisPlus; import admin.base.impl.CommonServiceImpl; import admin.modules.chatgpt.domain.RiskControlWords; import admin.modules.chatgpt.service.RiskControlWordsService; import admin.modules.chatgpt.service.dto.RiskControlWordsDto; import admin.modules.chatgpt.service.dto.RiskControlWordsQueryCriteria; import admin.modules.chatgpt.service.mapper.RiskControlWordsMapper; import admin.util.ConvertUtil; import admin.util.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.AllArgsConstructor; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.HashSet; import java.util.List; import java.util.Set; /** * @author yan * @date 2024-02-27 */ @Service @AllArgsConstructor // @CacheConfig(cacheNames = RiskControlWordsService.CACHE_KEY) @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) public class RiskControlWordsServiceImpl extends CommonServiceImpl<RiskControlWordsMapper, RiskControlWords> implements RiskControlWordsService { // private final RedisUtils redisUtils; private final RiskControlWordsMapper riskControlWordsMapper; @Override public PageInfo<RiskControlWordsDto> queryAll(RiskControlWordsQueryCriteria query, Pageable pageable) { IPage<RiskControlWords> queryPage = PageUtil.toMybatisPage(pageable); IPage<RiskControlWords> page = riskControlWordsMapper.selectPage(queryPage, QueryHelpMybatisPlus.getPredicate(query)); return ConvertUtil.convertPage(page, RiskControlWordsDto.class); } @Override public List<RiskControlWordsDto> queryAll(RiskControlWordsQueryCriteria query){ return ConvertUtil.convertList(riskControlWordsMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), RiskControlWordsDto.class); } @Override public RiskControlWords getById(Long id) { return riskControlWordsMapper.selectById(id); } @Override // @Cacheable(key = "'id:' + #p0") public RiskControlWordsDto findById(Long id) { return ConvertUtil.convert(getById(id), RiskControlWordsDto.class); } @Override @Transactional(rollbackFor = Exception.class) public int insert(RiskControlWordsDto resources) { RiskControlWords entity = ConvertUtil.convert(resources, RiskControlWords.class); return riskControlWordsMapper.insert(entity); } @Override @Transactional(rollbackFor = Exception.class) public int updateById(RiskControlWordsDto resources){ RiskControlWords entity = ConvertUtil.convert(resources, RiskControlWords.class); int ret = riskControlWordsMapper.updateById(entity); // delCaches(resources.id); return ret; } @Override @Transactional(rollbackFor = Exception.class) public int removeByIds(Set<Long> ids){ // delCaches(ids); return riskControlWordsMapper.deleteBatchIds(ids); } @Override @Transactional(rollbackFor = Exception.class) public void addAll(String words) { String[] wordArray = words.split(";"); RiskControlWords riskControlWords = new RiskControlWords(); for(String word : wordArray){ riskControlWords.setId(null); riskControlWords.setName(word); riskControlWordsMapper.insert(riskControlWords); } } @Override @Transactional(rollbackFor = Exception.class) public int removeById(Long id){ Set<Long> set = new HashSet<>(1); set.add(id); return this.removeByIds(set); } /* private void delCaches(Long id) { redisUtils.delByKey(CACHE_KEY + "::id:", id); } private void delCaches(Set<Long> ids) { for (Long id: ids) { delCaches(id); } }*/ /* @Override public void download(List<RiskControlWordsDto> all, HttpServletResponse response) throws IOException { List<Map<String, Object>> list = new ArrayList<>(); for (RiskControlWordsDto riskControlWords : all) { Map<String,Object> map = new LinkedHashMap<>(); map.put("风控词", riskControlWords.getName()); list.add(map); } FileUtil.downloadExcel(list, response); }*/ }