Przeglądaj źródła

标签体系新增,修改 启用 停用后调用接口进行标签体系同步

2507040827 3 tygodni temu
rodzic
commit
fb46aa1db8

+ 9 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/controller/AitagTagCategoryController.java

@@ -6,6 +6,7 @@ import cn.com.yusys.yusp.domain.entity.AitagTagCategory;
 import cn.com.yusys.yusp.domain.vo.AitagTagCategoryVo;
 import cn.com.yusys.yusp.model.Result;
 import cn.com.yusys.yusp.service.AitagTagCategoryService;
+import cn.com.yusys.yusp.service.FastApiService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -21,6 +22,9 @@ public class AitagTagCategoryController {
     @Autowired
     private AitagTagCategoryService aiTagCategoryService;
 
+    @Autowired
+    private FastApiService fastApiService;
+
     @ApiOperationType("标签体系列表")
     @GetMapping("/list")
     public Result<List<AitagTagCategoryVo>> listCategories(
@@ -40,17 +44,20 @@ public class AitagTagCategoryController {
     public Result<AitagTagCategory> createCategory(@Validated @RequestBody AitagTagCategoryCreateDto dto) {
         try {
             AitagTagCategory category = aiTagCategoryService.createCategory(dto);
+            fastApiService.categorySync(category.getId());
             return Result.success(category);
         } catch (Exception e) {
             return Result.error("500", "新建标签体系失败:" + e.getMessage());
         }
     }
 
+
     @ApiOperationType("编辑标签体系")
     @PostMapping("/update")
     public Result<AitagTagCategory> updateCategory(@Validated @RequestBody AitagTagCategoryUpdateDto dto) {
         try {
             AitagTagCategory category = aiTagCategoryService.updateCategory(dto);
+            fastApiService.categorySync(category.getId());
             return Result.success(category);
         } catch (Exception e) {
             return Result.error("500", "编辑标签体系失败:" + e.getMessage());
@@ -62,6 +69,7 @@ public class AitagTagCategoryController {
     public Result<Void> enableCategory(@RequestParam String id) {
         try {
             aiTagCategoryService.enableCategory(id);
+            fastApiService.categorySync(id);
             return Result.success();
         } catch (Exception e) {
             return Result.error("500", "启用标签体系失败:" + e.getMessage());
@@ -73,6 +81,7 @@ public class AitagTagCategoryController {
     public Result<Void> disableCategory(@RequestParam String id) {
         try {
             aiTagCategoryService.disableCategory(id);
+            fastApiService.categorySync(id);
             return Result.success();
         } catch (Exception e) {
             return Result.error("500", "停用标签体系失败:" + e.getMessage());

+ 2 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/FastApiService.java

@@ -28,4 +28,6 @@ public interface FastApiService {
      * @return 响应结果
      */
     AiTaggingResponseVo feedback(AiTaggingFeedbackRequestDto request);
+
+    AiTaggingResponseVo categorySync(String categoryId);
 }

+ 23 - 16
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/FastApiServiceImpl.java

@@ -1,26 +1,17 @@
 package cn.com.yusys.yusp.service.impl;
 
-import cn.com.yusys.yusp.commons.util.StringUtils;
+import cn.com.yusys.yusp.commons.exception.BizException;
 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.AiTaggingQueryRequestDto;
 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.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.esb.ESBService;
-import cn.com.yusys.yusp.util.SessionCommonUtil;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpEntity;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
@@ -34,11 +25,6 @@ import org.springframework.stereotype.Service;
 
 import java.io.UnsupportedEncodingException;
 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
 @Service
@@ -216,9 +202,30 @@ public class FastApiServiceImpl implements FastApiService {
             return errorResponse;
         }
     }
-// ... existing code ...
 
 
+    @Override
+    public AiTaggingResponseVo categorySync(String categoryId) {
+        String url = fastApiConfig.getUrl() + "/api/aitag/admin/v1/synchronize_category";
+        log.info("调用标签体系信息同步接口: {}", url);
+
+        try (CloseableHttpClient httpClient = createHttpClient()) {
+            HttpPost httpPost = new HttpPost(url);
+            httpPost.setHeader("Content-Type", "application/json");
+            // 构造请求体
+            String requestBody ="{\"category_id\": \""+categoryId+"\"}";
+            httpPost.setEntity(new StringEntity(requestBody, "UTF-8"));
+            try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
+                String responseBody = EntityUtils.toString(response.getEntity(), "UTF-8");
+                log.info("调用标签体系信息同步接口: {}", responseBody);
+                return JSON.parseObject(responseBody, AiTaggingResponseVo.class);
+            }
+        } catch (Exception e) {
+            log.error("调用标签体系信息同步接口", e);
+            throw BizException.of("E008");
+        }
+    }
+
 
     // 辅助方法用于 URL 编码
     private String encodeParam(String param) {