From 248f8116f4ef74f63429c54915498eba6634bb61 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 24 Mar 2026 10:46:13 +0800
Subject: [PATCH] fix(yinhe): 修复公司级别限制logo的比较逻辑

---
 src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

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 002c8b6..1ded724 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
@@ -86,6 +86,13 @@
             yhMemberVo.setCompanyId(yhAiCompany.getId());
             yhMemberVo.setCompanyName(yhAiCompany.getName());
             yhMemberVo.setPhone(yhAiMember.getPhone());
+
+            String levelCode = yhAiCompany.getLevelCode();
+            YHSysCompanyLevel yhSysCompanyLevel = yhSysCompanyLevelMapper.selectOne(
+                    Wrappers.lambdaQuery(YHSysCompanyLevel.class)
+                            .eq(YHSysCompanyLevel::getCode, levelCode)
+            );
+            yhMemberVo.setLimitLogo(yhSysCompanyLevel.getLimitLogo());
         }
         return new FebsResponse().success().data(yhMemberVo);
     }
@@ -114,6 +121,8 @@
         LambdaQueryWrapper<YHAiAgentCategory> query = Wrappers.lambdaQuery(YHAiAgentCategory.class);
 
         List<String> yhAiAgentCategoryLinksIds = new ArrayList<>();
+
+        log.info("开始查询智能体分类{}",defaultCompany);
         if (!defaultCompany){
             List<YHAiAgentCategoryLink> yhAiAgentCategoryLinks = yhAiAgentCategoryLinkMapper.selectList(
                     Wrappers.lambdaQuery(YHAiAgentCategoryLink.class)
@@ -540,7 +549,38 @@
         YhAiMember yhAiMember = yhAiMemberMapper.selectOne(Wrappers.lambdaQuery(YhAiMember.class).eq(YhAiMember::getMemberUuid, memberUuid));
         String companyId = yhAiMember.getCompanyId();
 
+
+
         List<YHBannerVo> vos = new ArrayList<>();
+
+        YHAiCompany yhAiCompany = yhAiCompanyMapper.selectById(companyId);
+        String levelCode = yhAiCompany.getLevelCode();
+        if (StrUtil.isNotEmpty(levelCode)){
+            YHSysCompanyLevel sysCompanyLevel = yhSysCompanyLevelMapper.selectOne(
+                    Wrappers.lambdaQuery(YHSysCompanyLevel.class)
+                            .eq(YHSysCompanyLevel::getCode, levelCode)
+            );
+
+            Integer limitLogo = sysCompanyLevel.getLimitLogo();
+            if (1 == limitLogo){
+                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().success().data(vos);
+            }
+        }
         List<YHAiBanner> list = yhAiBannerMapper.selectList(
                 Wrappers.lambdaQuery(YHAiBanner.class)
                         .eq(YHAiBanner::getState, 1)
@@ -567,6 +607,32 @@
 
         YHLogoVo yhLogoVo = new YHLogoVo();
 
+        YHAiCompany yhAiCompany = yhAiCompanyMapper.selectById(companyId);
+        String levelCode = yhAiCompany.getLevelCode();
+        if (StrUtil.isNotEmpty(levelCode)){
+            YHSysCompanyLevel sysCompanyLevel = yhSysCompanyLevelMapper.selectOne(
+                    Wrappers.lambdaQuery(YHSysCompanyLevel.class)
+                            .eq(YHSysCompanyLevel::getCode, levelCode)
+            );
+
+            Integer limitLogo = sysCompanyLevel.getLimitLogo();
+            if (1 == limitLogo){
+                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());
+                    yhLogoVo.setDesription(yhAiLogo.getDesription());
+                }
+
+                return new FebsResponse().success().data(yhLogoVo);
+            }
+        }
+
         List<YHAiLogo> yhAiLogos = yhAiLogoMapper.selectList(
                 Wrappers.lambdaQuery(YHAiLogo.class)
                         .eq(YHAiLogo::getState, 1)

--
Gitblit v1.9.1