From 90ba2873de753917a21874e0ce21dd1578c2be5a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 18 Mar 2026 15:20:23 +0800
Subject: [PATCH] feat(yinhe): 添加轮播图和logo功能模块

---
 src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiBannerMapper.java          |    7 ++
 src/main/java/cc/mrbird/febs/yinhe/entity/YHAiLogo.java                  |   17 +++++
 src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiLogoMapper.java            |    7 ++
 src/main/java/cc/mrbird/febs/yinhe/entity/YHAiBanner.java                |   17 +++++
 src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java              |    4 +
 src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java     |   43 ++++++++++++++
 src/main/java/cc/mrbird/febs/yinhe/controller/YHApiBannerController.java |   50 ++++++++++++++++
 src/main/java/cc/mrbird/febs/yinhe/res/YHBannerVo.java                   |   17 +++++
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java       |    3 +
 src/main/java/cc/mrbird/febs/yinhe/res/YHLogoVo.java                     |   14 ++++
 10 files changed, 178 insertions(+), 1 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 9c34fd1..b620626 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -73,5 +73,8 @@
         registration.excludePathPatterns("/api/yh/agent/categorySysList");
         registration.excludePathPatterns("/api/yh/agent/agentSysList");
         registration.excludePathPatterns("/api/yh/agent/agentSysInfo");
