package com.doumee.service.system.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.business.dto.RiskConfigDTO; import com.doumee.dao.business.vo.RiskConfigVO; import com.doumee.dao.system.SystemDictDataMapper; import com.doumee.dao.system.dto.QuerySystemDictDataDTO; import com.doumee.dao.system.model.SystemDictData; import com.doumee.dao.system.vo.SystemDictDataListVO; import com.doumee.service.system.SystemDictDataService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 字典数据Service实现 * @author Eva.Caesar Liu * @date 2023/03/21 14:49 */ @Service public class SystemDictDataServiceImpl implements SystemDictDataService { @Autowired private SystemDictDataMapper systemDictDataMapper; @Override public Integer create(SystemDictData systemDictData) { systemDictDataMapper.insert(systemDictData); return systemDictData.getId(); } @Override public void deleteById(Integer id) { SystemDictData systemDictData = new SystemDictData(); systemDictData.setId(id); systemDictData.setDeleted(Boolean.TRUE); this.updateById(systemDictData); } @Override @Transactional public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } for (Integer id : ids) { this.deleteById(id); } } @Override public void updateById(SystemDictData systemDictData) { systemDictDataMapper.updateById(systemDictData); } @Override @Transactional public void updateByIdInBatch(List systemDictDatas) { if (CollectionUtils.isEmpty(systemDictDatas)) { return; } for (SystemDictData systemDictData: systemDictDatas) { this.updateById(systemDictData); } } @Override public SystemDictData findById(Integer id) { return systemDictDataMapper.selectById(id); } @Override public SystemDictData findOne(SystemDictData systemDictData) { Wrapper wrapper = new QueryWrapper<>(systemDictData); return systemDictDataMapper.selectOne(wrapper); } @Override public List findList(SystemDictData systemDictData) { Wrapper wrapper = new QueryWrapper<>(systemDictData); return systemDictDataMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity()); return PageData.from(new PageInfo<>(systemDictDataMapper.selectManageList(pageWrap.getModel()))); } @Override public long count(SystemDictData systemDictData) { Wrapper wrapper = new QueryWrapper<>(systemDictData); return systemDictDataMapper.selectCount(wrapper); } @Override public List findList(Integer dicId,List codes) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Objects.nonNull(dicId),SystemDictData::getDictId,dicId) .in(SystemDictData::getLabel,codes); return systemDictDataMapper.selectList(wrapper); } @Override public RiskConfigVO getRiskConfig(){ List systemDictDataList = systemDictDataMapper.selectList(new QueryWrapper().lambda().eq( SystemDictData::getDictId, 6) .in(SystemDictData::getLabel,"RISK_TIMES_OPEN", "RISK_TIMES_REPORT_TIMES", "RISK_REPEAT_REPORT_OPEN", "RISK_REPEAT_REPORT_TIME_UNIT", "RISK_REPEAT_REPORT_TIME", "RISK_CLAIM_TIMES_OPEN", "RISK_CLAIM_TIMES", "RISK_NEW_MEMBER_OPEN", "RISK_NEW_MEMBER_TIME_UNIT", "RISK_NEW_MEMBER_TIME", "RISK_SENSITIVE_WORDS_OPEN", "RISK_SENSITIVE_WORDS" ) ); RiskConfigVO riskConfigVO = new RiskConfigVO(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictDataList)){ for (SystemDictData systemDictData:systemDictDataList) { if(systemDictData.getLabel().equals(Constants.RISK_TIMES_OPEN)){ riskConfigVO.setRiskTimesOpen(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_TIMES_REPORT_TIMES)){ riskConfigVO.setRiskTimesReportTimes(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_OPEN)){ riskConfigVO.setRiskRepeatReportOpen(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_TIME_UNIT)){ riskConfigVO.setRiskRepeatReportTimeUnit(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_TIME)){ riskConfigVO.setRiskRepeatReportTime(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES_OPEN)){ riskConfigVO.setRiskClaimTimesOpen(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES)){ riskConfigVO.setRiskClaimTimes(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_OPEN)){ riskConfigVO.setRiskNewMemberOpen(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME_UNIT)){ riskConfigVO.setRiskNewMemberTimeUnit(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME)){ riskConfigVO.setRiskNewMemberTime(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_SENSITIVE_WORDS_OPEN)){ riskConfigVO.setRiskSensitiveWordsOpen(systemDictData.getCode()); }else if(systemDictData.getLabel().equals(Constants.RISK_SENSITIVE_WORDS)){ riskConfigVO.setRiskSensitiveWords(systemDictData.getCode()); } } } return riskConfigVO; } @Override public void updRiskConfig(RiskConfigDTO riskConfigDTO){ List systemDictDataList = systemDictDataMapper.selectList(new QueryWrapper().lambda().eq( SystemDictData::getDictId, 6) .in(SystemDictData::getLabel,"RISK_TIMES_OPEN", "RISK_TIMES_REPORT_TIMES", "RISK_REPEAT_REPORT_OPEN", "RISK_REPEAT_REPORT_TIME_UNIT", "RISK_REPEAT_REPORT_TIME", "RISK_CLAIM_TIMES_OPEN", "RISK_CLAIM_TIMES", "RISK_NEW_MEMBER_OPEN", "RISK_NEW_MEMBER_TIME_UNIT", "RISK_NEW_MEMBER_TIME", "RISK_SENSITIVE_WORDS_OPEN", "RISK_SENSITIVE_WORDS" ) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemDictDataList)){ for (SystemDictData systemDictData:systemDictDataList) { if(systemDictData.getLabel().equals(Constants.RISK_TIMES_OPEN)){ systemDictData.setCode(riskConfigDTO.getRiskTimesOpen()); }else if(systemDictData.getLabel().equals(Constants.RISK_TIMES_REPORT_TIMES)){ systemDictData.setCode(riskConfigDTO.getRiskTimesReportTimes()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_OPEN)){ systemDictData.setCode(riskConfigDTO.getRiskRepeatReportOpen()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_TIME_UNIT)){ systemDictData.setCode(riskConfigDTO.getRiskRepeatReportTimeUnit()); }else if(systemDictData.getLabel().equals(Constants.RISK_REPEAT_REPORT_TIME)){ systemDictData.setCode(riskConfigDTO.getRiskRepeatReportTime()); }else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES_OPEN)){ systemDictData.setCode(riskConfigDTO.getRiskClaimTimesOpen()); }else if(systemDictData.getLabel().equals(Constants.RISK_CLAIM_TIMES)){ systemDictData.setCode(riskConfigDTO.getRiskClaimTimes()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_OPEN)){ systemDictData.setCode(riskConfigDTO.getRiskNewMemberOpen()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME_UNIT)){ systemDictData.setCode(riskConfigDTO.getRiskNewMemberTimeUnit()); }else if(systemDictData.getLabel().equals(Constants.RISK_NEW_MEMBER_TIME)){ systemDictData.setCode(riskConfigDTO.getRiskNewMemberTime()); }else if(systemDictData.getLabel().equals(Constants.RISK_SENSITIVE_WORDS_OPEN)){ systemDictData.setCode(riskConfigDTO.getRiskSensitiveWordsOpen()); }else if(systemDictData.getLabel().equals(Constants.RISK_SENSITIVE_WORDS)){ systemDictData.setCode(riskConfigDTO.getRiskSensitiveWords()); }else{ continue; } systemDictDataMapper.updateById(systemDictData); } } } }