package com.tcm.training.admin.system.controller; import cn.dev33.satoken.stp.StpUtil; import com.tcm.training.admin.common.ApiResponse; import com.tcm.training.admin.common.PageResponse; import com.tcm.training.admin.system.dto.UserFeedbackSubmitRequest; import com.tcm.training.admin.system.service.UserFeedbackAppService; import com.tcm.training.admin.system.vo.UserFeedbackListItemVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; 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.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; @Validated @RestController @RequestMapping({"/api/v1", "/api"}) public class UserFeedbackController { private final UserFeedbackAppService userFeedbackAppService; public UserFeedbackController(UserFeedbackAppService userFeedbackAppService) { this.userFeedbackAppService = userFeedbackAppService; } @GetMapping("/user-feedbacks") public ApiResponse> page( @RequestParam(required = false, defaultValue = "1") int page, @RequestParam(required = false, defaultValue = "10") int pageSize, @RequestParam(required = false) String content) { return ApiResponse.ok(userFeedbackAppService.page(page, pageSize, content)); } @PostMapping("/user-feedbacks") public ApiResponse submit(@Valid @RequestBody UserFeedbackSubmitRequest request) { userFeedbackAppService.submit(StpUtil.getLoginIdAsLong(), request); return ApiResponse.ok(null); } }