From 413a57e2524cb0b839d5d83d961de3b59814eb6e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 24 Oct 2025 16:53:11 +0800
Subject: [PATCH] feat(ai): 实现产品依赖解锁功能 - 在AiMemberAnswerServiceImpl中注入AiProductDependencyService和AiMemberProductUnlockService - 修改insure方法,根据答题分数解锁符合条件的产品 - 新增selectListByProductIds和insertList方法到AiMemberProductUnlockService - 实现产品依赖关系查询方法selectListByProductId到AiProductDependencyService- 在AiProductServiceImpl中增加产品状态判断逻辑,支持锁定和解锁状态显示 - 添加memberId字段到ApiProductPageDto用于查询用户已解锁产品 - 在ApiProductVo中新增state字段表示产品锁定/解锁状态

---
 src/main/java/cc/mrbird/febs/ai/controller/member/ApiMemberController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/controller/member/ApiMemberController.java b/src/main/java/cc/mrbird/febs/ai/controller/member/ApiMemberController.java
index 4c90cad..61a9470 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/member/ApiMemberController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/member/ApiMemberController.java
@@ -1,9 +1,7 @@
 package cc.mrbird.febs.ai.controller.member;
 
-import cc.mrbird.febs.ai.req.member.ApiMemberPageDto;
-import cc.mrbird.febs.ai.req.memberPoint.ApiMemberPointDto;
-import cc.mrbird.febs.ai.res.member.ApiMemberPageVo;
-import cc.mrbird.febs.ai.res.memberAnswer.ApiMemberAnswerVoV2;
+import cc.mrbird.febs.ai.req.member.*;
+import cc.mrbird.febs.ai.res.member.*;
 import cc.mrbird.febs.ai.service.AiMemberService;
 import cc.mrbird.febs.common.entity.FebsResponse;
 import io.swagger.annotations.Api;
@@ -33,11 +31,61 @@
 
     @ApiOperation(value = "我的团队", notes = "我的团队")
     @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = ApiMemberPageVo.class)
+            @ApiResponse(code = 200, message = "success", response = ApiMemberTeamPageVo.class)
     })
     @PostMapping(value = "/myTeam")
-    public FebsResponse myTeam(@RequestBody @Validated ApiMemberPageDto dto) {
+    public FebsResponse myTeam(@RequestBody @Validated ApiMemberTeamPageDto dto) {
 
         return aiMemberService.myTeam(dto);
     }
+
+    @ApiOperation(value = "练习次数", notes = "练习次数")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberTeamPracticeVo.class)
+    })
+    @PostMapping(value = "/practice")
+    public FebsResponse practice(@RequestBody @Validated ApiMemberTeamPracticeDto dto) {
+
+        return aiMemberService.practice(dto);
+    }
+
+    @ApiOperation(value = "Ai陪练分页查询", notes = "Ai陪练分页查询")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberTalkPageVo.class)
+    })
+    @PostMapping(value = "/talkPage")
+    public FebsResponse talkPage(@RequestBody @Validated ApiMemberTalkPageDto dto) {
+
+        return aiMemberService.talkPage(dto);
+    }
+
+    @ApiOperation(value = "题目练习分页查询", notes = "题目练习分页查询")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerPageVo.class)
+    })
+    @PostMapping(value = "/answerPage")
+    public FebsResponse answerPage(@RequestBody @Validated ApiMemberAnswerPageDto dto) {
+
+        return aiMemberService.answerPage(dto);
+    }
+
+    @ApiOperation(value = "题目练习详情查询", notes = "题目练习详情查询")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerInfoVo.class)
+    })
+    @PostMapping(value = "/answerInfo")
+    public FebsResponse answerInfo(@RequestBody @Validated ApiMemberAnswerInfoDto dto) {
+
+        return aiMemberService.answerInfo(dto);
+    }
+
+    @ApiOperation(value = "学习时长", notes = "学习时长")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMemberTeamStudyVo.class)
+    })
+    @PostMapping(value = "/study")
+    public FebsResponse study(@RequestBody @Validated ApiMemberTeamStudyDto dto) {
+
+        return aiMemberService.study(dto);
+    }
 }

--
Gitblit v1.9.1