Administrator
2025-08-04 4fc4e894889df418824f95c7bafb934c37b06365
feat(ai): 添加角色列表接口并调整数据库连接

- 在 AiMemberRoleService 中添加 getListByQuery 和 memberRoleList 方法
- 实现 AiMemberRoleServiceImpl 中的角色列表查询功能
- 新增 ApiMemberRoleController 提供角色列表接口
- 创建 ApiMemberRoleVo 作为角色列表的响应模型
- 修改数据库连接 URL 以连接到 ai_one 数据库
- 关闭定时任务
- 在 WebMvcConfigure 中排除 AI 相关路径的跨域处理
5 files modified
2 files added
106 ■■■■■ changed files
src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java 2 ●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
New file
@@ -0,0 +1,36 @@
package cc.mrbird.febs.ai.controller.memberRole;
import cc.mrbird.febs.ai.res.memberRole.ApiMemberRoleVo;
import cc.mrbird.febs.ai.service.AiMemberRoleService;
import cc.mrbird.febs.common.entity.FebsResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
 * @author Administrator
 */
@Slf4j
@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/api/ai/memberRole")
@Api(value = "ApiMemberRoleController", tags = "AI-角色")
public class ApiMemberRoleController {
    private final AiMemberRoleService aiMemberRoleService;
    @ApiOperation(value = "角色列表", notes = "角色列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberRoleVo.class)
    })
    @GetMapping(value = "/memberRoleList")
    public FebsResponse memberRoleList() {
        return aiMemberRoleService.memberRoleList();
    }
}
src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java
New file
@@ -0,0 +1,29 @@
package cc.mrbird.febs.ai.res.memberRole;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author Administrator
 */
@Data
@ApiModel(value = "ApiMemberRoleVo", description = "参数")
public class ApiMemberRoleVo {
    @ApiModelProperty(value = "ID")
    private String id;
    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    private String name;
    /**
     * 小图标
     */
    @ApiModelProperty(value = "小图标")
    private String iconImg;
}
src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
@@ -1,6 +1,8 @@
package cc.mrbird.febs.ai.service;
import cc.mrbird.febs.ai.entity.AiMemberRole;
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -13,4 +15,7 @@
public interface AiMemberRoleService extends IService<AiMemberRole> {
    List<AiMemberRole> getListByQuery(LambdaQueryWrapper<AiMemberRole> query);
    FebsResponse memberRoleList();
}
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,29 @@
    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);
    }
}
src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -47,5 +47,6 @@
        registration.excludePathPatterns("/api/clothes/social/allComment");
        registration.excludePathPatterns("/api/clothes/social/socialInfo");
        registration.excludePathPatterns("/api/clothes/clothesType");
        registration.excludePathPatterns("/api/ai/**");
    }
}
src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java
@@ -31,5 +31,5 @@
     * 主键 (UUID)
     */
    @TableId(value = "id",type = IdType.ASSIGN_UUID)
    private Long id;
    private String id;
}
src/main/resources/application-test.yml
@@ -18,7 +18,7 @@
          username: ct_test
          password: 123456
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://120.27.238.55:3406/clothes_test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
          url: jdbc:mysql://120.27.238.55:3406/ai_one?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
  redis:
    # Redis数据库索引(默认为 0)
@@ -89,4 +89,4 @@
    path: /mnt/sdc/webresource/file/
system:
  job: true
  job: false