From 52be44e34ef35e4adda162e6f65e96384ff4e351 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 24 Mar 2026 10:34:37 +0800
Subject: [PATCH] feat(yinhe): 根据公司等级控制banner和logo显示权限

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

diff --git a/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysCompanyLevel.java b/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysCompanyLevel.java
index 542de11..4bbde88 100644
--- a/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysCompanyLevel.java
+++ b/src/main/java/cc/mrbird/febs/yinhe/entity/YHSysCompanyLevel.java
@@ -12,5 +12,6 @@
     private Integer agentNum;
     private Integer token;
     private Integer memberNum;
+    //是否允许换LOGO,banner 0-允许 1-不允许
     private Integer limitLogo;
 }
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 0d31c71..98aa490 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
@@ -549,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".equals(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)
@@ -576,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".equals(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