diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/dto/resp/CompetingBrrandsDTO.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/dto/resp/CompetingBrrandsDTO.java new file mode 100644 index 0000000..bf7571f --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/dto/resp/CompetingBrrandsDTO.java @@ -0,0 +1,23 @@ +package com.volvo.ai.analytic.center.dto.resp; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CompetingBrrandsDTO { + + // (燃料类型) + private String failModelId; + private String failBrand; + private String brandName; + private String failSeries; + private String brandSeries; + private String dataSource; + private String isValid; + private String parentId; + private String level; + private String remark; +} diff --git a/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/CompetingBrandsClient.java b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/CompetingBrandsClient.java new file mode 100644 index 0000000..8db7124 --- /dev/null +++ b/ai-analytic-center-api/src/main/java/com/volvo/ai/analytic/center/feign/CompetingBrandsClient.java @@ -0,0 +1,21 @@ +package com.volvo.ai.analytic.center.feign; + +import com.volvo.ai.analytic.center.dto.resp.CompetingBrrandsDTO; +import com.volvo.ai.analytic.center.dto.resp.ResultDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +@FeignClient(url = "${mse-in.url.dms}", contextId = "customerbusiness", value = "customerbusinessClient", path = "/2b/cyxdms.customerbusiness") +public interface CompetingBrandsClient { + + @PostMapping(name = "查询竞品车型", path = "/failModel/getBrand") + ResultDTO> getBrand(); + + @GetMapping(name = "查询竞品车型", path = "/failModel/getSeriesByBrandId") + ResultDTO> getSeriesByBrandId(@RequestParam("failModelId") String failModelId); + +} diff --git a/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/CorpusPortraitService.java b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/CorpusPortraitService.java new file mode 100644 index 0000000..f285758 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/CorpusPortraitService.java @@ -0,0 +1,25 @@ +package com.volvo.ai.analytic.center.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO; +import com.volvo.ai.analytic.center.entity.TmNameplateCorpus; +import com.volvo.common.core.util.ResultMsg; + +import java.util.List; + +/** + * @description 画像处理 + * @author BEJSON + * @date 2025-03-04 + */ +public interface CorpusPortraitService { + + void portraitDcc(AicorpusTelephoneDTO aicorpusTelephone); + + void portraitQiWei(TmNameplateCorpus item); + + void portraitNameplate(JSONObject execDifyFlow,String aiAnalysisRequestId, TmNameplateCorpus tmNameplateCorpus); + + +} \ No newline at end of file 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 new file mode 100644 index 0000000..6832d12 --- /dev/null +++ b/ai-analytic-center-biz/src/main/java/com/volvo/ai/analytic/center/service/impl/CorpusPortraitServiceImpl.java @@ -0,0 +1,99 @@ +package com.volvo.ai.analytic.center.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.volvo.ai.analytic.center.dto.PageDto; +import com.volvo.ai.analytic.center.dto.corpus.AicorpusTelephoneDTO; +import com.volvo.ai.analytic.center.dto.corpus.CorpusReportDTO; +import com.volvo.ai.analytic.center.dto.req.DiFyReq; +import com.volvo.ai.analytic.center.dto.req.RunMaskingRuleInput; +import com.volvo.ai.analytic.center.entity.*; +import com.volvo.ai.analytic.center.enums.BusinessTypeEnum; +import com.volvo.ai.analytic.center.enums.CategoryEnum; +import com.volvo.ai.analytic.center.feign.RemoteCarModelClient; +import com.volvo.ai.analytic.center.mapper.AiAnalysisErrorsMapper; +import com.volvo.ai.analytic.center.mapper.TmNameplateCorpusMapper; +import com.volvo.ai.analytic.center.mapper.TmOdsVdqwMessagearchivingMapper; +import com.volvo.ai.analytic.center.mapper.TtNameplateRecordMapper; +import com.volvo.ai.analytic.center.service.*; +import com.volvo.ai.analytic.center.utils.ConstantStr; +import com.volvo.common.core.util.ResultMsg; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.spring.core.RocketMQTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.util.*; +import java.util.concurrent.CompletableFuture; + + +/** + * @description 铭牌语料表-同步表 + * @author rz + * @date 2025-03-04 + */ +@RefreshScope +@Slf4j +@Service +public class CorpusPortraitServiceImpl implements CorpusPortraitService { + + @Autowired + private TmOdsVdqwMessagearchivingMapper tmOdsVdqwMessagearchivingMapper; + + @Autowired + private TmNameplateCorpusMapper tmNameplateCorpusMapper; + + @Autowired + private TtNameplateRecordMapper ttNameplateRecordMapper; + @Autowired + private TmTelephoneCorpusService tmTelephoneCorpusService; + + @Autowired + private AiAnalysisRequestLogsService aiAnalysisRequestLogsService; + + @Autowired + private AiAnalysisErrorsMapper aiAnalysisErrorsMapper; + @Autowired + private DiFyService diFyService; + + @Resource + private RocketMQTemplate rocketMqTemplate; + @Value("${dify.corpus.nameplate.appkey}") + private String nameplateAppKey; + + @Value("${batch.size}") + public int pageSize = 100; + @Autowired + private RemoteCarModelClient remoteCarModelClient; + + @Autowired + private DataMaskingRuleService dataMaskingRuleService; + + @Autowired + @Resource(name = "threadPoolTaskExecutor") + private ThreadPoolTaskExecutor executor; + + + @Override + public void portraitDcc(AicorpusTelephoneDTO aicorpusTelephone) { + + } + + @Override + public void portraitQiWei(TmNameplateCorpus item) { + + } + + @Override + public void portraitNameplate(JSONObject execDifyFlow, String aiAnalysisRequestId, TmNameplateCorpus tmNameplateCorpus) { + + } +} \ No newline at end of file