Administrator
2025-08-27 83b6ee65a7d3c1f37d8ec896902b5189132d59c7
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java
@@ -2,14 +2,19 @@
import cc.mrbird.febs.ai.entity.AiMemberRole;
import cc.mrbird.febs.ai.mapper.AiMemberRoleMapper;
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 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;
/**
@@ -25,5 +30,44 @@
    private final AiMemberRoleMapper aiMemberRoleMapper;
    @Override
    public List<AiMemberRole> getListByQuery(LambdaQueryWrapper<AiMemberRole> query) {
        return aiMemberRoleMapper.selectList( query);
    }
    @Override
    public FebsResponse memberRoleList() {
        List<ApiMemberRoleVo> list = new ArrayList<>();
        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
    public String getDefaultMemberRoleId() {
        LambdaQueryWrapper<AiMemberRole> queryWrapper = Wrappers.lambdaQuery(AiMemberRole.class);
        queryWrapper.eq(AiMemberRole::getState, 1);
        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;
    }
}