package com.seec.bok.web.controller; import com.seec.bok.service.InteractiveService; import com.seec.bok.web.dto.CollectDTO; import com.seec.bok.web.dto.RateDTO; import com.seec.bok.web.util.FakeQuestionData; import com.seec.bok.web.vo.QuestionVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** @author Kunduin */ @RestController @RequestMapping("/api/user") public class UserInteractiveController { @Autowired private InteractiveService interactiveService; @PostMapping("/{userId}/question/{questionId}/rate") @Operation(description = "记录用户对题目的评分信息") public Object userRateQuestion( @PathVariable String userId, @PathVariable String questionId, @RequestBody RateDTO rateDTO) { return interactiveService.addRate(userId,questionId,rateDTO.getRate()); } @PostMapping("/{userId}/question/{questionId}/collection") @Operation(description = "记录用户对题目的收藏情况") public Object userCollectQuestion( @PathVariable String userId, @PathVariable String questionId, @RequestBody CollectDTO collectDTO) { return interactiveService.addCollect(userId,questionId,collectDTO.getCollect()); } @GetMapping("/{userId}/question") @Operation(description = "获得某用户交互的题目列表") public List getUserInteractiveQuestions( @PathVariable String userId, @Parameter(description = "是否是用户收藏的题目") @RequestParam(value = "collection", required = false) Boolean collection, @Parameter(description = "是否是用户打分的题目") @RequestParam(value = "rate", required = false) Boolean rate) { return interactiveService.findInteractiveQuestions(userId,collection,rate); } }