This commit is contained in:
laodaming 2023-06-15 15:10:22 +08:00
parent 200e821c85
commit 57dd04ea27
4 changed files with 35 additions and 20 deletions

View File

@ -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
}

View File

@ -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"`
}

View File

@ -16,6 +16,7 @@ var (
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 {

View File

@ -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
}