Administrator
2025-08-20 de8b3cf7a9b22be7abcb544a53dcea7f1b340760
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package cc.mrbird.febs.ai.controller.memberAnswer;
 
import cc.mrbird.febs.ai.req.memberAnswer.*;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
import cc.mrbird.febs.ai.req.product.ApiProductInfoDto;
import cc.mrbird.febs.ai.res.memberAnswer.*;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
import cc.mrbird.febs.ai.res.product.ApiProductInfoVo;
import cc.mrbird.febs.ai.service.AiMemberAnswerService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
/**
 * @author Administrator
 */
@Slf4j
@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/api/ai/memberAnswer")
@Api(value = "ApiMemberAnswerController", tags = "AI-用户答题")
public class ApiMemberAnswerController {
 
    private final AiMemberAnswerService apiMemberAnswerService;
 
    @ApiOperation(value = "开始答题V2", notes = "开始答题V2")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerVoV2.class)
    })
    @PostMapping(value = "/startV2")
    public FebsResponse startV2(@RequestBody @Validated ApiMemberAnswerDto dto) {
 
        return apiMemberAnswerService.startAnswerV2(dto);
    }
 
    @ApiOperation(value = "开始答题", notes = "开始答题")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerVo.class)
    })
    @PostMapping(value = "/start")
    public FebsResponse start(@RequestBody @Validated ApiMemberAnswerDto dto) {
 
        return apiMemberAnswerService.startAnswer(dto);
    }
 
    @ApiOperation(value = "答题", notes = "答题")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiQuestionItemInfoVo.class)
    })
    @PostMapping(value = "/answer")
    public FebsResponse answer(@RequestBody @Validated ApiQuestionAnswerDto dto) {
 
        return apiMemberAnswerService.answer(dto);
    }
 
    @ApiOperation(value = "提交", notes = "提交")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerInsureVo.class)
    })
    @PostMapping(value = "/insure")
    public FebsResponse insure(@RequestBody @Validated ApiMemberAnswerInsureDto dto) {
 
        return apiMemberAnswerService.insure(dto);
    }
 
    @ApiOperation(value = "上一题(分页大小为1)", notes = "上一题")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerPreviousVo.class)
    })
    @PostMapping(value = "/previous")
    public FebsResponse previous(@RequestBody @Validated ApiMemberAnswerPreviousDto dto) {
 
        return apiMemberAnswerService.previous(dto);
    }
 
    @ApiOperation(value = "错题集记录分页查询", notes = "错题集记录分页查询")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMemberAnswerWrongVo.class)
    })
    @PostMapping(value = "/wrongPage")
    public FebsResponse wrongPage(@RequestBody @Validated ApiMemberAnswerWrongPageDto dto) {
 
        return apiMemberAnswerService.wrongPage(dto);
    }
}