From 92ed3708b487811e770e33c4e654e9fede2bd6ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 20 Nov 2023 09:37:02 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/sku.go | 37 +++++++++++++++---- business/partner/purchase/jd/order.go | 3 +- .../partner/purchase/tiktok_store/order.go | 27 +++++++++++--- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 00e4ab8ce..12e03306d 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1121,19 +1121,20 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf dao.Rollback(db, txDB) return 0, err } - // if valid["jdsStockSwitch"] != nil { - // if _, err = SetStoreSkuSyncStatus2(db, []int{model.JdShopMainStoreID}, []int{model.VendorIDJDShop}, skuIDs, model.SyncFlagSaleMask); err != nil { - // dao.Rollback(db, txDB) - // return 0, err - // } - // } } dao.Commit(db, txDB) errList := errlist.New() errList.AddErr(err) - _, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) - errList.AddErr(err) + //_, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, false, userName) + //errList.AddErr(err) + + storeIds, err := GetSyncSkuStoreId(db, skuIDs) + if err != nil { + return 0, err + } + _, err2 = CurVendorSync.SyncStoresSkus(jxcontext.AdminCtx, nil, 0, db, partner.GetSingleStoreVendorIDs(), storeIds, skuIDs, false, false, true) + errList.AddErr(err2) err = errList.GetErrListAsOne() if globals.IsAddEvent { mapBefore := refutil.FindMapAndStructMixed(valid, beforSkuName) @@ -1410,6 +1411,26 @@ func SetUpdateSkuPriceIfChange(db *dao.DaoDB, skuPrice, nowPrice int64, skuId in return err } +// GetSyncSkuStoreId 当每个商品存在修改时,需要重新同步商品的信息,立马同步,获取需要同步的门店信息 +func GetSyncSkuStoreId(db *dao.DaoDB, skus []int) ([]int, error) { + sql := ` SELECT * FROM store_sku_bind b + INNER JOIN store s on s.id = b.store_id + WHERE b.sku_id IN (` + dao.GenQuestionMarks(len(skus)) + `) AND b.status = ? AND s.status <> ? AND b.deleted_at = ? ` + param := []interface{}{skus, model.YES, model.StoreStatusDisabled, utils.DefaultTimeValue} + + skuBind := make([]*model.StoreSkuBind, 0, 0) + if err := dao.GetRows(db, &skuBind, sql, param); err != nil { + return nil, err + } + + storeIds := make([]int, 0, 0) + for _, v := range skuBind { + storeIds = append(storeIds, v.StoreID) + } + + return storeIds, nil +} + func UpdateSkuImg(ctx *jxcontext.Context, skuID int, payload map[string]interface{}) (string, error) { var ( db = dao.GetDB() diff --git a/business/partner/purchase/jd/order.go b/business/partner/purchase/jd/order.go index 98c083ab9..02169bcc9 100644 --- a/business/partner/purchase/jd/order.go +++ b/business/partner/purchase/jd/order.go @@ -351,8 +351,9 @@ func Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) { order.Skus = append(order.Skus, sku) } // 包装袋金额设置 - store, _ := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode) + store, _ := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), order.VendorStoreID, order.VendorID, order.VendorOrgCode) order.PackagePrice = store.PackageSetting + order.JxStoreID = store.ID jxutils.RefreshOrderSkuRelated(order) return order } diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index ff46b3dff..04b8b8347 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -587,20 +587,35 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s } } } - - //转门店自送通知抖音发货 - err = api.OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{ + logisticsAdd := &order_logisticsAdd_request.OrderLogisticsAddParam{ OrderId: order.VendorOrderID, Company: "", - CompanyCode: "chengdouruoxi", + CompanyCode: "", LogisticsCode: order.VendorOrderID, IsRefundReject: false, IsRejectRefund: false, SerialNumberList: nil, AddressId: 0, StoreId: utils.Str2Int64(order.VendorStoreID), - }) - return err + } + switch order.WaybillVendorID { + case model.VendorIDDada: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeDaDa + case model.VendorIDMTPS: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMeiTuan + case model.VendorIDFengNiao: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeFengNiao + case model.VendorIDSFPS: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeSF + case model.VendorIDUUPT: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeUU + case model.VendorJXFakeWL, -1: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMerchant + default: + logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMerchant + } + //转门店自送通知抖音发货 + return api.OrderDelivering(logisticsAdd) } // Swtich2SelfDelivered 暂无自送完成