package cc.mrbird.febs.ai.service.impl;
|
|
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;
|
|
/**
|
* AI用户选择角色表 Service实现类
|
*
|
* @author yourname
|
* @date 2025-07-29
|
*/
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class AiMemberRoleServiceImpl extends ServiceImpl<AiMemberRoleMapper, AiMemberRole> implements AiMemberRoleService {
|
|
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;
|
}
|
}
|