修改规格刷京西价修改

This commit is contained in:
苏尹岚
2020-03-23 18:28:14 +08:00
parent 0ae380e94b
commit b0e33ac9aa

View File

@@ -1121,34 +1121,39 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
} }
func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err error) { func refreshStoreSkuPrice(ctx *jxcontext.Context, db *dao.DaoDB, skuID int) (err error) {
dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
if r != nil {
panic(r)
}
}
}()
list, err := dao.GetStoreSkusAndSkuName(db, nil, []int{skuID}, nil) list, err := dao.GetStoreSkusAndSkuName(db, nil, []int{skuID}, nil)
for _, v := range list { task := tasksch.NewParallelTask("refreshStoreSkuPrice", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(true), ctx,
storeID := v.StoreID func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDJX) v := batchItemList[0].(*dao.StoreSkuAndName)
if err != nil { storeID := v.StoreID
return nil storeDetail, _ := dao.GetStoreDetail(db, storeID, model.VendorIDJX)
} if storeDetail == nil {
storeSku := &model.StoreSkuBind{} return retVal, err
storeSku.ID = v.BindID }
storeSku.JdSyncStatus = v.JdSyncStatus | model.SyncFlagPriceMask storeSku := &model.StoreSkuBind{}
storeSku.MtwmSyncStatus = v.MtwmSyncStatus | model.SyncFlagPriceMask storeSku.ID = v.BindID
storeSku.EbaiSyncStatus = v.EbaiSyncStatus | model.SyncFlagPriceMask storeSku.JdSyncStatus = v.JdSyncStatus | model.SyncFlagPriceMask
storeSku.Price = jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit) storeSku.MtwmSyncStatus = v.MtwmSyncStatus | model.SyncFlagPriceMask
storeSku.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(storeSku.Price)) storeSku.EbaiSyncStatus = v.EbaiSyncStatus | model.SyncFlagPriceMask
storeSku.LastOperator = ctx.GetUserName() storeSku.Price = jxutils.CaculateSkuPrice(int(v.UnitPrice), v.SpecQuality, v.SpecUnit, v.Unit)
storeSku.UpdatedAt = time.Now() storeSku.JxPrice = jxutils.CaculatePriceByPricePack(storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage), int(storeSku.Price))
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "EbaiSyncStatus", "JxPrice") storeSku.LastOperator = ctx.GetUserName()
} storeSku.UpdatedAt = time.Now()
dao.Commit(db) dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db)
if r != nil {
panic(r)
}
}
}()
dao.UpdateEntity(db, storeSku, "Price", "JdSyncStatus", "MtwmSyncStatus", "EbaiSyncStatus", "JxPrice")
dao.Commit(db)
return retVal, err
}, list)
tasksch.HandleTask(task, nil, true).Run()
_, err = task.GetResult(0)
return err return err
} }