From 35914b5faef74edaa7658c50fd5a0eb1d47862f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 31 Jul 2020 13:36:02 +0800 Subject: [PATCH] tocks --- business/jxstore/cms/store_sku.go | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index a510c1f63..757026e3e 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -54,6 +54,8 @@ const ( CopyStoreSkuModeFresh = "fresh" // 全新复制 CopyStoreSkuModeUpdate = "update" // 增量复制 CopyStoreSkuModeUpdatePrice = "updatePrice" // 增量复制价格 + + JxDefaultStock = 99999 ) //通用写入Excel @@ -65,9 +67,9 @@ type ExcelParam struct { // UpdateStoreSku用,API调用时 type StoreSkuBindSkuInfo struct { - SkuID int `json:"skuID"` - IsSale int `json:"isSale,omitempty"` // -1:不可售,0:忽略,1:可售 - Stock int `json:"stock,omitempty"` + SkuID int `json:"skuID"` + IsSale int `json:"isSale,omitempty"` // -1:不可售,0:忽略,1:可售 + Stock *int `json:"stock,omitempty"` // ElmID int64 `json:"elmID,omitempty"` // EbaiID int64 `json:"ebaiID,omitempty"` } @@ -1161,6 +1163,12 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs skuBind.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), skuBind.Price) if tmpStatus := getSkuSaleStatus(inSkuBind, skuBindInfo); tmpStatus != model.StoreSkuBindStatusNA { skuBind.Status = tmpStatus + //关注设置默认库存 + if tmpStatus == model.StoreSkuBindStatusNormal { + skuBind.Stock = JxDefaultStock + } else { + skuBind.Stock = 0 + } } if globals.IsAddEvent { err = AddEventDetail(db, ctx, model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, "", utils.Int2Str(skuBind.UnitPrice)) @@ -1241,7 +1249,19 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs } skuBind.Status = tmpStatus setStoreSkuBindStatus(skuBind, model.SyncFlagSaleMask) + if inSkuBind.Stock == nil { + if tmpStatus == model.StoreSkuBindStatusNormal { + skuBind.Stock = JxDefaultStock + } else { + skuBind.Stock = 0 + } + } } + if inSkuBind.Stock != nil { + skuBind.Stock = *inSkuBind.Stock + setStoreSkuBindStatus(skuBind, model.SyncFlagStockMask) + } + if skuBindInfo.UnitPrice != 0 && isCanChangePrice { // 这里是否需要加此条件限制 price := jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit, v.SkuNameUnit) jxPrice := jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), price)