diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java index 149ca2c..7dd56fe 100644 --- a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java @@ -111,7 +111,8 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService { inputMap.put("analysisScene", "2"); inputMap.put("recordId", aicorpusTelephone.getSourceId()); inputMap.put("communicateDate", formattedDateStartTime); - inputMap.put("version", 2); + inputMap.put("brand",getBrand()); + inputMap.put("brandSeries",getSeriesByBrandId()); diFyImageReq.setInputs(inputMap); CorpusReportDTO corpusReportDTO = new CorpusReportDTO(); corpusReportDTO.setCorpusTime(formattedDateStartTime); @@ -210,7 +211,8 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService { inputMap.put("unionId", unionId); inputMap.put("consultantId", userId); inputMap.put("communicateDate", DateUtil.format(maxMsgTimeItem.getMsgTime(), DatePattern.NORM_DATETIME_PATTERN)); - inputMap.put("version", 2); + inputMap.put("brand",getBrand()); + inputMap.put("brandSeries",getSeriesByBrandId()); diFyImageReq.setInputs(inputMap); CorpusReportDTO corpusReportDTO = new CorpusReportDTO(); @@ -261,7 +263,8 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService { inputMap.put("model", carModel); inputMap.put("customerFlowId", item.getCustomerFlowId()); inputMap.put("analysisScene", "3"); - inputMap.put("version",2); + inputMap.put("brand",getBrand()); + inputMap.put("brandSeries",getSeriesByBrandId()); diFyImageReq.setInputs(inputMap); CorpusReportDTO corpusReportDTO = new CorpusReportDTO(); @@ -284,18 +287,54 @@ public class CorpusPortraitServiceImpl implements CorpusPortraitService { } public String getBrand(){ - ResultDTO> result = competingBrandsClient.getBrand(); - if (BizEnum.SUCCESS.getCode().toString().equals(result.getReturnCode()) && CollectionUtils.isNotEmpty(result.getData())) { - List brandDtoList = result.getData(); - // 拼接 modelName - String brandName = brandDtoList.stream() - .map(CompetingBrrandsDTO::getBrandName) // 提取 modelName - .collect(Collectors.joining(", ")); // 用逗号和空格拼接 + try { + ResultDTO> result = competingBrandsClient.getBrand(); + if (BizEnum.SUCCESS.getCode().toString().equals(result.getReturnCode()) && CollectionUtils.isNotEmpty(result.getData())) { + List brandDtoList = result.getData(); + // 拼接 modelName + String brandName = brandDtoList.stream() + .map(CompetingBrrandsDTO::getFailBrand) // 提取 modelName + .collect(Collectors.joining(", ")); // 用逗号和空格拼接 - log.info("拼接后的车型名称: {}", brandName); + log.info("拼接后的车型名称: {}", brandName); - return brandName; + return brandName; + } + return null; + } catch (Exception e) { + log.info("竞品车型获取异常: {}", e); + return "奥迪"; + } + } + + public String getSeriesByBrandId(){ + try { + ResultDTO> result = competingBrandsClient.getBrand(); + StringBuilder seriesNameArray = new StringBuilder(); + if (BizEnum.SUCCESS.getCode().toString().equals(result.getReturnCode()) && CollectionUtils.isNotEmpty(result.getData())) { + List brandDtoList = result.getData(); + brandDtoList.forEach(item->{ + ResultDTO> seriesByBrandIdResult = competingBrandsClient.getSeriesByBrandId(item.getFailModelId()); + String seriesName = null; + if (BizEnum.SUCCESS.getCode().toString().equals(seriesByBrandIdResult.getReturnCode()) && CollectionUtils.isNotEmpty(seriesByBrandIdResult.getData())) { + List seriesDtoList = seriesByBrandIdResult.getData(); + // 拼接 modelName + seriesName = seriesDtoList.stream() + .map(CompetingBrrandsDTO::getFailSeries) // 提取 modelName + .collect(Collectors.joining(", ")); // 用 + } + seriesName = item.getFailBrand().concat(": ") + seriesName.concat("。"); + seriesNameArray.append(seriesName).append(" \n"); + }); + + + log.info("拼接后的车型名称: {}", seriesNameArray.toString()); + return seriesNameArray.toString(); + } + return null; + } catch (Exception e) { + log.info("竞品车型获取异常: {}", e); + return "奥迪:奥迪A4 allroad,奥迪A4 Avant,奥迪A6 allroad,奥迪A6 Avant,奥迪A6L PHEV,奥迪Q4 E-TRON,奥迪Q5 E-TRON。"; } - return null; } } \ No newline at end of file