package com.talentcard.server.business.operation;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import com.talentcard.server.business.PageResult;
|
import com.talentcard.server.common.ApiResponse;
|
import jakarta.validation.Valid;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
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;
|
|
@RestController
|
@RequestMapping("/api/admin/operation")
|
public class OperationAdminController {
|
|
private final OperationAdminService operationAdminService;
|
|
public OperationAdminController(OperationAdminService operationAdminService) {
|
this.operationAdminService = operationAdminService;
|
}
|
|
@GetMapping("/equity-images")
|
public ApiResponse<List<Map<String, Object>>> equityImages() {
|
return ApiResponse.success(operationAdminService.equityImages());
|
}
|
|
@PutMapping("/equity-images")
|
public ApiResponse<Map<String, Object>> saveEquityImages(@Valid @RequestBody EquityImageSaveRequest request) {
|
return ApiResponse.success(operationAdminService.saveEquityImages(request));
|
}
|
|
@GetMapping("/movie-ticket-rules")
|
public ApiResponse<List<Map<String, Object>>> movieTicketRules() {
|
return ApiResponse.success(operationAdminService.movieTicketRules());
|
}
|
|
@PutMapping("/movie-ticket-rules")
|
public ApiResponse<List<Map<String, Object>>> saveMovieTicketRules(
|
@Valid @RequestBody List<MovieTicketRuleRequest> rules
|
) {
|
return ApiResponse.success(operationAdminService.saveMovieTicketRules(rules));
|
}
|
|
@GetMapping("/movie-ticket-records")
|
public ApiResponse<PageResult<Map<String, Object>>> movieTicketRecords(
|
@RequestParam(required = false) String talentKeyword,
|
@RequestParam(required = false) String cardLevel,
|
@RequestParam(required = false) String receivedStart,
|
@RequestParam(required = false) String receivedEnd,
|
@RequestParam(defaultValue = "1") int page,
|
@RequestParam(defaultValue = "10") int size
|
) {
|
return ApiResponse.success(operationAdminService.movieTicketRecords(
|
talentKeyword,
|
cardLevel,
|
receivedStart,
|
receivedEnd,
|
page,
|
size));
|
}
|
}
|