package cn.iocoder.yudao.module.erp.controller.admin.finance; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.erp.dal.dataobject.finance.ErpAfterSaleFinanceDraftDO; import cn.iocoder.yudao.module.erp.service.finance.ErpAfterSaleFinanceDraftService; import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.invalidParamException; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @RestController @RequestMapping("/erp/finance/after-sale-draft") public class ErpAfterSaleFinanceDraftController { @Resource private ErpAfterSaleFinanceDraftService service; @GetMapping("/page") @PreAuthorize("@ss.hasPermission('erp:after-sale-finance:query')") public CommonResult> page(@Valid PageParam page, @RequestParam(value = "status", required = false) Integer status) { return success(service.page(page, status)); } @PutMapping("/review") @PreAuthorize("@ss.hasPermission('erp:after-sale-finance:review')") public CommonResult review(@RequestParam("id") Long id, @RequestBody ReviewRequest request) { if (request == null || request.approved() == null) throw invalidParamException("请选择审核结果"); service.review(id, getLoginUserId(), request.approved(), request.remark()); return success(true); } public record ReviewRequest(Boolean approved, String remark) {} }