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