This commit is contained in:
苏尹岚
2020-07-31 13:36:02 +08:00
parent 5c3935a445
commit 35914b5fae

View File

@@ -54,6 +54,8 @@ const (
CopyStoreSkuModeFresh = "fresh" // 全新复制 CopyStoreSkuModeFresh = "fresh" // 全新复制
CopyStoreSkuModeUpdate = "update" // 增量复制 CopyStoreSkuModeUpdate = "update" // 增量复制
CopyStoreSkuModeUpdatePrice = "updatePrice" // 增量复制价格 CopyStoreSkuModeUpdatePrice = "updatePrice" // 增量复制价格
JxDefaultStock = 99999
) )
//通用写入Excel //通用写入Excel
@@ -65,9 +67,9 @@ type ExcelParam struct {
// UpdateStoreSku用API调用时 // UpdateStoreSku用API调用时
type StoreSkuBindSkuInfo struct { type StoreSkuBindSkuInfo struct {
SkuID int `json:"skuID"` SkuID int `json:"skuID"`
IsSale int `json:"isSale,omitempty"` // -1不可售0忽略1可售 IsSale int `json:"isSale,omitempty"` // -1不可售0忽略1可售
Stock int `json:"stock,omitempty"` Stock *int `json:"stock,omitempty"`
// ElmID int64 `json:"elmID,omitempty"` // ElmID int64 `json:"elmID,omitempty"`
// EbaiID int64 `json:"ebaiID,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) skuBind.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), skuBind.Price)
if tmpStatus := getSkuSaleStatus(inSkuBind, skuBindInfo); tmpStatus != model.StoreSkuBindStatusNA { if tmpStatus := getSkuSaleStatus(inSkuBind, skuBindInfo); tmpStatus != model.StoreSkuBindStatusNA {
skuBind.Status = tmpStatus skuBind.Status = tmpStatus
//关注设置默认库存
if tmpStatus == model.StoreSkuBindStatusNormal {
skuBind.Stock = JxDefaultStock
} else {
skuBind.Stock = 0
}
} }
if globals.IsAddEvent { if globals.IsAddEvent {
err = AddEventDetail(db, ctx, model.OperateAdd, v.RealSkuID, model.ThingTypeSku, storeID, "", utils.Int2Str(skuBind.UnitPrice)) 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 skuBind.Status = tmpStatus
setStoreSkuBindStatus(skuBind, model.SyncFlagSaleMask) 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 { // 这里是否需要加此条件限制 if skuBindInfo.UnitPrice != 0 && isCanChangePrice { // 这里是否需要加此条件限制
price := jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit, v.SkuNameUnit) price := jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit, v.SkuNameUnit)
jxPrice := jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), price) jxPrice := jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), price)