获取某个商品平台价,商品名前缀

This commit is contained in:
苏尹岚
2019-12-19 18:40:46 +08:00
parent a3c236d281
commit dad7a5a926
17 changed files with 293 additions and 68 deletions

View File

@@ -24,8 +24,8 @@ const (
maxLastHours = 7 * 24 // 最多只能查询7天内的订单数据
defLastHours = 2 * 24 // 缺省是两天内的订单
orderMixTimeImmediatelyArrive = 8
orderMixTimeDelayArrive = 5
orderSubTimeImmediatelyArrive = 8
orderSubTimeDelayArrive = 5
)
type tWaybillExt struct {
@@ -939,6 +939,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
}
if len(dateVendorList) > 0 {
var missingOrderList []*tOrderVendorPair
var updateOrderStatusList []*tOrderVendorPair
db := dao.GetDB()
vendorStoreIDMap := make(map[int]string)
if storeID > 0 {
@@ -995,12 +996,12 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
} else {
if goodsOrder.Status != model.OrderStatusFinished && goodsOrder.Status != model.OrderStatusCanceled {
if goodsOrder.BusinessType == model.BusinessTypeImmediate {
if time.Now().Sub(goodsOrder.CreatedAt).Hours() >= orderMixTimeImmediatelyArrive {
missingOrderList = append(missingOrderList, pair)
if time.Now().Sub(goodsOrder.CreatedAt).Hours() >= orderSubTimeImmediatelyArrive {
updateOrderStatusList = append(updateOrderStatusList, pair)
}
} else {
if time.Now().Sub(goodsOrder.ExpectedDeliveredTime).Hours() >= orderMixTimeDelayArrive {
missingOrderList = append(missingOrderList, pair)
if time.Now().Sub(goodsOrder.ExpectedDeliveredTime).Hours() >= orderSubTimeDelayArrive {
updateOrderStatusList = append(updateOrderStatusList, pair)
}
}
}
@@ -1013,9 +1014,6 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
if handler := partner.GetPurchaseOrderHandlerFromVendorID(pair.VendorID); handler != nil {
order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID)
if err = err2; err == nil {
if order.Status == model.OrderStatusCanceled || order.Status == model.OrderStatusFinished {
err = c.UpdateOrderFields(order, []string{"Status"})
}
isDuplicated, err2 := c.SaveOrder(order, false, dao.GetDB())
if err2 == nil && !isDuplicated {
retVal = []int{1}
@@ -1026,9 +1024,25 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
}, missingOrderList)
tasksch.HandleTask(task2, task, true).Run()
result, err = task2.GetResult(0)
case 2:
task3 := tasksch.NewParallelTask("AmendMissingOrders UpdateOrders", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
pair := batchItemList[0].(*tOrderVendorPair)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(pair.VendorID); handler != nil {
order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID)
if err = err2; err == nil {
if order.Status == model.OrderStatusCanceled || order.Status == model.OrderStatusFinished {
err = c.UpdateOrderFields(order, []string{"Status"})
}
}
}
return retVal, err
}, updateOrderStatusList)
tasksch.HandleTask(task3, task, true).Run()
_, err = task3.GetResult(0)
}
return result, err
}, 2)
}, 3)
tasksch.HandleTask(task, nil, true).Run()
if !isAsync {
result, err2 := task.GetResult(0)