|
@@ -1,13 +1,24 @@
|
|
|
package cn.com.yusys.yusp.service.impl;
|
|
package cn.com.yusys.yusp.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.com.yusys.yusp.commons.util.StringUtils;
|
|
|
import cn.com.yusys.yusp.config.FastApiConfig;
|
|
import cn.com.yusys.yusp.config.FastApiConfig;
|
|
|
|
|
+import cn.com.yusys.yusp.domain.dto.TagResultDto;
|
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingFeedbackRequestDto;
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingFeedbackRequestDto;
|
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingQueryRequestDto;
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingQueryRequestDto;
|
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingRequestDto;
|
|
import cn.com.yusys.yusp.domain.dto.fastapidto.AiTaggingRequestDto;
|
|
|
|
|
+import cn.com.yusys.yusp.domain.entity.AitagTagLogEntity;
|
|
|
|
|
+import cn.com.yusys.yusp.domain.vo.EsbVo.CustomerProfileNode;
|
|
|
|
|
+import cn.com.yusys.yusp.domain.vo.EsbVo.CustomerProfileReqVo;
|
|
|
import cn.com.yusys.yusp.domain.vo.fastapivo.AiTaggingQueryResponseVo;
|
|
import cn.com.yusys.yusp.domain.vo.fastapivo.AiTaggingQueryResponseVo;
|
|
|
import cn.com.yusys.yusp.domain.vo.fastapivo.AiTaggingResponseVo;
|
|
import cn.com.yusys.yusp.domain.vo.fastapivo.AiTaggingResponseVo;
|
|
|
|
|
+import cn.com.yusys.yusp.mapper.AitagTagLogDao;
|
|
|
|
|
+import cn.com.yusys.yusp.service.AitagTagLogService;
|
|
|
import cn.com.yusys.yusp.service.FastApiService;
|
|
import cn.com.yusys.yusp.service.FastApiService;
|
|
|
|
|
+import cn.com.yusys.yusp.service.esb.ESBService;
|
|
|
|
|
+import cn.com.yusys.yusp.util.SessionCommonUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.http.HttpEntity;
|
|
import org.apache.http.HttpEntity;
|
|
|
import org.apache.http.client.config.RequestConfig;
|
|
import org.apache.http.client.config.RequestConfig;
|
|
@@ -23,6 +34,11 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URLEncoder;
|
|
import java.net.URLEncoder;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+import static cn.com.yusys.yusp.config.DataDictionary.CONFIRM_TAGGING;
|
|
|
|
|
+import static cn.com.yusys.yusp.config.DataDictionary.FEEDBACK_RESULT_AGREE;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
@@ -35,6 +51,12 @@ public class FastApiServiceImpl implements FastApiService {
|
|
|
private static final String QUERY_PATH = "/api/aitag/v1/query";
|
|
private static final String QUERY_PATH = "/api/aitag/v1/query";
|
|
|
private static final String FEEDBACK_PATH = "/api/aitag/v1/feedback";
|
|
private static final String FEEDBACK_PATH = "/api/aitag/v1/feedback";
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ESBService esbService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private AitagTagLogDao aitagTagLogDao;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public AiTaggingResponseVo tagging(AiTaggingRequestDto request) {
|
|
public AiTaggingResponseVo tagging(AiTaggingRequestDto request) {
|
|
|
String url = fastApiConfig.getUrl() + TAGGING_PATH;
|
|
String url = fastApiConfig.getUrl() + TAGGING_PATH;
|
|
@@ -144,6 +166,34 @@ public class FastApiServiceImpl implements FastApiService {
|
|
|
errorResponse.setMessage("AI 打标反馈接口调用失败:" + (responseBody.isEmpty() ? "服务器内部错误" : responseBody));
|
|
errorResponse.setMessage("AI 打标反馈接口调用失败:" + (responseBody.isEmpty() ? "服务器内部错误" : responseBody));
|
|
|
return errorResponse;
|
|
return errorResponse;
|
|
|
}
|
|
}
|
|
|
|
|
+ List<CustomerProfileNode> customerProfileNodes = new ArrayList<>();
|
|
|
|
|
+ if(StringUtils.equals(request.getFeedback(),FEEDBACK_RESULT_AGREE)){
|
|
|
|
|
+ LambdaQueryWrapper<AitagTagLogEntity> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq(AitagTagLogEntity::getBusinessAttr,request.getBusinessAttr());
|
|
|
|
|
+ List<AitagTagLogEntity> aitagTagLogEntities = aitagTagLogDao.selectList(queryWrapper);
|
|
|
|
|
+ AitagTagLogEntity aitagTagLog = aitagTagLogEntities.get(0);
|
|
|
|
|
+ String result = aitagTagLog.getResult();
|
|
|
|
|
+ List<TagResultDto> tagResultDtos = JSONArray.parseArray(result, TagResultDto.class);
|
|
|
|
|
+ for(TagResultDto tagResult: tagResultDtos){
|
|
|
|
|
+ if(tagResult.getPassr()){
|
|
|
|
|
+ customerProfileNodes.add(new CustomerProfileNode(request.getContractNo()
|
|
|
|
|
+ ,tagResult.getTag_code(),tagResult.getTag_name()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ List<TagResultDto> tagResultDtos = JSONArray.parseArray(request.getFeedbackResult(), TagResultDto.class);
|
|
|
|
|
+ for(TagResultDto tagResult: tagResultDtos){
|
|
|
|
|
+ if(tagResult.getPassr()){
|
|
|
|
|
+ customerProfileNodes.add(new CustomerProfileNode(request.getContractNo()
|
|
|
|
|
+ ,tagResult.getTag_code(),tagResult.getTag_name()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ CustomerProfileReqVo customerProfileReqVo = new CustomerProfileReqVo();
|
|
|
|
|
+ customerProfileReqVo.setLABEL_RESULT(CONFIRM_TAGGING);
|
|
|
|
|
+ customerProfileReqVo.setUSER_ID(SessionCommonUtil.getUserId());
|
|
|
|
|
+ customerProfileReqVo.setDATA(customerProfileNodes);
|
|
|
|
|
+ esbService.taggingResultSync(customerProfileReqVo);
|
|
|
|
|
|
|
|
return JSON.parseObject(responseBody, AiTaggingResponseVo.class);
|
|
return JSON.parseObject(responseBody, AiTaggingResponseVo.class);
|
|
|
}
|
|
}
|