diff --git a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java index 7a88eb41..775dbcac 100644 --- a/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java +++ b/xhpc-modules/xhpc-invoice/src/main/java/com/xhpc/invoice/controller/XhpcInvoiceController.java @@ -121,6 +121,41 @@ public class XhpcInvoiceController extends BaseController { return AjaxResult.success(); } + + @Log(title = "用户提交发票状态", businessType = BusinessType.UPDATE) + @PostMapping("/add") + public AjaxResult postInvoiceToUser(@RequestBody InvoiceToUserRequest requestData) { + //前置条件 + if (requestData.getInvoiceId() == null) { + return AjaxResult.error("必须上传发票id"); + } + if (requestData.getStatus() == null || requestData.getStatus().equals(InvoiceStatusConst.INVOICING)) { + return AjaxResult.error("必须传递发票状态或发票状态不能为0"); + } + //开失败发票 + if (requestData.getStatus().equals(InvoiceStatusConst.FAIL)) { + try { + xhpcInvoiceService.failInvoiceToUser(requestData); + return AjaxResult.success(); + } catch (Exception e) { + return AjaxResult.error("开失败发票失败"); + } + } else { + //开成功发票 + try { + //捕获参数异常 + Boolean flagOfjudge = xhpcInvoiceService.invoiceToUser(requestData); + if (!flagOfjudge) { + return AjaxResult.error("客户邮箱有误,邮件未发送成功,请通知用户修改邮箱"); + } + } catch (Exception e) { + return AjaxResult.error(e.getMessage()); + } + } + return AjaxResult.success(); + } + + /** * 用于在后台显示所有发票信息,包括待开发票和已开发票的信息 *