+
+        registration.excludePathPatterns("/api/yh/banner/bannerList");
+        registration.excludePathPatterns("/api/yh/banner/logoInfo");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiBannerController.java b/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiBannerController.java
new file mode 100644
index 0000000..57b9e29
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/controller/YHApiBannerController.java
@@ -0,0 +1,50 @@
+package cc.mrbird.febs.yinhe.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.yinhe.req.*;
+import cc.mrbird.febs.yinhe.res.*;
+import cc.mrbird.febs.yinhe.service.YhAiService;
+import cn.hutool.core.util.StrUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import reactor.core.publisher.Flux;
+
+/**
+ * @author Administrator
+ */
+@Slf4j
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/api/yh/banner")
+@Api(value = "YHApiBannerController", tags = "AI-银和-轮播图相关接口")
+public class YHApiBannerController {
+
+    private final YhAiService service;
+
+    @ApiOperation(value = "未登录-轮播图列表", notes = "未登录-轮播图列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = YHBannerVo.class)
+    })
+    @GetMapping(value = "/bannerList")
+    public FebsResponse bannerList() {
+
+        return service.bannerList();
+    }
+
+    @ApiOperation(value = "未登录-logo", notes = "未登录-logo")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = YHLogoVo.class)
+    })
+    @GetMapping(value = "/logoInfo")
+    public FebsResponse logoInfo() {
+
+        return service.logoInfo();
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiBanner.java b/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiBanner.java
new file mode 100644
index 0000000..c66804e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiBanner.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.yinhe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ai_banner")
+public class YHAiBanner extends YhBaseEntity {
+
+    private String id;
+    private String name;
+    private String imageUrl;
+    private Integer sort;
+    //状态 0-禁用 1-启用
+    private Integer state;
+    private String companyId;
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiLogo.java b/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiLogo.java
new file mode 100644
index 0000000..b997772
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/entity/YHAiLogo.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.yinhe.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ai_logo")
+public class YHAiLogo extends YhBaseEntity {
+
+    private String id;
+    private String companyId;
+    private String name;
+    private String imageUrl;
+
+    //状态 0-禁用 1-启用
+    private Integer state;
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiBannerMapper.java b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiBannerMapper.java
new file mode 100644
index 0000000..9122901
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiBannerMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.yinhe.mapper;
+
+import cc.mrbird.febs.yinhe.entity.YHAiBanner;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface YHAiBannerMapper extends BaseMapper<YHAiBanner> {
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiLogoMapper.java b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiLogoMapper.java
new file mode 100644
index 0000000..cd44a77
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiLogoMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.yinhe.mapper;
+
+import cc.mrbird.febs.yinhe.entity.YHAiLogo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface YHAiLogoMapper extends BaseMapper<YHAiLogo> {
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/res/YHBannerVo.java b/src/main/java/cc/mrbird/febs/yinhe/res/YHBannerVo.java
new file mode 100644
index 0000000..60eba11
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/res/YHBannerVo.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.yinhe.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "YHBannerVo", description = "参数")
+public class YHBannerVo {
+
+    @ApiModelProperty(value = "名称*", example = "1")
+    private String name;
+    @ApiModelProperty(value = "图片链接*", example = "1")
+    private String imageUrl;
+    @ApiModelProperty(value = "排序*", example = "1")
+    private Integer sort;
+}
diff --git a/src/main/java/cc/mrbird/febs/yinhe/res/YHLogoVo.java b/src/main/java/cc/mrbird/febs/yinhe/res/YHLogoVo.java
new file mode 100644
index 0000000..5721eb1
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/yinhe/res/YHLogoVo.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.yinhe.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "YHLogoVo", description = "参数")
+public class YHLogoVo {
+    @ApiModelProperty(value = "名称*", example = "1")
+    private String name;
+    @ApiModelProperty(value = "图片链接*", example = "1")
+    private String imageUrl;
+}
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 5575db9..5b500a3 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/service/YhAiService.java
@@ -35,4 +35,8 @@
     FebsResponse saveContext(YHSaveContextDto dto);
 
     Flux<FebsResponse> aiAnswer(YHAitalkItemStreamDto dto);
+
+    FebsResponse bannerList();
+
+    FebsResponse logoInfo();
 }
\ 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 b3eeca9..e28d81c 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
@@ -40,6 +40,8 @@
 
     private final YhAiMemberMapper yhAiMemberMapper;
     private final YHAiCompanyMapper yhAiCompanyMapper;
+    private final YHAiBannerMapper yhAiBannerMapper;
+    private final YHAiLogoMapper yhAiLogoMapper;
 
     private final YHAiAgentCategoryMapper yhAiAgentCategoryMapper;
     private final YHAiAgentMapper yhAiAgentMapper;
@@ -143,7 +145,7 @@
     @Override
     public FebsResponse agentInfo(YHAgentInitDto dto) {
 
-        String companyId = YHLoginUserUtil.getLoginUser().getCompanyId();
+        String memberUuid = YHLoginUserUtil.getLoginUser().getMemberUuid();
         YHAgentInitVo yhAgentInitVo = new YHAgentInitVo();
 
         String id = dto.getId();
@@ -419,4 +421,43 @@
         }
         return messages;
     }
+
+    @Override
+    public FebsResponse bannerList() {
+        List<YHBannerVo> vos = new ArrayList<>();
+        List<YHAiBanner> list = yhAiBannerMapper.selectList(
+                Wrappers.lambdaQuery(YHAiBanner.class)
+                        .eq(YHAiBanner::getState, 1)
+                        .isNull(YHAiBanner::getCompanyId)
+                        .orderByDesc(YHAiBanner::getSort)
+        );
+        if (CollUtil.isNotEmpty(list)){
+            for (YHAiBanner aiBanner : list){
+                YHBannerVo vo = new YHBannerVo();
+                vo.setName(aiBanner.getName());
+                vo.setImageUrl(aiBanner.getImageUrl());
+                vo.setSort(aiBanner.getSort());
+                vos.add(vo);
+            }
+        }
+        return new FebsResponse().data(vos);
+    }
+
+    @Override
+    public FebsResponse logoInfo() {
+        YHLogoVo yhLogoVo = new YHLogoVo();
+
+        List<YHAiLogo> yhAiLogos = yhAiLogoMapper.selectList(
+                Wrappers.lambdaQuery(YHAiLogo.class)
+                        .eq(YHAiLogo::getState, 1)
+                        .isNull(YHAiLogo::getCompanyId)
+        );
+        if (CollUtil.isNotEmpty(yhAiLogos)){
+            YHAiLogo yhAiLogo = yhAiLogos.get(0);
+            yhLogoVo.setName(yhAiLogo.getName());
+            yhLogoVo.setImageUrl(yhAiLogo.getImageUrl());
+        }
+
+        return new FebsResponse().data(yhLogoVo);
+    }
 }

--
Gitblit v1.9.1