Administrator
3 days ago e8c7a97949f5a582ca5e3e5d787bf64f5fa01767
9智能体、智能体分类权限到单个用户
4 files added
1 files modified
98 ■■■■■ changed files
src/main/java/cc/mrbird/febs/yinhe/entity/YHAiAgentCategoryLink.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/yinhe/entity/YHAiAgentLink.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiAgentCategoryLinkMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiAgentLinkMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java 51 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/yinhe/entity/YHAiAgentCategoryLink.java
New file
@@ -0,0 +1,13 @@
package cc.mrbird.febs.yinhe.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("ai_agent_category_link")
public class YHAiAgentCategoryLink extends YhBaseEntity {
    private String id;
    private String companyId;
    private String agentCategoryId;
    private String memberUuid;
}
src/main/java/cc/mrbird/febs/yinhe/entity/YHAiAgentLink.java
New file
@@ -0,0 +1,20 @@
package cc.mrbird.febs.yinhe.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("ai_agent_link")
public class YHAiAgentLink extends YhBaseEntity {
    /** 主键 */
    private String id;
    /** 公司ID */
    private String companyId;
    private String agentId;
    private String memberUuid;
}
src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiAgentCategoryLinkMapper.java
New file
@@ -0,0 +1,7 @@
package cc.mrbird.febs.yinhe.mapper;
import cc.mrbird.febs.yinhe.entity.YHAiAgentCategoryLink;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface YHAiAgentCategoryLinkMapper extends BaseMapper<YHAiAgentCategoryLink> {
}
src/main/java/cc/mrbird/febs/yinhe/mapper/YHAiAgentLinkMapper.java
New file
@@ -0,0 +1,7 @@
package cc.mrbird.febs.yinhe.mapper;
import cc.mrbird.febs.yinhe.entity.YHAiAgentLink;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface YHAiAgentLinkMapper extends BaseMapper<YHAiAgentLink> {
}
src/main/java/cc/mrbird/febs/yinhe/service/impl/YhAiServiceImpl.java
@@ -48,6 +48,8 @@
    private final YHAiAgentStartQuestionMapper yhAiAgentStartQuestionMapper;
    private final YHAiAgentKnowledgeMapper yhAiAgentKnowledgeMapper;
    private final YHAiKnowledgeMapper yhAiKnowledgeMapper;
    private final YHAiAgentLinkMapper yhAiAgentLinkMapper;
    private final YHAiAgentCategoryLinkMapper yhAiAgentCategoryLinkMapper;
    private final YhSysAgentCategoryMapper yhSysAgentCategoryMapper;
    private final YHSysAgentStartQuestionMapper yhSysAgentStartQuestionMapper;
@@ -94,9 +96,25 @@
        YhAiMember yhAiMember = yhAiMemberMapper.selectOne(Wrappers.lambdaQuery(YhAiMember.class).eq(YhAiMember::getMemberUuid, memberUuid));
        String companyId = yhAiMember.getCompanyId();
        List<YHCategoryVo> yhCategoryVos = new ArrayList<>();
        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);
        }
        List<String> yhAiAgentCategoryLinksIds = new ArrayList<>();
        for (YHAiAgentCategoryLink yhAiAgentCategoryLink : yhAiAgentCategoryLinks) {
            yhAiAgentCategoryLinksIds.add(yhAiAgentCategoryLink.getAgentCategoryId());
        }
        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())){
@@ -110,11 +128,11 @@
                YHCategoryVo yhCategoryVo = new YHCategoryVo();
                yhCategoryVo.setName(yhAiAgentCategory.getName());
                yhCategoryVo.setId(yhAiAgentCategory.getId());
                yhCategoryVos.add(yhCategoryVo);
                vos.add(yhCategoryVo);
            }
        }
        return new FebsResponse().success().data(yhCategoryVos);
        return new FebsResponse().success().data(vos);
    }
    @Override
@@ -124,7 +142,22 @@
        String companyId = yhAiMember.getCompanyId();
        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);
        query.eq(YHAiAgent::getCompanyId,companyId);
        query.eq(YHAiAgent::getState,1);
        if (ObjectUtil.isNotEmpty(dto.getAgentCategoryId())){
@@ -151,9 +184,19 @@
    public FebsResponse agentInfo(YHAgentInitDto dto) {
        String memberUuid = YHLoginUserUtil.getLoginUser().getMemberUuid();
        YHAgentInitVo yhAgentInitVo = new YHAgentInitVo();
        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("无权限");
        }
        YHAiAgent yhAiAgent = yhAiAgentMapper.selectById(id);
        if (ObjectUtil.isNotEmpty(yhAiAgent)){
            yhAgentInitVo.setId(yhAiAgent.getId());