From 4bd9c4185bb1beab82c16a0d9c212064b45e8f13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AD=90=E9=93=AD?= Date: Sat, 14 Sep 2024 13:58:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF=E4=B9=B1?= =?UTF-8?q?=E7=A0=81=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/wechat_redpack.go | 4 ++-- plugins/alipay_cpn/internal/alipay_cpn.go | 4 ++-- plugins/alipay_cpn/internal/alipay_test.go | 3 ++- plugins/alipay_cpn/internal/transform.go | 14 +++++--------- plugins/alipay_redpack/internal/transform.go | 6 +++--- plugins/union_pay_cpn/internal/transform.go | 6 +++++- plugins/wechat_cpn/internal/transform.go | 4 ++-- plugins/wechat_redpack/internal/transform.go | 6 +++--- plugins/wechat_redpack/internal/wechat_redpack.go | 3 +++ .../wechat_redpack/internal/wechat_redpack_test.go | 4 ++-- 10 files changed, 29 insertions(+), 25 deletions(-) diff --git a/cmd/wechat_redpack.go b/cmd/wechat_redpack.go index be8a234..964631a 100644 --- a/cmd/wechat_redpack.go +++ b/cmd/wechat_redpack.go @@ -63,10 +63,10 @@ func wechatRedPackQuery() { queryRequest := &proto.QueryRequest{ Config: getWechatRedPackConf(), Order: &proto.QueryRequest_Order{ - OrderNo: "240403164049635931", + OrderNo: "202409141056275034200011", TradeNo: "", Account: "", - Extra: []byte(`{"out_detail_no":"123456789"}`), + Extra: []byte(`{"out_detail_no":"0a2511525cc94a27bac18328771dc53e"}`), }, } resQuery, err := instance.Query(context.Background(), wechatRedPackConf.Tag, queryRequest) diff --git a/plugins/alipay_cpn/internal/alipay_cpn.go b/plugins/alipay_cpn/internal/alipay_cpn.go index c485df3..663c773 100644 --- a/plugins/alipay_cpn/internal/alipay_cpn.go +++ b/plugins/alipay_cpn/internal/alipay_cpn.go @@ -46,7 +46,7 @@ func (s *AlipayCpnService) Order(ctx context.Context, request *proto.OrderReques } var sp string - err = requests.URL(c.BaseUri).Post().BodyForm(uv).ToString(&sp).Fetch(ctx) + err = requests.URL(baseUri).Post().BodyForm(uv).ToString(&sp).Fetch(ctx) var response *po.OrderResp sp = utils.ToChinese(sp) @@ -76,7 +76,7 @@ func (s *AlipayCpnService) Query(ctx context.Context, request *proto.QueryReques } var sp string - err = requests.URL(c.BaseUri).Post().BodyForm(uv).ToString(&sp).Fetch(ctx) + err = requests.URL(baseUri).Post().BodyForm(uv).ToString(&sp).Fetch(ctx) if err != nil { return nil, fmt.Errorf("请求异常,msg:" + err.Error()) } diff --git a/plugins/alipay_cpn/internal/alipay_test.go b/plugins/alipay_cpn/internal/alipay_test.go index d9424c7..4376bc8 100644 --- a/plugins/alipay_cpn/internal/alipay_test.go +++ b/plugins/alipay_cpn/internal/alipay_test.go @@ -69,7 +69,8 @@ func TestQuery(t *testing.T) { t.Errorf("Query() error = %v", err) return } - fmt.Printf("%+v \n", got) + fmt.Printf("request:%s \n", request.String()) + fmt.Printf("response:%s \n", got.String()) assert.Equal(t, int(proto.Status_SUCCESS), int(got.Result.Status)) }) } diff --git a/plugins/alipay_cpn/internal/transform.go b/plugins/alipay_cpn/internal/transform.go index 24eccf0..b7b27d2 100644 --- a/plugins/alipay_cpn/internal/transform.go +++ b/plugins/alipay_cpn/internal/transform.go @@ -11,10 +11,9 @@ import ( ) type Config struct { - AppId string `json:"app_id"` - BaseUri string `json:"base_uri"` - Prk string `json:"prk"` // 私钥 - Npk string `json:"npk"` // 回调公钥 + AppId string `json:"app_id"` + Prk string `json:"prk"` // 私钥 + Npk string `json:"npk"` // 回调公钥 } func transConfig(config []byte) (*Config, error) { @@ -23,9 +22,6 @@ func transConfig(config []byte) (*Config, error) { if err != nil { return nil, err } - if c.BaseUri == "" { - c.BaseUri = baseUri - } return &c, nil } @@ -55,7 +51,7 @@ func orderReq(order *proto.OrderRequest_Order, product *proto.OrderRequest_Produ if order.Extra != nil { err := json.Unmarshal(order.Extra, &extra) if err != nil { - return nil, fmt.Errorf("order extra json unmarshal error: %v", err) + return nil, fmt.Errorf("order拓展参数 json unmarshal error: %v", err) } } o := &po.OrderReq{ @@ -91,7 +87,7 @@ func queryReq(in *proto.QueryRequest_Order) (*po.QueryReq, error) { if in.Extra != nil { err := json.Unmarshal(in.Extra, &extra) if err != nil { - return nil, fmt.Errorf("order extra json unmarshal error: %v", err) + return nil, fmt.Errorf("order拓展参数 json unmarshal error: %v", err) } } return &po.QueryReq{ diff --git a/plugins/alipay_redpack/internal/transform.go b/plugins/alipay_redpack/internal/transform.go index 632de59..b465da7 100644 --- a/plugins/alipay_redpack/internal/transform.go +++ b/plugins/alipay_redpack/internal/transform.go @@ -54,11 +54,11 @@ func orderReq(order *proto.OrderRequest_Order, product *proto.OrderRequest_Produ } var productExtra ProductExtra if product.Extra == nil { - return nil, fmt.Errorf("product extra is nil") + return nil, fmt.Errorf("商品拓展参数不能为空") } err := json.Unmarshal(product.Extra, &productExtra) if err != nil { - return nil, fmt.Errorf("product extra json unmarshal error: %v", err) + return nil, fmt.Errorf("商品拓展参数 json unmarshal error: %v", err) } payeeInfo := po.PayeeInfo{ Identity: order.Account, @@ -74,7 +74,7 @@ func orderReq(order *proto.OrderRequest_Order, product *proto.OrderRequest_Produ var orderExtra OrderExtra err = json.Unmarshal(order.Extra, &orderExtra) if err != nil { - return nil, fmt.Errorf("order extra json unmarshal error: %v", err) + return nil, fmt.Errorf("订单拓展参数 json unmarshal error: %v", err) } if orderExtra.Name == "" { return nil, fmt.Errorf("姓名,当identity_type=ALIPAY_LOGON_ID时,本字段必填") diff --git a/plugins/union_pay_cpn/internal/transform.go b/plugins/union_pay_cpn/internal/transform.go index d0137fd..4c27003 100644 --- a/plugins/union_pay_cpn/internal/transform.go +++ b/plugins/union_pay_cpn/internal/transform.go @@ -2,6 +2,7 @@ package internal import ( "encoding/json" + "fmt" "gitea.cdlsxd.cn/sdk/plugin/proto" "plugins/union_pay_cpn/internal/po" "plugins/union_pay_cpn/internal/vo" @@ -32,7 +33,10 @@ func (c *Config) orderReq(in *proto.OrderRequest) (*po.OrderReq, error) { OrderDt string `json:"orderDt"` } var e OrderExtra - _ = json.Unmarshal(in.Order.Extra, &e) + err := json.Unmarshal(in.Order.Extra, &e) + if err != nil { + return nil, fmt.Errorf("订单拓展参数 json unmarshal error: %v", err) + } mobile, err := union_pay.Encrypt([]byte(in.Order.Account), []byte(c.KEY), []byte(c.IV)) if err != nil { diff --git a/plugins/wechat_cpn/internal/transform.go b/plugins/wechat_cpn/internal/transform.go index ced00ce..c4dace0 100644 --- a/plugins/wechat_cpn/internal/transform.go +++ b/plugins/wechat_cpn/internal/transform.go @@ -29,7 +29,7 @@ func orderReq(order *proto.OrderRequest_Order, product *proto.OrderRequest_Produ if order.Extra != nil { err := json.Unmarshal(order.Extra, &extra) if err != nil { - return cashcoupons.SendCouponRequest{}, fmt.Errorf("order extra json unmarshal error: %v", err) + return cashcoupons.SendCouponRequest{}, fmt.Errorf("order拓展参数 json unmarshal error: %v", err) } } return cashcoupons.SendCouponRequest{ @@ -62,7 +62,7 @@ func queryReq(order *proto.QueryRequest_Order) (*cashcoupons.QueryCouponRequest, if order.Extra != nil { err := json.Unmarshal(order.Extra, &extra) if err != nil { - return nil, fmt.Errorf("order extra json unmarshal error: %v", err) + return nil, fmt.Errorf("order拓展参数 json unmarshal error: %v", err) } } return &cashcoupons.QueryCouponRequest{ diff --git a/plugins/wechat_redpack/internal/transform.go b/plugins/wechat_redpack/internal/transform.go index 7c531fe..5881ca8 100644 --- a/plugins/wechat_redpack/internal/transform.go +++ b/plugins/wechat_redpack/internal/transform.go @@ -33,12 +33,12 @@ func orderReq(order *proto.OrderRequest_Order, product *proto.OrderRequest_Produ var orderExtra OrderExtra err := json.Unmarshal(order.Extra, &orderExtra) if err != nil { - return transferbatch.InitiateBatchTransferRequest{}, fmt.Errorf("order extra json unmarshal error: %v", err) + return transferbatch.InitiateBatchTransferRequest{}, fmt.Errorf("order拓展参数 json unmarshal error[%+v]", err) } var productExtra ProductExtra err = json.Unmarshal(product.Extra, &productExtra) if err != nil { - return transferbatch.InitiateBatchTransferRequest{}, fmt.Errorf("order extra json unmarshal error: %v", err) + return transferbatch.InitiateBatchTransferRequest{}, fmt.Errorf("product拓展参数json unmarshal error:[%+v], extra[%s]", err, string(product.Extra)) } return transferbatch.InitiateBatchTransferRequest{ Appid: core.String(orderExtra.Appid), @@ -78,7 +78,7 @@ func queryReq(order *proto.QueryRequest_Order) (*transferbatch.GetTransferDetail if order.Extra != nil { err := json.Unmarshal(order.Extra, &orderExtra) if err != nil { - return nil, fmt.Errorf("order extra json unmarshal error: %v", err) + return nil, fmt.Errorf("order拓展参数 json unmarshal error: %v", err) } } return &transferbatch.GetTransferDetailByOutNoRequest{ diff --git a/plugins/wechat_redpack/internal/wechat_redpack.go b/plugins/wechat_redpack/internal/wechat_redpack.go index 67984ec..0004b2b 100644 --- a/plugins/wechat_redpack/internal/wechat_redpack.go +++ b/plugins/wechat_redpack/internal/wechat_redpack.go @@ -4,6 +4,7 @@ import ( "context" "gitea.cdlsxd.cn/sdk/plugin/proto" "plugins/wechat_redpack/internal/vo" + "time" ) // 插件通信信息,若不对应则会报错panic @@ -17,6 +18,7 @@ const ( type WeChatRedPackService struct{} func (p *WeChatRedPackService) Order(ctx context.Context, request *proto.OrderRequest) (*proto.OrderResponse, error) { + ctx, _ = context.WithTimeout(ctx, 30*time.Second) config, err := transConfig(request.Config) if err != nil { return nil, err @@ -40,6 +42,7 @@ func (p *WeChatRedPackService) Order(ctx context.Context, request *proto.OrderRe } func (p *WeChatRedPackService) Query(ctx context.Context, request *proto.QueryRequest) (*proto.QueryResponse, error) { + ctx, _ = context.WithTimeout(ctx, 30*time.Second) req, err := queryReq(request.GetOrder()) if err != nil { return nil, err diff --git a/plugins/wechat_redpack/internal/wechat_redpack_test.go b/plugins/wechat_redpack/internal/wechat_redpack_test.go index 77c4dca..3013737 100644 --- a/plugins/wechat_redpack/internal/wechat_redpack_test.go +++ b/plugins/wechat_redpack/internal/wechat_redpack_test.go @@ -59,10 +59,10 @@ func TestQuery(t *testing.T) { request := &proto.QueryRequest{ Config: config(), Order: &proto.QueryRequest_Order{ - OrderNo: "240403164049635931", + OrderNo: "202409141056275034200012", TradeNo: "", Account: "", - Extra: []byte(`{"out_detail_no":"123456789"}`), + Extra: []byte(`{"out_detail_no":"0a2511525cc94a27bac18328771dc53e"}`), }, } t.Run("TestQuery", func(t *testing.T) {