优化mtwm.ListOrders
This commit is contained in:
@@ -3,6 +3,7 @@ package mtwm
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"net/url"
|
||||
"regexp"
|
||||
"strings"
|
||||
@@ -571,19 +572,29 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.
|
||||
vendorStoreID := batchItemList[0].(string)
|
||||
var orderIDs []string
|
||||
seqStart := 1
|
||||
i := 0
|
||||
for {
|
||||
seqEnd := seqStart + mtwmapi.MaxGap4GetOrderIdByDaySeq - 1
|
||||
tmpOrderIDs, err2 := api.MtwmAPI.GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd)
|
||||
batchSize := int(math.Min(math.Pow(2, float64(i)), float64(mtwmapi.MaxGap4GetOrderIdByDaySeq)))
|
||||
seqEnd := seqStart + batchSize - 1
|
||||
var tmpOrderIDs []int64
|
||||
if seqStart == seqEnd {
|
||||
if vendorOderID, err2 := api.MtwmAPI.GetOrderIdByDaySeqSingle(vendorStoreID, queryDate, seqStart); err2 == nil {
|
||||
tmpOrderIDs = []int64{vendorOderID}
|
||||
}
|
||||
} else {
|
||||
tmpOrderIDs, err = api.MtwmAPI.GetOrderIdByDaySeq(vendorStoreID, queryDate, seqStart, seqEnd)
|
||||
}
|
||||
if len(tmpOrderIDs) > 0 {
|
||||
for _, v := range tmpOrderIDs {
|
||||
orderIDs = append(orderIDs, utils.Int64ToStr(v))
|
||||
}
|
||||
}
|
||||
if err = err2; err != nil || len(tmpOrderIDs) < mtwmapi.MaxGap4GetOrderIdByDaySeq {
|
||||
if err != nil || len(tmpOrderIDs) < batchSize {
|
||||
err = nil
|
||||
break
|
||||
}
|
||||
seqStart = seqEnd + 1
|
||||
i++
|
||||
}
|
||||
retVal = orderIDs
|
||||
return retVal, nil
|
||||
|
||||
Reference in New Issue
Block a user