From 2fb72d56082e2ee19aa187707751dd0dacd34f4b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 16 Sep 2025 11:29:00 +0800 Subject: [PATCH] feat(ai): 增加公司列表接口并优化相关服务 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java | 149 +++++++++++++++++++++++-------------------------- 1 files changed, 70 insertions(+), 79 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 c0e8f0a..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,15 +1,25 @@ 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; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; /** @@ -24,106 +34,87 @@ public class AiMemberRoleServiceImpl extends ServiceImpl<AiMemberRoleMapper, AiMemberRole> implements AiMemberRoleService { private final AiMemberRoleMapper aiMemberRoleMapper; + private final AiCompanyMapper aiCompanyMapper; @Override - public AiMemberRole getById(String id) { - return this.getById(id); + public List<AiMemberRole> getListByQuery(LambdaQueryWrapper<AiMemberRole> query) { + return aiMemberRoleMapper.selectList( query); } - @Override - public List<AiMemberRole> getByCompanyId(String companyId) { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getCompanyId, companyId); - queryWrapper.orderByDesc(AiMemberRole::getCreatedTime); - return this.list(queryWrapper); - } @Override - public AiMemberRole getByCode(String code) { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getCode, code); - return this.getOne(queryWrapper); - } + public FebsResponse memberRoleList() { - @Override - public List<AiMemberRole> getByName(String name) { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getName, name); - queryWrapper.orderByDesc(AiMemberRole::getCreatedTime); - return this.list(queryWrapper); - } + List<ApiMemberRoleVo> list = new ArrayList<>(); - @Override - public List<AiMemberRole> getByState(Integer state) { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getState, state); - queryWrapper.orderByDesc(AiMemberRole::getCreatedTime); - return this.list(queryWrapper); - } - - @Override - public List<AiMemberRole> getByCompanyIdAndState(String companyId, Integer state) { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getCompanyId, companyId); - queryWrapper.eq(AiMemberRole::getState, state); - queryWrapper.orderByDesc(AiMemberRole::getCreatedTime); - return this.list(queryWrapper); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public boolean saveRole(AiMemberRole aiMemberRole) { - try { - return this.save(aiMemberRole); - } catch (Exception e) { - log.error("保存角色失败: ", e); - return false; + LambdaQueryWrapper<AiMemberRole> query = Wrappers.lambdaQuery(AiMemberRole.class); + 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 - @Transactional(rollbackFor = Exception.class) - public boolean saveBatchRoles(List<AiMemberRole> roles) { - try { - return this.saveBatch(roles); - } catch (Exception e) { - log.error("批量保存角色失败: ", e); - return false; + 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 - @Transactional(rollbackFor = Exception.class) - public boolean updateRole(AiMemberRole aiMemberRole) { - try { - return this.updateById(aiMemberRole); - } catch (Exception e) { - log.error("更新角色失败: ", e); - return false; + 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 - @Transactional(rollbackFor = Exception.class) - public boolean deleteById(String id) { - try { - return this.removeById(id); - } catch (Exception e) { - log.error("删除角色失败: ", e); - return false; - } - } + public FebsResponse companyList() { + List<ApiCompanyVo> list = new ArrayList<>(); - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteByCompanyId(String companyId) { - try { - LambdaQueryWrapper<AiMemberRole> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AiMemberRole::getCompanyId, companyId); - return this.remove(queryWrapper); - } catch (Exception e) { - log.error("根据公司ID删除角色失败: ", e); - return false; + 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