From 57dd04ea27e6189b8307dd520acfd14ca7a61d6d Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Thu, 15 Jun 2023 15:10:22 +0800 Subject: [PATCH] 1 --- server/orders/internal/config/config.go | 12 ++++++++++++ server_api/orders.api | 25 +++++++++++++------------ utils/basic/basic.go | 7 ++++--- utils/pdf/html_to_pdf.go | 11 ++++++----- 4 files changed, 35 insertions(+), 20 deletions(-) create mode 100644 server/orders/internal/config/config.go diff --git a/server/orders/internal/config/config.go b/server/orders/internal/config/config.go new file mode 100644 index 00000000..cd5d1b00 --- /dev/null +++ b/server/orders/internal/config/config.go @@ -0,0 +1,12 @@ +package config + +import ( + "fusenapi/server/orders/internal/types" + "github.com/zeromicro/go-zero/rest" +) + +type Config struct { + rest.RestConf + SourceMysql string + Auth types.Auth +} diff --git a/server_api/orders.api b/server_api/orders.api index 99683571..713118ac 100644 --- a/server_api/orders.api +++ b/server_api/orders.api @@ -1,23 +1,24 @@ syntax = "v1" info ( - title: // TODO: add title + title: "订单服务"// TODO: add title desc: // TODO: add description author: "" email: "" ) - -type request { - // TODO: add members here and delete this comment - Name string `path:"name,options=you|me"` // parameters are auto validated +import "basic.api" +service orders { + //获取订单发票 + @handler GetOrderInvoiceHandler + get /order/invoice (GetOrderInvoiceReq) returns (response); } -type response { - // TODO: add members here and delete this comment - Message string `json:"message"` +//获取订单发票 +type GetOrderInvoiceReq { + Sn string `json:"sn"` + TimeZone string `json:"timeZone"` } - -service user-auth { - @handler GreetHandler - get /greet/from/:name(request) returns (response); +type GetOrderInvoiceRsp { + FileName string `json:"file_name"` + Pdf int64 `json:"pdf"` } \ No newline at end of file diff --git a/utils/basic/basic.go b/utils/basic/basic.go index 1818b78c..50c7575e 100644 --- a/utils/basic/basic.go +++ b/utils/basic/basic.go @@ -13,9 +13,10 @@ var ( CodeServiceErr = &StatusResponse{510, "server logic error"} // server logic 错误 CodeUnAuth = &StatusResponse{401, "unauthorized"} // 未授权 - CodeUpdateErr = &StatusResponse{5000, "update database error"} // update database logic 错误 - CodeDupGuestErr = &StatusResponse{5001, "the user is already a guest user and does not need to apply again"} // 用户已经是guest用户不需要重复申请 错误 - CodeRequestParamsErr = &StatusResponse{5002, "invalid request param"} // api参数校验 错误 + CodeUpdateErr = &StatusResponse{5000, "update database error"} // update database logic 错误 + CodeDupGuestErr = &StatusResponse{5001, "the user is already a guest user and does not need to apply again"} // 用户已经是guest用户不需要重复申请 错误 + CodeRequestParamsErr = &StatusResponse{5002, "invalid request param"} // api参数校验 错误 + CodeDbRecordNotFoundErr = &StatusResponse{5002, "invalid request param"} ) type Response struct { diff --git a/utils/pdf/html_to_pdf.go b/utils/pdf/html_to_pdf.go index 1c89fed7..d2c0b7a8 100644 --- a/utils/pdf/html_to_pdf.go +++ b/utils/pdf/html_to_pdf.go @@ -1,15 +1,16 @@ package pdf import ( + "encoding/base64" "github.com/SebastiaanKlippert/go-wkhtmltopdf" "strings" ) // html转 Pdf dataType = 1 为网页url dataType = 2为网页内容 outFile为空则不保存 -func HtmlToPdf(content string, dataType int, outFile ...string) ([]byte, error) { +func HtmlToPdfBase64(content string, dataType int, outFile ...string) (string, error) { pdfg, err := wkhtmltopdf.NewPDFGenerator() if err != nil { - return nil, err + return "", err } switch dataType { case 1: //网页地址 @@ -23,13 +24,13 @@ func HtmlToPdf(content string, dataType int, outFile ...string) ([]byte, error) pdfg.PageSize.Set(wkhtmltopdf.PageSizeA4) // Create PDF document in memory if err = pdfg.Create(); err != nil { - return nil, err + return "", err } // Write PDF to file if len(outFile) != 0 { if err = pdfg.WriteFile(outFile[0]); err != nil { - return nil, err + return "", err } } - return pdfg.Bytes(), nil + return base64.StdEncoding.EncodeToString(pdfg.Bytes()), nil }