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)