From 4fc4e894889df418824f95c7bafb934c37b06365 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 04 Aug 2025 10:58:03 +0800
Subject: [PATCH] feat(ai): 添加角色列表接口并调整数据库连接

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberRoleServiceImpl.java          |   29 ++++++++++++++
 src/main/resources/application-test.yml                                            |    4 +-
 src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java |   36 ++++++++++++++++++
 src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java                 |    1 
 src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java                |   29 ++++++++++++++
 src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java                   |    5 ++
 src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java                       |    2 
 7 files changed, 103 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
new file mode 100644
index 0000000..888ae6d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberRole/ApiMemberRoleController.java
@@ -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();
+    }
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java b/src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java
new file mode 100644
index 0000000..c62b423
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/memberRole/ApiMemberRoleVo.java
@@ -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;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
index 9097bb1..db6d335 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberRoleService.java
+++ b/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();
 }
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 6d3ff98..2b8dda6 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
@@ -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);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 9d1aaab..863af31 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/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/**");
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java b/src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java
index bb438ba..75b2452 100644
--- a/src/main/java/cc/mrbird/febs/common/entity/AiBaseEntity.java
+++ b/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;
 }
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 96eb464..0d6fbb2 100644
--- a/src/main/resources/application-test.yml
+++ b/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
\ No newline at end of file
+  job: false
\ No newline at end of file

--
Gitblit v1.9.1