|
|
@@ -11,10 +11,12 @@ import com.storlead.framework.mybatis.service.impl.MyBaseServiceImpl;
|
|
|
import com.storlead.trade.dto.CustomerDTO;
|
|
|
import com.storlead.trade.entity.CustomerCompanyEntity;
|
|
|
import com.storlead.trade.entity.CustomerEntity;
|
|
|
+import com.storlead.trade.entity.CustomerAnalysisResultEntity;
|
|
|
import com.storlead.trade.entity.LiaisonEntity;
|
|
|
import com.storlead.trade.mapper.CustomerEntityMapper;
|
|
|
import com.storlead.trade.service.CustomerCompanyTradeService;
|
|
|
import com.storlead.trade.service.CustomerTradeService;
|
|
|
+import com.storlead.trade.service.CustomerAnalysisResultEntityService;
|
|
|
import com.storlead.trade.service.LiaisonTradeService;
|
|
|
import com.storlead.trade.vo.CustomerVO;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -40,12 +42,15 @@ public class CustomerTradeServiceImpl
|
|
|
|
|
|
private final CustomerCompanyTradeService customerCompanyTradeService;
|
|
|
private final LiaisonTradeService liaisonTradeService;
|
|
|
+ private final CustomerAnalysisResultEntityService customerAnalysisResultEntityService;
|
|
|
|
|
|
public CustomerTradeServiceImpl(
|
|
|
CustomerCompanyTradeService customerCompanyTradeService,
|
|
|
- LiaisonTradeService liaisonTradeService) {
|
|
|
+ LiaisonTradeService liaisonTradeService,
|
|
|
+ CustomerAnalysisResultEntityService customerAnalysisResultEntityService) {
|
|
|
this.customerCompanyTradeService = customerCompanyTradeService;
|
|
|
this.liaisonTradeService = liaisonTradeService;
|
|
|
+ this.customerAnalysisResultEntityService = customerAnalysisResultEntityService;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -195,6 +200,18 @@ public class CustomerTradeServiceImpl
|
|
|
Map<Long, LiaisonEntity> liaisonMap =
|
|
|
liaisonTradeService.customerIdListToLiaisonMap(customerIds);
|
|
|
|
|
|
+ // 关联客户分析结果(customer ↔ customer_analysis_result 一对一)
|
|
|
+ Map<Long, CustomerAnalysisResultEntity> analysisResultMap =
|
|
|
+ customerAnalysisResultEntityService.list(
|
|
|
+ new LambdaQueryWrapper<CustomerAnalysisResultEntity>()
|
|
|
+ .eq(CustomerAnalysisResultEntity::getIsDelete, CommonConstant.DEL_FLAG_0)
|
|
|
+ .in(CustomerAnalysisResultEntity::getCustomerId, customerIds)
|
|
|
+ ).stream().collect(Collectors.toMap(
|
|
|
+ CustomerAnalysisResultEntity::getCustomerId,
|
|
|
+ e -> e,
|
|
|
+ (e1, e2) -> e1
|
|
|
+ ));
|
|
|
+
|
|
|
// Step3: 组装 VO
|
|
|
List<CustomerVO> voList = new ArrayList<>();
|
|
|
for (CustomerEntity entity : resultPage.getRecords()) {
|
|
|
@@ -202,6 +219,7 @@ public class CustomerTradeServiceImpl
|
|
|
BeanUtils.copyProperties(entity, vo);
|
|
|
vo.setCustomerCompany(companyMap.get(entity.getId()));
|
|
|
vo.setLiaison(liaisonMap.get(entity.getId()));
|
|
|
+ vo.setCustomerAnalysisResult(analysisResultMap.get(entity.getId()));
|
|
|
voList.add(vo);
|
|
|
}
|
|
|
|
|
|
@@ -235,6 +253,11 @@ public class CustomerTradeServiceImpl
|
|
|
|
|
|
vo.setCustomerCompany(companyMap.get(customerId));
|
|
|
vo.setLiaison(liaisonMap.get(customerId));
|
|
|
+ vo.setCustomerAnalysisResult(customerAnalysisResultEntityService.getOne(
|
|
|
+ new LambdaQueryWrapper<CustomerAnalysisResultEntity>()
|
|
|
+ .eq(CustomerAnalysisResultEntity::getIsDelete, CommonConstant.DEL_FLAG_0)
|
|
|
+ .eq(CustomerAnalysisResultEntity::getCustomerId, customerId)
|
|
|
+ .last("LIMIT 1")));
|
|
|
return vo;
|
|
|
}
|
|
|
|