package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.CustomerContactDto; import com.ruoyi.basic.mapper.CustomerContactMapper; import com.ruoyi.basic.pojo.CustomerContact; import com.ruoyi.basic.service.CustomerContactService; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** *

* 客户联系人表 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-05-07 03:46:40 */ @Service @RequiredArgsConstructor public class CustomerContactServiceImpl extends ServiceImpl implements CustomerContactService { private final CustomerContactMapper customerContactMapper; @Override public IPage listPage(Page page, CustomerContactDto customerContactDto) { return customerContactMapper.listPage(page,customerContactDto); } @Override public Boolean add(CustomerContactDto customerContact) { List idList = customerContact.getCustomerIdList(); if (idList != null && !idList.isEmpty()) { String result = idList.stream() .filter(Objects::nonNull) .distinct() .map(String::valueOf) // 将 Long 转换为 String .collect(Collectors.joining(",")); customerContact.setCustomerId(result); } return save(customerContact); } @Override public Boolean updateCustomerContact(CustomerContactDto customerContact) { List idList = customerContact.getCustomerIdList(); if (idList != null && !idList.isEmpty()) { String result = idList.stream() .filter(Objects::nonNull) .distinct() .map(String::valueOf) // 将 Long 转换为 String .collect(Collectors.joining(",")); customerContact.setCustomerId(result); } return updateById(customerContact); } @Override public CustomerContactDto getCustomerContactDtoById(Long id) { CustomerContact byId = getById(id); CustomerContactDto customerContactDto = new CustomerContactDto(); BeanUtils.copyProperties(byId, customerContactDto); if (byId != null && byId.getCustomerId() != null && !byId.getCustomerId().isEmpty()) { List idList = Arrays.stream(byId.getCustomerId().split(",")) .map(String::trim) // 去除可能的空格 .filter(s -> !s.isEmpty()) // 过滤空字符串 .map(Long::parseLong) // 转换为 Long .collect(Collectors.toList()); customerContactDto.setCustomerIdList(idList); } else { customerContactDto.setCustomerIdList(new ArrayList<>()); } return customerContactDto; } }