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