From c477b897db9991f5b0ad2d6d299ef7065466b862 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 16 Sep 2025 12:00:58 +0800 Subject: [PATCH] feat(ai): 新增首页推荐V2 接口并优化相关功能 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java index 2b8dda6..f4027f5 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java @@ -1,11 +1,16 @@ package cc.mrbird.febs.ai.service.impl; +import cc.mrbird.febs.ai.entity.AiCompany; import cc.mrbird.febs.ai.entity.AiMemberRole; +import cc.mrbird.febs.ai.mapper.AiCompanyMapper; import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper; +import cc.mrbird.febs.ai.req.memberRole.ApiMemberRoleDto; +import cc.mrbird.febs.ai.res.company.ApiCompanyVo; import cc.mrbird.febs.ai.res.memberRole.ApiMemberRoleVo; import cc.mrbird.febs.ai.service.AiMemberRoleService; import cc.mrbird.febs.common.entity.FebsResponse; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -29,6 +34,7 @@ public class AiMemberRoleServiceImpl extends ServiceImpl<AiMemberRoleMapper, AiMemberRole> implements AiMemberRoleService { private final AiMemberRoleMapper aiMemberRoleMapper; + private final AiCompanyMapper aiCompanyMapper; @Override public List<AiMemberRole> getListByQuery(LambdaQueryWrapper<AiMemberRole> query) { @@ -55,4 +61,60 @@ } return new FebsResponse().success().data(list); } + + @Override + public FebsResponse memberRoleListV1(ApiMemberRoleDto dto) { + List<ApiMemberRoleVo> list = new ArrayList<>(); + + LambdaQueryWrapper<AiMemberRole> query = Wrappers.lambdaQuery(AiMemberRole.class); + if (StrUtil.isNotEmpty(dto.getCompanyId())){ + query.eq(AiMemberRole::getCompanyId, dto.getCompanyId()); + }else{ + query.isNull(AiMemberRole::getCompanyId); + } + query.eq(AiMemberRole::getState, 1); + List<AiMemberRole> listByQuery = this.getListByQuery(query); + if (CollUtil.isNotEmpty(listByQuery)){ + for (AiMemberRole aiMemberRole : listByQuery){ + ApiMemberRoleVo apiMemberRoleVo = new ApiMemberRoleVo(); + apiMemberRoleVo.setId(aiMemberRole.getId()); + apiMemberRoleVo.setName(aiMemberRole.getName()); + apiMemberRoleVo.setIconImg(aiMemberRole.getIconImg()); + list.add(apiMemberRoleVo); + } + } + return new FebsResponse().success().data(list); + } + + @Override + public String getDefaultMemberRoleId() { + LambdaQueryWrapper<AiMemberRole> queryWrapper = Wrappers.lambdaQuery(AiMemberRole.class); + queryWrapper.eq(AiMemberRole::getState, 1); + queryWrapper.isNull(AiMemberRole::getCompanyId); + queryWrapper.orderByAsc(AiMemberRole::getCreatedTime); + queryWrapper.last("limit 1"); + List<AiMemberRole> listByQuery = this.getListByQuery(queryWrapper); + if (CollUtil.isNotEmpty(listByQuery)){ + for (AiMemberRole aiMemberRole : listByQuery){ + return aiMemberRole.getId(); + } + } + return null; + } + + @Override + public FebsResponse companyList() { + List<ApiCompanyVo> list = new ArrayList<>(); + + List<AiCompany> aiCompanies = aiCompanyMapper.selectList(null); + if (CollUtil.isNotEmpty(aiCompanies)){ + for (AiCompany aiCompany : aiCompanies){ + ApiCompanyVo apiCompanyVo = new ApiCompanyVo(); + apiCompanyVo.setId(aiCompany.getId()); + apiCompanyVo.setName(aiCompany.getName()); + list.add(apiCompanyVo); + } + } + return new FebsResponse().success().data(list); + } } -- Gitblit v1.9.1