updateStoresSkusWithoutSync
This commit is contained in:
@@ -1089,34 +1089,32 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
setStoreSkuBindStatus(skuBind, model.SyncFlagSaleMask)
|
||||
updateFieldMap[model.FieldStatus] = 1
|
||||
}
|
||||
if skuBindInfo.UnitPrice != 0 && skuBind.UnitPrice != unitPrice && isCanChangePrice { // 这里是否需要加此条件限制
|
||||
skuBind.UnitPrice = unitPrice
|
||||
skuBind.Price = jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit, v.SkuNameUnit)
|
||||
skuBind.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), skuBind.Price)
|
||||
setStoreSkuBindStatus(skuBind, model.SyncFlagPriceMask)
|
||||
updateFieldMap["UnitPrice"] = 1
|
||||
updateFieldMap["Price"] = 1
|
||||
updateFieldMap["JxPrice"] = 1
|
||||
if skuBindInfo.UnitPrice != 0 && isCanChangePrice { // 这里是否需要加此条件限制
|
||||
price := jxutils.CaculateSkuPrice(unitPrice, v.SpecQuality, v.SpecUnit, v.SkuNameUnit)
|
||||
jxPrice := jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), price)
|
||||
if unitPrice != skuBind.UnitPrice || price != skuBind.Price || jxPrice != skuBind.JxPrice {
|
||||
if price != skuBind.Price {
|
||||
setStoreSkuBindStatus(skuBind, model.SyncFlagPriceMask)
|
||||
updateFieldMap["Price"] = 1
|
||||
}
|
||||
skuBind.UnitPrice = unitPrice
|
||||
skuBind.Price = price
|
||||
skuBind.JxPrice = jxPrice
|
||||
updateFieldMap["UnitPrice"] = 1
|
||||
updateFieldMap["JxPrice"] = 1
|
||||
}
|
||||
}
|
||||
if skuBindInfo.StatusSaleBegin != 0 && skuBindInfo.StatusSaleEnd != 0 {
|
||||
if err := ValidateStruct(skuBindInfo); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, fmt.Errorf("更改商品:%s, 可售时间不合法!时间范围:[%v] 至 [%v]", allBinds[0].Name, skuBindInfo.StatusSaleBegin, skuBindInfo.StatusSaleEnd)
|
||||
globals.SugarLogger.Infof("更改商品:%s, 可售时间不合法!时间范围:[%v] 至 [%v]", allBinds[0].Name, skuBindInfo.StatusSaleBegin, skuBindInfo.StatusSaleEnd)
|
||||
} else {
|
||||
updateFieldMap["StatusSaleBegin"] = int(skuBindInfo.StatusSaleBegin)
|
||||
updateFieldMap["StatusSaleEnd"] = int(skuBindInfo.StatusSaleEnd)
|
||||
skuBind.StatusSaleBegin = skuBindInfo.StatusSaleBegin
|
||||
skuBind.StatusSaleEnd = skuBindInfo.StatusSaleEnd
|
||||
}
|
||||
updateFieldMap["StatusSaleBegin"] = int(skuBindInfo.StatusSaleBegin)
|
||||
updateFieldMap["StatusSaleEnd"] = int(skuBindInfo.StatusSaleEnd)
|
||||
skuBind.StatusSaleBegin = skuBindInfo.StatusSaleBegin
|
||||
skuBind.StatusSaleEnd = skuBindInfo.StatusSaleEnd
|
||||
}
|
||||
// todo 这里应该是不需处理这个信息的吧?
|
||||
// if inSkuBind != nil && inSkuBind.EbaiID != 0 {
|
||||
// skuBind.EbaiID = inSkuBind.EbaiID
|
||||
// updateFieldMap["EbaiID"] = 1
|
||||
// }
|
||||
// if inSkuBind != nil && inSkuBind.ElmID != 0 {
|
||||
// skuBind.ElmID = inSkuBind.ElmID
|
||||
// updateFieldMap["ElmID"] = 1
|
||||
// }
|
||||
|
||||
if len(updateFieldMap) > 0 {
|
||||
updateFieldMap[model.FieldJdSyncStatus] = 1
|
||||
updateFieldMap[model.FieldEbaiSyncStatus] = 1
|
||||
@@ -1124,9 +1122,11 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
updateFieldMap[model.FieldUpdatedAt] = 1
|
||||
updateFieldMap[model.FieldLastOperator] = 1
|
||||
|
||||
// setStoreSkuBindStatus(skuBind, model.SyncFlagModifiedMask)
|
||||
dao.WrapUpdateULEntity(skuBind, userName)
|
||||
skuBind.AutoSaleAt = utils.DefaultTimeValue
|
||||
if skuBind.Status == model.SkuStatusNormal {
|
||||
updateFieldMap["AutoSaleAt"] = 1
|
||||
skuBind.AutoSaleAt = utils.DefaultTimeValue
|
||||
}
|
||||
if num, err = dao.UpdateEntity(db, skuBind /*, utils.Map2KeySlice(updateFieldMap)...*/); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user