YPZ 3 nedēļas atpakaļ
vecāks
revīzija
fd61b77c52

+ 24 - 1
java/storlead-sasa/storlead-trade/src/main/java/com/storlead/trade/service/impl/CustomerTradeServiceImpl.java

@@ -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;
     }
 

+ 4 - 0
java/storlead-sasa/storlead-trade/src/main/java/com/storlead/trade/vo/CustomerVO.java

@@ -2,6 +2,7 @@ package com.storlead.trade.vo;
 
 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 io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -18,4 +19,7 @@ public class CustomerVO extends CustomerEntity {
 
     @ApiModelProperty(value = "首要联系人")
     private LiaisonEntity liaison;
+
+    @ApiModelProperty(value = "客户分析结果(一对一关联 customer_analysis_result)")
+    private CustomerAnalysisResultEntity customerAnalysisResult;
 }