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 | 158 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 124 insertions(+), 34 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 ec880ab..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,8 +86,27 @@
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);
+ }
+
+ private boolean isDefaultCompany(String companyId){
+ String companyCode = yhAiCompanyMapper.selectDictLabel("xcx_register_default","default");
+ YHAiCompany yhAiCompany = yhAiCompanyMapper.selectOne(
+ Wrappers.lambdaQuery(YHAiCompany.class)
+ .eq(YHAiCompany::getId, companyId)
+ );
+ if (ObjectUtil.isEmpty(yhAiCompany)){
+ return false;
+ }
+ return companyCode.equals(yhAiCompany.getCode());
}
@Override
@@ -96,25 +115,29 @@
YhAiMember yhAiMember = yhAiMemberMapper.selectOne(Wrappers.lambdaQuery(YhAiMember.class).eq(YhAiMember::getMemberUuid, memberUuid));
String companyId = yhAiMember.getCompanyId();
+ boolean defaultCompany = isDefaultCompany(companyId);
List<YHCategoryVo> vos = new ArrayList<>();
-
- List<YHAiAgentCategoryLink> yhAiAgentCategoryLinks = yhAiAgentCategoryLinkMapper.selectList(
- Wrappers.lambdaQuery(YHAiAgentCategoryLink.class)
- .eq(YHAiAgentCategoryLink::getCompanyId, companyId)
- .eq(YHAiAgentCategoryLink::getMemberUuid, memberUuid)
- );
- if (CollUtil.isEmpty(yhAiAgentCategoryLinks)){
- return new FebsResponse().success().data(vos);
- }
+ LambdaQueryWrapper<YHAiAgentCategory> query = Wrappers.lambdaQuery(YHAiAgentCategory.class);
List<String> yhAiAgentCategoryLinksIds = new ArrayList<>();
- for (YHAiAgentCategoryLink yhAiAgentCategoryLink : yhAiAgentCategoryLinks) {
- yhAiAgentCategoryLinksIds.add(yhAiAgentCategoryLink.getAgentCategoryId());
+
+ log.info("开始查询智能体分类{}",defaultCompany);
+ if (!defaultCompany){
+ List<YHAiAgentCategoryLink> yhAiAgentCategoryLinks = yhAiAgentCategoryLinkMapper.selectList(
+ Wrappers.lambdaQuery(YHAiAgentCategoryLink.class)
+ .eq(YHAiAgentCategoryLink::getCompanyId, companyId)
+ .eq(YHAiAgentCategoryLink::getMemberUuid, memberUuid)
+ );
+ if (CollUtil.isEmpty(yhAiAgentCategoryLinks)){
+ return new FebsResponse().success().data(vos);
+ }
+ for (YHAiAgentCategoryLink yhAiAgentCategoryLink : yhAiAgentCategoryLinks) {
+ yhAiAgentCategoryLinksIds.add(yhAiAgentCategoryLink.getAgentCategoryId());
+ }
+ query.in(YHAiAgentCategory::getId,yhAiAgentCategoryLinksIds);
}
- LambdaQueryWrapper<YHAiAgentCategory> query = Wrappers.lambdaQuery(YHAiAgentCategory.class);
- query.in(YHAiAgentCategory::getId,yhAiAgentCategoryLinksIds);
query.eq(YHAiAgentCategory::getCompanyId,companyId);
query.eq(YHAiAgentCategory::getState,1);
if (ObjectUtil.isNotEmpty(dto.getHotState())){
@@ -143,21 +166,25 @@
ArrayList<YHAgentVo> yhAgentVos = new ArrayList<>();
- List<YHAiAgentLink> yhAiAgentLinks = yhAiAgentLinkMapper.selectList(
- Wrappers.lambdaQuery(YHAiAgentLink.class)
- .eq(YHAiAgentLink::getCompanyId, companyId)
- .eq(YHAiAgentLink::getMemberUuid, memberUuid)
- );
- if (CollUtil.isEmpty(yhAiAgentLinks)){
- return new FebsResponse().success().data(yhAgentVos);
- }
- List<String> yhAiAgentLinksIds = new ArrayList<>();
- for (YHAiAgentLink yhAiAgentLink : yhAiAgentLinks) {
- yhAiAgentLinksIds.add(yhAiAgentLink.getAgentId());
- }
-
LambdaQueryWrapper<YHAiAgent> query = Wrappers.lambdaQuery(YHAiAgent.class);
- query.in(YHAiAgent::getId,yhAiAgentLinksIds);
+
+ boolean defaultCompany = isDefaultCompany(companyId);
+ if (!defaultCompany){
+
+ List<YHAiAgentLink> yhAiAgentLinks = yhAiAgentLinkMapper.selectList(
+ Wrappers.lambdaQuery(YHAiAgentLink.class)
+ .eq(YHAiAgentLink::getCompanyId, companyId)
+ .eq(YHAiAgentLink::getMemberUuid, memberUuid)
+ );
+ if (CollUtil.isEmpty(yhAiAgentLinks)){
+ return new FebsResponse().success().data(yhAgentVos);
+ }
+ List<String> yhAiAgentLinksIds = new ArrayList<>();
+ for (YHAiAgentLink yhAiAgentLink : yhAiAgentLinks) {
+ yhAiAgentLinksIds.add(yhAiAgentLink.getAgentId());
+ }
+ query.in(YHAiAgent::getId,yhAiAgentLinksIds);
+ }
query.eq(YHAiAgent::getCompanyId,companyId);
query.eq(YHAiAgent::getState,1);
if (ObjectUtil.isNotEmpty(dto.getAgentCategoryId())){
@@ -184,19 +211,25 @@
public FebsResponse agentInfo(YHAgentInitDto dto) {
String memberUuid = YHLoginUserUtil.getLoginUser().getMemberUuid();
+ String companyId = YHLoginUserUtil.getLoginUser().getCompanyId();
String id = dto.getId();
YHAgentInitVo yhAgentInitVo = new YHAgentInitVo();
- List<YHAiAgentLink> yhAiAgentLinks = yhAiAgentLinkMapper.selectList(
- Wrappers.lambdaQuery(YHAiAgentLink.class)
- .eq(YHAiAgentLink::getAgentId, id)
- .eq(YHAiAgentLink::getMemberUuid, memberUuid)
- );
- if (CollUtil.isEmpty(yhAiAgentLinks)){
- throw new FebsException("无权限");
+
+ boolean defaultCompany = isDefaultCompany(companyId);
+ if (!defaultCompany){
+ List<YHAiAgentLink> yhAiAgentLinks = yhAiAgentLinkMapper.selectList(
+ Wrappers.lambdaQuery(YHAiAgentLink.class)
+ .eq(YHAiAgentLink::getAgentId, id)
+ .eq(YHAiAgentLink::getMemberUuid, memberUuid)
+ );
+ if (CollUtil.isEmpty(yhAiAgentLinks)){
+ throw new FebsException("无权限");
+ }
}
+
YHAiAgent yhAiAgent = yhAiAgentMapper.selectById(id);
if (ObjectUtil.isNotEmpty(yhAiAgent)){
yhAgentInitVo.setId(yhAiAgent.getId());
@@ -516,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)
@@ -543,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