部分关注商品修改

This commit is contained in:
苏尹岚
2019-12-26 10:37:09 +08:00
parent 9a05638ad2
commit d1a8d45933
2 changed files with 49 additions and 28 deletions

View File

@@ -2861,35 +2861,51 @@ func FocusStoreSkusBySku(ctx *jxcontext.Context, skuIDs []int, isAsync, isContin
db := dao.GetDB()
skuList, err := dao.GetSkus(db, skuIDs, nil, nil, nil)
storeList, err := dao.GetStoreList(db, nil, nil, "")
for _, v := range storeList {
storeIDs = append(storeIDs, v.ID)
}
for _, v := range skuList {
skuNameMap[v.NameID] = append(skuNameMap[v.NameID], &StoreSkuBindSkuInfo{
SkuID: v.ID,
IsSale: 1,
})
}
task := tasksch.NewParallelTask("根据skuID部分关注商品", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
store := batchItemList[0].(*model.Store)
for k, v := range skuNameMap {
midPrice, _ := dao.GetMidPriceByNameID(db, store.CityCode, k, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
skuBindInfo := &StoreSkuBindInfo{
NameID: k,
UnitPrice: midPrice,
IsFocus: 1,
Skus: v,
}
retVal = []*StoreSkuBindInfo{skuBindInfo}
taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
switch step {
case 0:
for _, v := range storeList {
storeIDs = append(storeIDs, v.ID)
}
return retVal, err
}, storeList)
tasksch.HandleTask(task, nil, true).Run()
result, err := task.GetResult(0)
for _, v := range result {
skuBindInfos = append(skuBindInfos, v.(*StoreSkuBindInfo))
for _, v := range skuList {
skuNameMap[v.NameID] = append(skuNameMap[v.NameID], &StoreSkuBindSkuInfo{
SkuID: v.ID,
IsSale: 1,
})
}
case 1:
taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
store := batchItemList[0].(*model.Store)
for k, v := range skuNameMap {
midPrice, _ := dao.GetMidPriceByNameID(db, store.CityCode, k, utils.Time2Date(time.Now().AddDate(0, 0, -1)))
skuBindInfo := &StoreSkuBindInfo{
NameID: k,
UnitPrice: midPrice,
IsFocus: 1,
Skus: v,
}
retVal = []*StoreSkuBindInfo{skuBindInfo}
}
return retVal, err
}
taskParallel := tasksch.NewParallelTask("根据skuID部分关注商品", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, taskFunc, storeList)
tasksch.HandleTask(taskParallel, task, true).Run()
result1, _ := taskParallel.GetResult(0)
for _, v := range result1 {
skuBindInfos = append(skuBindInfos, v.(*StoreSkuBindInfo))
}
case 2:
UpdateStoresSkus(ctx, storeIDs, skuBindInfos, false, isAsync, isContinueWhenError)
}
return result, err
}
taskSeq := tasksch.NewSeqTask2("根据skuID批量部分关注商品", ctx, isContinueWhenError, taskSeqFunc, 3)
tasksch.HandleTask(taskSeq, nil, true).Run()
if !isAsync {
_, err = taskSeq.GetResult(0)
hint = "1"
} else {
hint = taskSeq.GetID()
}
hint, err = UpdateStoresSkus(ctx, storeIDs, skuBindInfos, false, isAsync, isContinueWhenError)
return hint, err
}

View File

@@ -343,6 +343,11 @@ type OrderPayRefund struct {
OriginalData string `orm:"type(text)" json:"-"`
}
type OrderSupplementFee struct {
ModelIDCULD
VendorOrderID string `orm:"column(vendor_order_id);index;size(48)" json:"vendorOrderID"`
}
// 判断是否是购买平台自有物流
// 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达
func IsWaybillPlatformOwn(bill *Waybill) bool {