Browse Source

标签体系详情接口

2643616413 3 days ago
parent
commit
43b9c89ce1

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

@@ -112,4 +112,15 @@ public class AitagTagCategoryController {
             return Result.error("500", "分页查询失败:" + e.getMessage());
         }
     }
+
+    @ApiOperationType("标签体系详情")
+    @GetMapping("/detail/{id}")
+    public Result<AitagTagCategoryVo> getCategoryDetail(@PathVariable String id) {
+        try {
+            AitagTagCategoryVo categoryDetail = aiTagCategoryService.getCategoryDetail(id);
+            return Result.success(categoryDetail);
+        } catch (Exception e) {
+            return Result.error("500", "查询标签体系详情失败:" + e.getMessage());
+        }
+    }
 }

+ 1 - 1
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/controller/FastApiController.java

@@ -63,7 +63,7 @@ public class FastApiController {
     }
 
     @ApiOperationType("AI打标反馈")
-    @GetMapping("/feedback")
+    @PostMapping("/feedback")
     public Result<AiTaggingResponseVo> feedback(
             @RequestParam(required = false) String userId,
             @RequestParam(required = false) String userNm,

+ 8 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/mapper/AitagTagCategoryMapper.java

@@ -44,4 +44,12 @@ public interface AitagTagCategoryMapper {
 
     // 统计已启用标签体系的数量
     long selectCountEnabled();
+
+    /**
+     * 根据ID查询标签体系详情(包含标签数量)
+     * @param id 标签体系ID
+     * @return 标签体系实体
+     */
+    AitagTagCategory selectDetailById(@Param("id") String id);
+
 }

+ 6 - 1
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/AitagTagCategoryService.java

@@ -18,5 +18,10 @@ public interface AitagTagCategoryService {
     void deleteCategory(String id);
     // 分页查询已启用的标签体系
     Page<AitagTagCategoryVo> listEnabledCategories(int page, int size);
-
+    /**
+     * 根据ID查询标签体系详情
+     * @param id 标签体系ID
+     * @return 标签体系详情VO
+     */
+    AitagTagCategoryVo getCategoryDetail(String id);
 }

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

@@ -174,4 +174,27 @@ public class AitagTagCategoryServiceImpl implements AitagTagCategoryService {
         pageObj.setRecords(voList);
         return pageObj;
     }
+
+    @Override
+    public AitagTagCategoryVo getCategoryDetail(String id) {
+        AitagTagCategory category = aiTagCategoryMapper.selectDetailById(id);
+        if (category == null) {
+            throw new RuntimeException("标签体系不存在");
+        }
+
+        AitagTagCategoryVo vo = new AitagTagCategoryVo();
+        vo.setId(category.getId());
+        vo.setCategoryCode(category.getCategoryCode());
+        vo.setCategoryNm(category.getCategoryNm());
+        vo.setCategoryDesc(category.getCategoryDesc());
+        vo.setVisibilityLevel(category.getVisibilityLevel());
+        vo.setState(category.getState());
+        vo.setIsDelete(category.getIsDelete());
+
+        // 计算标签数量
+        int tagNum = aiTagCategoryMapper.countTagsByCategoryId(category.getId());
+        vo.setTagNum(tagNum);
+
+        return vo;
+    }
 }

+ 5 - 0
server/yusp-tagging-core/src/main/resources/mapper/AitagTagCategoryMapper.xml

@@ -71,4 +71,9 @@
     <select id="selectCountEnabled" resultType="long">
         SELECT COUNT(*) FROM aitag_tag_category WHERE is_delete = 0 AND state = 0
     </select>
+
+    <!-- 根据ID查询标签体系详情 -->
+    <select id="selectDetailById" resultType="cn.com.yusys.yusp.domain.entity.AitagTagCategory">
+        SELECT * FROM aitag_tag_category WHERE id = #{id}
+    </select>
 </mapper>

+ 0 - 19
server/yusp-tagging-starter/src/main/java/cn/com/yusys/yusp/detail/App.java

@@ -13,26 +13,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 @EnableScheduling
 public class App {
     public static void main(String[] args) {
-        // --- 新增诊断代码开始 ---
-        try {
-            // 尝试强制加载 Claims 类
-            Class.forName("io.jsonwebtoken.Claims");
-            System.out.println(">>> [DIAGNOSTIC] SUCCESS: io.jsonwebtoken.Claims is in classpath!");
 
-            // 打印该类来自哪个 Jar 包
-            String location = Class.forName("io.jsonwebtoken.Claims")
-                    .getProtectionDomain()
-                    .getCodeSource()
-                    .getLocation()
-                    .toString();
-            System.out.println(">>> [DIAGNOSTIC] Loaded from: " + location);
-
-        } catch (ClassNotFoundException e) {
-            System.err.println(">>> [DIAGNOSTIC] FATAL: io.jsonwebtoken.Claims NOT found in classpath!");
-            System.err.println(">>> [DIAGNOSTIC] Current Thread Context ClassLoader: " + Thread.currentThread().getContextClassLoader());
-            e.printStackTrace();
-        }
-        // --- 新增诊断代码结束 ---
 
         SpringApplication.run(App.class, args);
     }

+ 7 - 3
server/yusp-tagging-starter/src/main/resources/application.yml

@@ -18,10 +18,14 @@ spring:
         max-idle: 20 #连接池中的最大空闲连接 默认 8
   application:
     jackson:
-      date-format: yyyy-MM-dd HH:mm:ss #日期格式
+      date-format: yyyy-MM-dd HH:mm:ss  # 您已有的配置
+      time-zone: GMT+8                  # 添加时区配置
       serialization:
-        INDENT_OUTPUT: true #是否格式化输出
-      default-property-inclusion: non_null #null不进行序列化
+        write-dates-as-timestamps: false  # 确保日期以字符串形式序列化
+        INDENT_OUTPUT: true
+      deserialization:
+        fail-on-unknown-properties: false
+      default-property-inclusion: non_null
 #  datasource:
 #    driver-class-name: org.postgresql.Driver # PostgreSQL数据库连接驱动
 #    type: com.zaxxer.hikari.HikariDataSource # 数据库连接池类型