From 463d97a5e770dce75c91f9a1bc9ee75942e847c2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 16 Mar 2026 12:04:39 +0800
Subject: [PATCH] feat(yinhe): 添加智能体详情查看功能

---
 src/main/java/cc/mrbird/febs/yinhe/entity/YHSysAgentStartQuestion.java       |   27 +++++++++++++
 src/main/java/cc/mrbird/febs/yinhe/controller/YHApiAgentController.java      |   10 +++++
 src/main/java/cc/mrbird/febs/yinhe/res/YHSysAgentInitVo.java                 |   26 +++++++++++++
 src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java                  |    2 +
 src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java         |   28 ++++++++++++++
 src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentStartQuestionMapper.java |    7 +++
 src/main/java/cc/mrbird/febs/yinhe/req/YHSysAgentInitDto.java                |   16 ++++++++
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java           |    1 
 8 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 7575ee1..02a9b93 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -71,5 +71,6 @@
 
         registration.excludePathPatterns("/api/yh/agent/categorySysList");
         registration.excludePathPatterns("/api/yh/agent/agentSysList");
+        registration.excludePathPatterns("/api/yh/agent/agentSysInfo");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiAgentController.java b/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiAgentController.java
index 1579475..e6f0de2 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiAgentController.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiAgentController.java
@@ -92,6 +92,16 @@
         return service.agentSysList(dto);
     }
 
+    @ApiOperation(value = "首页-智能体-查看详情", notes = "首页-智能体-查看详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = YHSysAgentInitVo.class)
+    })
+    @PostMapping(value = "/agentSysInfo")
+    public FebsResponse agentSysInfo(@RequestBody @Validated YHSysAgentInitDto dto) {
+
+        return service.agentSysInfo(dto);
+    }
+
     @ApiOperation(value = "退出", notes = "退出")
     @PostMapping(value = "/logout")
     public FebsResponse logout() {
diff --git a/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysAgentStartQuestion.java b/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysAgentStartQuestion.java
new file mode 100644
index 0000000..906e441
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysAgentStartQuestion.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.yinhe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 智能体起始问题表 ai_sys_agent_start_question
+ *
+ * @author ruoyi
+ */
+@Data
+@TableName("sys_agent_start_question")
+public class YHSysAgentStartQuestion extends YhBaseEntity
+{
+    /** 主键 */
+    private String id;
+
+    /** 公司ID */
+    private String companyId;
+
+    /** 智能体ID */
+    private String agentId;
+
+    /** 问题内容 */
+    private String title;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentStartQuestionMapper.java b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentStartQuestionMapper.java
new file mode 100644
index 0000000..9c6ab2c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentStartQuestionMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.yinhe.mapper;
+
+import cc.mrbird.febs.yinhe.entity.YHSysAgentStartQuestion;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface YHSysAgentStartQuestionMapper extends BaseMapper<YHSysAgentStartQuestion> {
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/req/YHSysAgentInitDto.java b/src/main/java/cc/mrbird/febs/yinhe/req/YHSysAgentInitDto.java
new file mode 100644
index 0000000..24b6374
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/req/YHSysAgentInitDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.yinhe.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+@ApiModel(value = "YHSysAgentInitDto", description = "参数")
+public class YHSysAgentInitDto {
+
+    @NotBlank(message = "智能体不能为空")
+    @ApiModelProperty(value = "智能体ID", example = "you_ke_*****")
+    private String id;
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/res/YHSysAgentInitVo.java b/src/main/java/cc/mrbird/febs/yinhe/res/YHSysAgentInitVo.java
new file mode 100644
index 0000000..6d60cbc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/res/YHSysAgentInitVo.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.yinhe.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "YHSysAgentInitVo", description = "详情响应")
+public class YHSysAgentInitVo {
+
+    @ApiModelProperty(value = "智能体ID*", example = "1")
+    private String id;
+    @ApiModelProperty(value = "名称*", example = "1")
+    private String name;
+    @ApiModelProperty(value = "描述*", example = "1")
+    private String description;
+    @ApiModelProperty(value = "小图标*", example = "1")
+    private String iconImg;
+    @ApiModelProperty(value = "开场白*", example = "1")
+    private String introduct;
+
+    @ApiModelProperty(value = "开场白预设问题", example = "1")
+    private List<String> items;
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java b/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java
index 563d98f..b94595f 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java
@@ -23,5 +23,7 @@
 
     FebsResponse agentSysList(YHSysAgentDto dto);
 
+    FebsResponse agentSysInfo(YHSysAgentInitDto dto);
+
     FebsResponse logout();
 }
\ No newline at end of file
diff --git a/src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java b/src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java
index 8b8caec..23e8865 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java
@@ -36,6 +36,7 @@
     private final YHAiAgentStartQuestionMapper yhAiAgentStartQuestionMapper;
 
     private final YhSysAgentCategoryMapper yhSysAgentCategoryMapper;
+    private final YHSysAgentStartQuestionMapper yhSysAgentStartQuestionMapper;
     private final YHSysAgentMapper yhSysAgentMapper;
 
     private final RedisUtils redisUtils;
@@ -204,6 +205,33 @@
     }
 
     @Override
+    public FebsResponse agentSysInfo(YHSysAgentInitDto dto) {
+        YHSysAgentInitVo vo = new YHSysAgentInitVo();
+
+        String id = dto.getId();
+        YHSysAgent entity = yhSysAgentMapper.selectById(id);
+        if (ObjectUtil.isNotEmpty(entity)){
+            vo.setId(entity.getId());
+            vo.setName(entity.getName());
+            vo.setDescription(entity.getDescription());
+            vo.setIconImg(entity.getIconImg());
+            vo.setIntroduct(entity.getIntroduct());
+            List<YHSysAgentStartQuestion> questionList = yhSysAgentStartQuestionMapper.selectList(
+                    Wrappers.lambdaQuery(YHSysAgentStartQuestion.class).eq(YHSysAgentStartQuestion::getAgentId, id)
+            );
+            if (CollUtil.isNotEmpty(questionList)){
+                List<String> questions = new ArrayList<>();
+                for (YHSysAgentStartQuestion question : questionList) {
+                    questions.add(question.getTitle());
+                }
+                vo.setItems(questions);
+            }
+        }
+
+        return new FebsResponse().success().data(vo);
+    }
+
+    @Override
     public FebsResponse logout() {
         String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid();
 

--
Gitblit v1.9.1