package com.smartor.service.impl; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; import com.smartor.domain.HeCategory; import com.smartor.domain.HeCategoryVO; import com.smartor.domain.IvrLibaTargetAssort; import com.smartor.domain.IvrLibaTargetAssortVO; import com.smartor.mapper.IvrLibaTargetAssortMapper; import com.smartor.service.IIvrLibaTargetAssortService; import io.jsonwebtoken.lang.Collections; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * 指标分类Service业务层处理 * * @author ruoyi * @date 2023-12-14 */ @Service public class IvrLibaTargetAssortServiceImpl implements IIvrLibaTargetAssortService { @Autowired private IvrLibaTargetAssortMapper ivrLibaTargetAssortMapper; /** * 查询指标分类 * * @param id 指标分类主键 * @return 指标分类 */ @Override public IvrLibaTargetAssort selectIvrLibaTargetAssortById(Long id) { return ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortById(id); } /** * 查询指标分类列表 * * @param ivrLibaTargetAssort 指标分类 * @return 指标分类 */ @Override public List selectIvrLibaTargetAssortList(IvrLibaTargetAssort ivrLibaTargetAssort) { List ivrLibaTargetAssorts = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort); //将pid为空的,过滤掉 ivrLibaTargetAssorts = ivrLibaTargetAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList()); List ivrLibaTargetAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTargetAssorts, IvrLibaTargetAssortVO.class); //遍历查出来的数据,通过 id=pid 获取他们的子数据 for (IvrLibaTargetAssortVO ivrLibaTargetAssortVO : ivrLibaTargetAssortVOS) { if (ivrLibaTargetAssortVO.getPid() != null) { continue; } IvrLibaTargetAssort ivrLibaTargetAssort1 = new IvrLibaTargetAssort(); ivrLibaTargetAssort1.setPid(ivrLibaTargetAssortVO.getId()); List ivrLibaTargetAssorts2 = ivrLibaTargetAssortMapper.selectIvrLibaTargetAssortList(ivrLibaTargetAssort1); if (!Collections.isEmpty(ivrLibaTargetAssorts2)) { ivrLibaTargetAssortVO.setIvrLibaTargetAssortList(ivrLibaTargetAssorts2); } } return ivrLibaTargetAssortVOS; } /** * 新增指标分类 * * @param ivrLibaTargetAssort 指标分类 * @return 结果 */ @Override public int insertIvrLibaTargetAssort(IvrLibaTargetAssort ivrLibaTargetAssort) { ivrLibaTargetAssort.setCreateTime(DateUtils.getNowDate()); return ivrLibaTargetAssortMapper.insertIvrLibaTargetAssort(ivrLibaTargetAssort); } /** * 修改指标分类 * * @param ivrLibaTargetAssort 指标分类 * @return 结果 */ @Override public int updateIvrLibaTargetAssort(IvrLibaTargetAssort ivrLibaTargetAssort) { ivrLibaTargetAssort.setUpdateTime(DateUtils.getNowDate()); return ivrLibaTargetAssortMapper.updateIvrLibaTargetAssort(ivrLibaTargetAssort); } /** * 批量删除指标分类 * * @param ids 需要删除的指标分类主键 * @return 结果 */ @Override public int deleteIvrLibaTargetAssortByIds(Long[] ids) { return ivrLibaTargetAssortMapper.deleteIvrLibaTargetAssortByIds(ids); } /** * 删除指标分类信息 * * @param id 指标分类主键 * @return 结果 */ @Override public int deleteIvrLibaTargetAssortById(Long id) { return ivrLibaTargetAssortMapper.deleteIvrLibaTargetAssortById(id); } }