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"); } } src/main/java/cc/mrbird/febs/yinhe/controller/YHApiBannerController.java
New file @@ -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(); } } src/main/java/cc/mrbird/febs/yinhe/entity/YHAiBanner.java
New file @@ -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; } src/main/java/cc/mrbird/febs/yinhe/entity/YHAiLogo.java
New file @@ -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; } src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiBannerMapper.java
New file @@ -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> { } src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiLogoMapper.java
New file @@ -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> { } src/main/java/cc/mrbird/febs/yinhe/res/YHBannerVo.java
New file @@ -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; } src/main/java/cc/mrbird/febs/yinhe/res/YHLogoVo.java
New file @@ -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; } 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(); } 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); } }