切换主体
This commit is contained in:
parent
7565c48cd9
commit
5db078e26a
|
|
@ -59,20 +59,20 @@ func (w *BankMultiActivityImpl) Order(order *bo.OrderBo) (couponId string, err e
|
|||
return *resp.CouponId, nil
|
||||
}
|
||||
|
||||
func (w *BankMultiActivityImpl) Notify(ctx context.Context, mchId string, headers *http.Header, respBody []byte) (response *bo.WechatVoucherNotifyBo, err error) {
|
||||
func (w *BankMultiActivityImpl) Notify(ctx context.Context, mchId string, headers *http.Header, respBody []byte) (*bo.WechatVoucherNotifyBo, error) {
|
||||
|
||||
t, err := w.wx.Get(mchId)
|
||||
if err != nil {
|
||||
return
|
||||
return nil, err
|
||||
}
|
||||
|
||||
body, decodeBodyStr, err := t.Notify(ctx, headers, respBody)
|
||||
if err != nil {
|
||||
return
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var plainText bo.PlainText
|
||||
if err = json.Unmarshal([]byte(decodeBodyStr), &response); err != nil {
|
||||
if err = json.Unmarshal([]byte(decodeBodyStr), &plainText); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -96,39 +96,8 @@ func Test_QixingNotifyData(t *testing.T) {
|
|||
|
||||
func Test_MarketingNotify(t *testing.T) {
|
||||
|
||||
header := `{
|
||||
"Content-Type": [
|
||||
"application/json"
|
||||
],
|
||||
"Wechatpay-Nonce": [
|
||||
"H3Bs5sCbMJZOBLA4w3S6YbN4cCcO9i00"
|
||||
],
|
||||
"Wechatpay-Serial": [
|
||||
"PUB_KEY_ID_0111000406952026032500382251001000"
|
||||
],
|
||||
"Wechatpay-Signature": [
|
||||
"Kk5uQqZA3pyOV1cfJpRDNEghsG4vE0gBM4XIncJGgsuyG6SNNMbmXUy9TaBRoqylE5EoIYWXaXWOXn7gHW8rOK6bDkiJW2zoZUI6lRrPZSN8Mm1qaIiB42NsfExA+J6H3VqlsUtfyDiXJdsMRe2Y6pwGhj/GDJpb74PlsyaGOuZUfp/Z1Fy4gFZ2hhBx9MVIdIy0aGpU7D096HaDf30YJmdqHX0Cy59bPI9paaOX39kHt0H0WYpOeQEAsCHtVJTXF7betIBAPT1HO0PVZDS9ShO19AhMbislvPRxMEsZ6QYA2TVdyU6qegzkc7vaRiRjDla2V7YSzrmT745OTvPu1g=="
|
||||
],
|
||||
"Wechatpay-Signature-Type": [
|
||||
"WECHATPAY2-SHA256-RSA2048"
|
||||
],
|
||||
"Wechatpay-Timestamp": [
|
||||
"1774490961"
|
||||
]
|
||||
}`
|
||||
body := `{
|
||||
"id": "56b4937c-8f32-52e0-880a-828c869fa2c0",
|
||||
"create_time": "2026-03-26T10:09:21+08:00",
|
||||
"resource_type": "encrypt-resource",
|
||||
"event_type": "COUPON.USE",
|
||||
"summary": "代金券核销通知",
|
||||
"resource": {
|
||||
"original_type": "coupon",
|
||||
"algorithm": "AEAD_AES_256_GCM",
|
||||
"ciphertext": "IfJmKJnBYezruwmk+IA+ENQBn13oWiLR1YnYi3bhYaqYreaXwFcFWbnnQjWfh8RDF36S1v+H1eLj0OtiQVDveLJ9vOcCrtr0M8bkV6NpRN7amqcf02vg+xLcs6UiZDedkN353nMnVVY1SAyuJj0AjKTUJrMhPNtxzdPpL/A3bMVCHrw4sqUItAOsDWVyJ5Kb09BEbdNOesmFkCc+Pcqmr554UHXzjQxzYimMpdbZ8OCovEy6JY1jnbxyiduDI7XBiTvxLr5CzLGlxNk1tIHUSrrDnRzUCpFJzNETgcrF3JWvQVAPThelGnTLN/TT3/pyM7/Kz60YNGaSbJTNKOtxbLXopk72x5hlt45fgrueP+RsnVQWmjULJ0AVEVmPNtlHTYRw7WV0cGwwrF7CCSDifYPed9QZPU1+awVtnGb3If53l109HojJiJB7Y0C/ZPX/vH/KLmtUx+10YKIFOo3vYnxEBV5lv4D5ZqXn4gOOtufVH/URYqgRqnzNFqJV6sW2qP6K9AgBhe/BO4AoeDDHG00XP89XFbeHmR2zZ019jBapq92YkvDVtQc2oLr9MWPoHJUhkmApwB6AmOK7ldWJ14P/Fws3/zBzCxVSlQsgLoDyBKm461ZnA6k09c+hffhTutLt89HYv+pqA1nukdTGuCWqPqUgx0AsK5i1CngrBQZJwc7+ylpakpOrX8oulyuA3So65hgMuqgl5dgkR0e8nvjjv7dVl0aRkqTZt3VL7BB1xwGqbvO3aTEuqqPrFQKLpnaY5Gz64dgg6huQFOBnZww=",
|
||||
"associated_data": "coupon",
|
||||
"nonce": "pV96KsdLrSAd"
|
||||
}`
|
||||
header := `{"Accept":["*/*"], "Cache-Control":["no-cache"], "Connection":["close"], "Content-Length":["1109"], "Content-Type":["application/json"], "Pragma":["no-cache"], "User-Agent":["Mozilla/4.0"], "Wechatpay-Nonce":["N61AnMoOlDsi6WnCV1xgasslXt6Hqndb"], "Wechatpay-Serial":["PUB_KEY_ID_0111000406952026032500382251001000"], "Wechatpay-Signature":["skDPjPLpIway2ll3J+o3FYnF+3Z75PuNge92LaxDDWHu8V6OXWXHUPLaJilxg/UidBcaP5JKza9t2JIgNtdRXfjPEehi7Ufn5yhPR9EUg4T1PFhkri/N8x1bvZ2oDemsTDHNNxr2PrPla2K5EcNRe6MfVpLKLp/xxX5UXfII8UHjI50jDSSoJQpSZZS0jbm5yfAeokbus0aD7835JKWksLGIuM94s5TYV8fCNL1RVab/ArLJ6UsTf0mjPEVWMdT3TePwdtVFZhFqGxlTFnR2LYSuLNflxQiE7cgtBK76L1+lMit7KlARy7aPSsOpn3DAl1sivnSvP6hX5ljOXnjv6g=="], "Wechatpay-Signature-Type":["WECHATPAY2-SHA256-RSA2048"], "Wechatpay-Timestamp":["1774495201"], "X-Forwarded-For":["121.51.58.172"], "X-Real-Ip":["121.51.58.172"]}`
|
||||
bodyStr := `{"id":"2f6dba61-17d2-554c-99f1-c2527bac8013","create_time":"2026-03-26T11:14:56+08:00","resource_type":"encrypt-resource","event_type":"COUPON.USE","summary":"代金券核销通知","resource":{"original_type":"coupon","algorithm":"AEAD_AES_256_GCM","ciphertext":"fr2/gKAby7C+R8Yl/pcWLQEa+RYFDmi2LGSaZtghMtMWs+6z5XolFtNTs65JArRUjptKR4ATn0uAp+Yi2S2ly6+jV07VnUmEBk7ijPXHgkZ53VkNSKgYIC6pOumNcA3MdZxVHPRYawvsluat4m0X7/BqW3qjR9L9DYq4uXtc4pXBC2lcSmtcIENU5lHRmSU83iLp9Gp+LZ3MGaF8ExMc+ZkQcj7RRruiXqWaICeY7c0ebXQJtulytT1FSMksb5nfaf0MmElO+9fOwH1naOrdvSSQ4tglThpfEHuIZ2xaT7DwcBDYvmye+vg+fgnxE66sskz5fwdVtgiGdNSWzA8CZrP/4oXUpbNpjpY2r0GJs5etpCU5hqimz0S1zCLEOtgl/LQ3GCZA1AzZeRcIferbJotC1toJD3tALyO89VSbwcGr8kk6e1HAGyXhoIt5RC3sFnbUdHQLf01MbNhJg13p1YbqInLI3ktjlst4N+gGXmCHHzHlpeOHgdF2uvrWTE/XTDlfumGKBDLFkSOu62pldQfLKVU++BPvvqaRXK9m4g5F87dwOJQJyltm3LYwKfpg1vIMw6ch1Nvrj79+xQs0Xa32Ds8omjI3GmMyly/BMvWJkFpTivrgUnXXMLfzDIFLRB5cR4dGQkJWFBY/qkjHu3yvTqcJuiaUqaHFKjhJJt1WpVMWaj4WlsbOb/oI3eTroxzynNOhgmYWMrM47OSfHJ1MhGU3c18Zk89zyY8miVe/CaPhwwmBnIgeYoBzj5ic36HXJN1Qkup1FYAOadWWXwc=","associated_data":"coupon","nonce":"I4U3QlKjYHlc"}}`
|
||||
|
||||
httpHeaders := make(http.Header)
|
||||
if err := json.Unmarshal([]byte(header), &httpHeaders); err != nil {
|
||||
|
|
@ -136,11 +105,29 @@ func Test_MarketingNotify(t *testing.T) {
|
|||
return
|
||||
}
|
||||
|
||||
_, bizContent, err := marketingFJLF().Notify(context.Background(), &httpHeaders, []byte(body))
|
||||
body, bizContent, err := marketingFJLF().Notify(context.Background(), &httpHeaders, []byte(bodyStr))
|
||||
if err != nil {
|
||||
t.Errorf("notify err: %+v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Printf("bizContent: %+v\n", bizContent)
|
||||
var plainText bo.PlainText
|
||||
if err = json.Unmarshal([]byte(bizContent), &plainText); err != nil {
|
||||
t.Errorf("Unmarshal err: %+v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
notifyBo := bo.WechatVoucherNotifyBo{
|
||||
ID: body.Id,
|
||||
CreateTime: body.CreateTime,
|
||||
ResourceType: body.ResourceType,
|
||||
EventType: body.EventType,
|
||||
Summary: body.Summary,
|
||||
OriginalType: body.Resource.OriginalType,
|
||||
AssociatedData: body.Resource.AssociatedData,
|
||||
PlainText: plainText,
|
||||
}
|
||||
|
||||
fmt.Printf("bizContent: %s\n", bizContent)
|
||||
fmt.Printf("notifyBo: %+v\n", notifyBo)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue