From bcd9973a7281f6c5dec5f9b5fb2c90ace4b79a67 Mon Sep 17 00:00:00 2001 From: kanade Date: Mon, 30 May 2022 13:47:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E9=87=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/api/mobile/order/submit.go | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/internal/api/mobile/order/submit.go b/internal/api/mobile/order/submit.go index c88728c..2a8f455 100755 --- a/internal/api/mobile/order/submit.go +++ b/internal/api/mobile/order/submit.go @@ -1,7 +1,9 @@ package order import ( + "errors" "fmt" + "git.oa00.com/go/mysql" "log" "recook/configs" "recook/internal/back" @@ -15,6 +17,7 @@ import ( "recook/internal/v2/lib/jcook" "recook/internal/v2/lib/shama" "recook/internal/v2/model/jyy" + goods2 "recook/internal/v2/model/recook/goods" "recook/tools" "strconv" @@ -360,7 +363,31 @@ func JdOrderSubmit(tx *gorm.DB, ip string, data map[uint][]order_preview.GoodsDe } var resp jcook.OrderSubmitResp if err := client.Exec(req1, &resp); err != nil { - return jcook.OrderSubmitResp{}, err + if err.Error() == "商品价格不匹配" { + go func() { + rq := jcook.SkuPriceReq{} + for _, info := range t { + rq.SkuIDSet = append(rq.SkuIDSet, info.SkuID) + } + var res []jcook.SkuPriceResp + if err := client.Exec(rq, &res); err != nil { + return + } + if len(res) == 0 { + return + } + for _, t := range res { + var sku goods2.RecookGoodsSkuModel + if err := mysql.Db.Table(sku.TableName()).Where("third_party_sku_id = ? and third_party_type=3", t.SkuID).Updates(map[string]interface{}{ + "purchase_price": t.SupplyPrice, + }).Error; err != nil { + log.Println(err.Error()) + return + } + } + }() + } + return jcook.OrderSubmitResp{}, errors.New("价格变动,请重新下单") } return resp, nil }