- 优化AmendMissingOrders
This commit is contained in:
@@ -1090,15 +1090,23 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
|
|||||||
vendorIDs = append(vendorIDs, vendorID)
|
vendorIDs = append(vendorIDs, vendorID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
type tDateVendorPair struct {
|
if len(vendorIDs) == 0 {
|
||||||
QueryDate time.Time
|
return "", fmt.Errorf("找不到指定的平台")
|
||||||
VendorID int
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fromDate = utils.Time2Date(fromDate)
|
fromDate = utils.Time2Date(fromDate)
|
||||||
if utils.IsTimeZero(toDate) {
|
if utils.IsTimeZero(toDate) {
|
||||||
toDate = fromDate
|
toDate = fromDate
|
||||||
}
|
}
|
||||||
toDate = utils.Time2Date(toDate)
|
toDate = utils.Time2Date(toDate)
|
||||||
|
if toDate.Sub(fromDate) > 7*24*time.Hour {
|
||||||
|
return "", fmt.Errorf("最多一次一周,请调整时间")
|
||||||
|
}
|
||||||
|
|
||||||
|
type tDateVendorPair struct {
|
||||||
|
QueryDate time.Time
|
||||||
|
VendorID int
|
||||||
|
}
|
||||||
var dateVendorList []*tDateVendorPair
|
var dateVendorList []*tDateVendorPair
|
||||||
for _, vendorID := range vendorIDs {
|
for _, vendorID := range vendorIDs {
|
||||||
for tmpDate := fromDate; tmpDate.Sub(toDate) <= 0; tmpDate = tmpDate.Add(24 * time.Hour) {
|
for tmpDate := fromDate; tmpDate.Sub(toDate) <= 0; tmpDate = tmpDate.Add(24 * time.Hour) {
|
||||||
@@ -1114,21 +1122,21 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
|
|||||||
}
|
}
|
||||||
if len(dateVendorList) > 0 {
|
if len(dateVendorList) > 0 {
|
||||||
var missingOrderList []*tOrderVendorPair
|
var missingOrderList []*tOrderVendorPair
|
||||||
|
db := dao.GetDB()
|
||||||
|
vendorStoreIDMap := make(map[int]string)
|
||||||
|
if storeID > 0 {
|
||||||
|
for _, vendorID := range vendorIDs {
|
||||||
|
storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID)
|
||||||
|
if err = err2; err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
vendorStoreIDMap[vendorID] = storeDetail.VendorStoreID
|
||||||
|
}
|
||||||
|
}
|
||||||
task := tasksch.NewSeqTask("AmendMissingOrders", ctx,
|
task := tasksch.NewSeqTask("AmendMissingOrders", ctx,
|
||||||
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
switch step {
|
switch step {
|
||||||
case 0:
|
case 0:
|
||||||
db := dao.GetDB()
|
|
||||||
vendorStoreIDMap := make(map[int]string)
|
|
||||||
if storeID > 0 {
|
|
||||||
for _, vendorID := range vendorIDs {
|
|
||||||
storeDetail, err2 := dao.GetStoreDetail(db, storeID, vendorID)
|
|
||||||
if err = err2; err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
vendorStoreIDMap[vendorID] = storeDetail.VendorStoreID
|
|
||||||
}
|
|
||||||
}
|
|
||||||
task1 := tasksch.NewParallelTask("AmendMissingOrders ListOrders", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
task1 := tasksch.NewParallelTask("AmendMissingOrders ListOrders", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
vendorDate := batchItemList[0].(*tDateVendorPair)
|
vendorDate := batchItemList[0].(*tDateVendorPair)
|
||||||
|
|||||||
Reference in New Issue
Block a user