- avoid memory leak in TransferLegacyJdOrder and TransferLegacyElmOrder.
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"math"
|
"math"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||||
@@ -289,23 +290,25 @@ func TransferLegacyJdOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
|||||||
var orderDetailList []*model.GoodsOrderOriginal
|
var orderDetailList []*model.GoodsOrderOriginal
|
||||||
for _, v := range batchItemList {
|
for _, v := range batchItemList {
|
||||||
jdOrder := v.(*legacymodel2.Jdorder)
|
jdOrder := v.(*legacymodel2.Jdorder)
|
||||||
var detail map[string]interface{}
|
if len(jdOrder.Data) > 10 {
|
||||||
if err = utils.UnmarshalUseNumber([]byte(jdOrder.Data), &detail); err != nil {
|
var detail map[string]interface{}
|
||||||
return nil, err
|
if err = utils.UnmarshalUseNumber([]byte(strings.Replace(strings.Replace(jdOrder.Data, "\n", "", -1), "\r", "", -1)), &detail); err != nil {
|
||||||
}
|
return nil, err
|
||||||
resultList := detail["result"].(map[string]interface{})["resultList"].([]interface{})
|
}
|
||||||
if len(resultList) > 0 {
|
resultList := detail["result"].(map[string]interface{})["resultList"].([]interface{})
|
||||||
originalData := resultList[0].(map[string]interface{})
|
if len(resultList) > 0 {
|
||||||
orgCode := originalData["orgCode"].(string)
|
originalData := resultList[0].(map[string]interface{})
|
||||||
if orgCode == "320406" {
|
orgCode := originalData["orgCode"].(string)
|
||||||
orderDetail := &model.GoodsOrderOriginal{
|
if orgCode == "320406" {
|
||||||
VendorOrderID: jdOrder.VendorOrderID,
|
orderDetail := &model.GoodsOrderOriginal{
|
||||||
VendorID: model.VendorIDJD,
|
VendorOrderID: jdOrder.VendorOrderID,
|
||||||
AccountNo: orgCode,
|
VendorID: model.VendorIDJD,
|
||||||
OrderCreatedAt: utils.Str2Time(originalData["orderPurchaseTime"].(string)),
|
AccountNo: orgCode,
|
||||||
OriginalData: string(utils.MustMarshal(originalData)),
|
OrderCreatedAt: utils.Str2Time(originalData["orderPurchaseTime"].(string)),
|
||||||
|
OriginalData: string(utils.MustMarshal(originalData)),
|
||||||
|
}
|
||||||
|
orderDetailList = append(orderDetailList, orderDetail)
|
||||||
}
|
}
|
||||||
orderDetailList = append(orderDetailList, orderDetail)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -314,7 +317,8 @@ func TransferLegacyJdOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
|||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, jdOrderList)
|
}, jdOrderList)
|
||||||
rootTask.AddChild(task).Run()
|
// rootTask.AddChild(task).Run()
|
||||||
|
task.Run()
|
||||||
_, err = task.GetResult(0)
|
_, err = task.GetResult(0)
|
||||||
runtime.GC()
|
runtime.GC()
|
||||||
} else {
|
} else {
|
||||||
@@ -352,25 +356,28 @@ func TransferLegacyElmOrder(ctx *jxcontext.Context, isAsync, isContinueWhenError
|
|||||||
var orderDetailList []*model.GoodsOrderOriginal
|
var orderDetailList []*model.GoodsOrderOriginal
|
||||||
for _, v := range batchItemList {
|
for _, v := range batchItemList {
|
||||||
elmOrder := v.(*legacymodel2.Elemeorder)
|
elmOrder := v.(*legacymodel2.Elemeorder)
|
||||||
var detail map[string]interface{}
|
if len(elmOrder.Data) > 10 {
|
||||||
if err = utils.UnmarshalUseNumber([]byte(elmOrder.Data), &detail); err != nil {
|
var detail map[string]interface{}
|
||||||
return nil, err
|
if err = utils.UnmarshalUseNumber([]byte(strings.Replace(strings.Replace(elmOrder.Data, "\n", "", -1), "\r", "", -1)), &detail); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
orderDetail := &model.GoodsOrderOriginal{
|
||||||
|
VendorOrderID: elmOrder.Orderid,
|
||||||
|
VendorID: model.VendorIDELM,
|
||||||
|
AccountNo: "fakeelm",
|
||||||
|
OrderCreatedAt: utils.Str2Time(detail["activeAt"].(string)),
|
||||||
|
OriginalData: elmOrder.Data,
|
||||||
|
}
|
||||||
|
orderDetailList = append(orderDetailList, orderDetail)
|
||||||
}
|
}
|
||||||
orderDetail := &model.GoodsOrderOriginal{
|
|
||||||
VendorOrderID: elmOrder.Orderid,
|
|
||||||
VendorID: model.VendorIDELM,
|
|
||||||
AccountNo: "fakeelm",
|
|
||||||
OrderCreatedAt: utils.Str2Time(detail["activeAt"].(string)),
|
|
||||||
OriginalData: elmOrder.Data,
|
|
||||||
}
|
|
||||||
orderDetailList = append(orderDetailList, orderDetail)
|
|
||||||
}
|
}
|
||||||
if len(orderDetailList) > 0 {
|
if len(orderDetailList) > 0 {
|
||||||
err = dao.CreateMultiEntities(db, orderDetailList)
|
err = dao.CreateMultiEntities(db, orderDetailList)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, elmOrderList)
|
}, elmOrderList)
|
||||||
rootTask.AddChild(task).Run()
|
// rootTask.AddChild(task).Run()
|
||||||
|
task.Run()
|
||||||
_, err = task.GetResult(0)
|
_, err = task.GetResult(0)
|
||||||
runtime.GC()
|
runtime.GC()
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user