package cn.iocoder.yudao.module.crm.api.customer; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO; import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO; import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; import java.util.Map; /** * CRM 客户 API 实现类 * * @author 芋道源码 */ @Service public class CrmCustomerApiImpl implements CrmCustomerApi { @Resource private CrmCustomerService customerService; @Override public CrmCustomerRespDTO getCustomer(Long id) { CrmCustomerDO customer = customerService.getCustomer(id); return BeanUtils.toBean(customer, CrmCustomerRespDTO.class); } @Override public List getCustomerList(Collection ids) { List customers = customerService.getCustomerList(ids); return BeanUtils.toBean(customers, CrmCustomerRespDTO.class); } @Override public Map getCustomerMap(Collection ids) { List customers = customerService.getCustomerList(ids); return customers.stream() .collect(java.util.stream.Collectors.toMap( CrmCustomerDO::getId, customer -> BeanUtils.toBean(customer, CrmCustomerRespDTO.class))); } @Override public CrmCustomerRespDTO validateCustomer(Long id) { customerService.validateCustomer(id); return getCustomer(id); } }