修改规格刷京西价修改
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user