From 48bfa5a490da8433419d19a03f710233636a4ed3 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 18 Mar 2026 11:30:59 +0800
Subject: [PATCH] feat(yinhe): 实现系统代理列表分页功能

---
 src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java |   27 ++++++---------------------
 src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentMapper.java      |    7 +++++++
 src/main/resources/mapper/modules/YHSysAgentMapper.xml               |   25 +++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 21 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentMapper.java b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentMapper.java
index 5e7aa9f..c5438de 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentMapper.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHSysAgentMapper.java
@@ -1,7 +1,14 @@
 package cc.mrbird.febs.yinhe.mapper;
 
 import cc.mrbird.febs.yinhe.entity.YHSysAgent;
+import cc.mrbird.febs.yinhe.req.YHSysAgentDto;
+import cc.mrbird.febs.yinhe.res.YHSysAgentVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 
 public interface YHSysAgentMapper extends BaseMapper<YHSysAgent> {
+
+    Page<YHSysAgentVo> getPageListByQuery(Page<YHSysAgentVo> page, @Param("record")YHSysAgentDto dto);
+
 }
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 1c55aef..e383f6c 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
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.yinhe.service.impl;
 
+import cc.mrbird.febs.ai.res.product.ApiProductVo;
 import cc.mrbird.febs.ai.strategy.LlmStrategyFactory;
 import cc.mrbird.febs.ai.strategy.enumerates.LlmStrategyEnum;
 import cc.mrbird.febs.ai.utils.UUID;
@@ -22,6 +23,7 @@
 import com.alibaba.dashscope.common.Role;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -196,27 +198,10 @@
 
     @Override
     public FebsResponse agentSysList(YHSysAgentDto dto) {
-        ArrayList<YHSysAgentVo> vos = new ArrayList<>();
-        LambdaQueryWrapper<YHSysAgent> query = Wrappers.lambdaQuery(YHSysAgent.class);
-        query.eq(YHSysAgent::getState,1);
-        if (ObjectUtil.isNotEmpty(dto.getAgentCategoryId())){
-            query.eq(YHSysAgent::getAgentCategoryId,dto.getAgentCategoryId());
-        }
-        query.orderByDesc(YHSysAgent::getCreateTime);
-
-        List<YHSysAgent> list = yhSysAgentMapper.selectList(query);
-        if (CollUtil.isNotEmpty(list)){
-
-            for (YHSysAgent entity : list) {
-                YHSysAgentVo vo = new YHSysAgentVo();
-                vo.setId(entity.getId());
-                vo.setName(entity.getName());
-                vo.setDescription(entity.getDescription());
-                vo.setIconImg(entity.getIconImg());
-                vos.add(vo);
-            }
-        }
-        return new FebsResponse().success().data(vos);
+        // 创建分页对象,传入当前页和每页大小
+        Page<YHSysAgentVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+        Page<YHSysAgentVo> pageListByQuery = yhSysAgentMapper.getPageListByQuery(page, dto);
+        return new FebsResponse().success().data(pageListByQuery);
     }
 
     @Override
diff --git a/src/main/resources/mapper/modules/YHSysAgentMapper.xml b/src/main/resources/mapper/modules/YHSysAgentMapper.xml
new file mode 100644
index 0000000..29a02d4
--- /dev/null
+++ b/src/main/resources/mapper/modules/YHSysAgentMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cc.mrbird.febs.yinhe.mapper.YHSysAgentMapper">
+
+    <select id="getPageListByQuery" resultType="cc.mrbird.febs.yinhe.res.YHSysAgentVo">
+        select
+        a.id as id,
+        a.name as name,
+        a.icon_img as iconImg,
+        a.description as description
+        from sys_agent a
+        <where>
+            a.state = 1
+            <if test="record != null">
+                <if test="record.agentCategoryId != null and record.agentCategoryId != ''">
+                    and a.agent_category_id = #{record.agentCategoryId}
+                </if>
+            </if>
+        </where>
+        order by a.create_time desc
+    </select>
+
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1