From 0c5d62e55ff7dd170e673e2aeeb12d5c2fc6dafb Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 1 Feb 2020 12:23:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E8=A5=BF=E5=95=86=E5=9F=8E=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/dao_order.go | 25 +++++++++++++++++++ business/model/dao/dao_order_test.go | 8 ++++++ business/model/dao/store_test.go | 2 +- business/partner/purchase/jx/localjx/order.go | 4 +++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 38895b91d..6944301f9 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1162,3 +1162,28 @@ func GetOrdersSupplementNoPage(db *DaoDB, ID int, storIDs, vendorIDs, statuss [] err = GetRows(db, &orderSupplementFee, sql, sqlParams...) return orderSupplementFee, err } + +func GetJxOrderCount(db *DaoDB, storeID int, orderID string, date time.Time) (count int, err error) { + if utils.IsTimeZero(date) { + date = time.Now() + } + sql := ` + SELECT COUNT(*) ct + FROM goods_order t1 + WHERE t1.vendor_id = ? AND t1.jx_store_id = ? AND (t1.status >= ? OR t1.order_seq > 0) AND t1.order_created_at >= ? AND t1.order_created_at < ? + ` + sqlParams := []interface{}{ + model.VendorIDJX, + storeID, + model.OrderStatusNew, + utils.Time2Date(date), + utils.Time2Date(date).Add(24 * time.Hour), + } + + if orderID != "" { + sql += " AND t1.vendor_order_id = ?" + sqlParams = append(sqlParams, orderID) + } + err = GetRow(db, &count, sql, sqlParams...) + return count, err +} diff --git a/business/model/dao/dao_order_test.go b/business/model/dao/dao_order_test.go index f1a1ee5ff..a30eed64a 100644 --- a/business/model/dao/dao_order_test.go +++ b/business/model/dao/dao_order_test.go @@ -47,3 +47,11 @@ func TestGetPendingFakeOrders(t *testing.T) { } t.Log(len(orderList)) } + +func TestGetJxOrderSeq(t *testing.T) { + count, err := GetJxOrderCount(GetDB(), 100118, "23423", time.Now()) + if err != nil { + t.Fatal(err) + } + t.Log(count) +} diff --git a/business/model/dao/store_test.go b/business/model/dao/store_test.go index 7ed727a21..b77ffffba 100644 --- a/business/model/dao/store_test.go +++ b/business/model/dao/store_test.go @@ -40,7 +40,7 @@ func TestGetStoreList4Role(t *testing.T) { } func TestGetStoresMapList(t *testing.T) { - storeList, err := GetStoresMapList(GetDB(), nil, nil, model.StoreStatusClosed, model.StoreIsSyncYes, "") + storeList, err := GetStoresMapList(GetDB(), nil, nil, nil, model.StoreStatusClosed, model.StoreIsSyncYes, "") t.Log(utils.Format4Output(storeList, false)) if err != nil { t.Fatal(err) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index 8bef6bedd..555dd753b 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -255,6 +255,10 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) { if err == nil { db := dao.GetDB() dao.UpdateEntity(db, orderPay) + if count, err2 := dao.GetJxOrderCount(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorOrderID, order.OrderCreatedAt); err2 == nil { + order.OrderSeq = count + 1 + partner.CurOrderManager.UpdateOrderFields(order, []string{"OrderSeq"}) + } order.Status = model.OrderStatusNew order.VendorStatus = utils.Int2Str(model.OrderStatusNew) order.StatusTime = *orderPay.PayFinishedAt