- 优化AmendMissingOrders

This commit is contained in:
gazebo
2019-08-28 18:08:41 +08:00
parent 7cb6708165
commit d0fd45e751

View File

@@ -1090,15 +1090,23 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
vendorIDs = append(vendorIDs, vendorID)
}
}
type tDateVendorPair struct {
QueryDate time.Time
VendorID int
if len(vendorIDs) == 0 {
return "", fmt.Errorf("找不到指定的平台")
}
fromDate = utils.Time2Date(fromDate)
if utils.IsTimeZero(toDate) {
toDate = fromDate
}
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
for _, vendorID := range vendorIDs {
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 {
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,
func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
switch step {
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,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
vendorDate := batchItemList[0].(*tDateVendorPair)