package com.ycl.platform.controller; import com.ycl.platform.domain.form.CalculateReportBackfillForm; import com.ycl.platform.domain.query.CalculateReportQuery; import com.ycl.platform.service.CalculateReportService; import com.ycl.system.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** * 核算报告 前端控制器 * * @author xp * @since 2024-04-23 */ @Validated @RequiredArgsConstructor @Api(value = "核算报告", tags = "核算报告管理") @RestController @RequestMapping("/calculate-report") public class CalculateReportController { private final CalculateReportService calculateReportService; @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") @PreAuthorize("@ss.hasPermi('system:calculate:report:page')") public Result page(CalculateReportQuery query) { return calculateReportService.page(query); } @PostMapping("/backfill/money") @ApiOperation(value = "回填扣款金额", notes = "回填扣款金额") @PreAuthorize("@ss.hasPermi('system:calculate:report:backfill')") public Result backfill(@Validated @RequestBody CalculateReportBackfillForm form) { return calculateReportService.backfill(form); } @GetMapping("/{id}") @ApiOperation(value = "详情", notes = "详情") @PreAuthorize("@ss.hasPermi('system:calculate:report:detail')") public Result detail(@PathVariable("id") Long id) { return calculateReportService.detail(id); } @PutMapping("/status/{reportId}") @ApiOperation(value = "修改发布状态", notes = "修改发布状态") @PreAuthorize("@ss.hasPermi('system:calculate:report:status')") public Result updatePublishStatus(@PathVariable("reportId") Long reportId) { return calculateReportService.updatePublishStatus(reportId); } @PostMapping("/export") @ApiOperation(value = "导出", notes = "导出") @PreAuthorize("@ss.hasPermi('system:calculate:report:export')") public void export(Integer contractId, HttpServletResponse response) { calculateReportService.export(contractId, response); } }