物料订单刷新状态优化
This commit is contained in:
@@ -1234,3 +1234,13 @@ func GetOrdersForJxPay(db *DaoDB, finishTimeBegin, finishTimeEnd time.Time) (goo
|
|||||||
err = GetRows(db, &goods, sql, sqlParams...)
|
err = GetRows(db, &goods, sql, sqlParams...)
|
||||||
return goods, err
|
return goods, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetWaybills(db *DaoDB, vendorOrderID string) (waybills []*model.Waybill, err error) {
|
||||||
|
sql := `SELECT *
|
||||||
|
FROM waybill
|
||||||
|
WHERE vendor_order_id = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{vendorOrderID}
|
||||||
|
err = GetRows(db, &waybills, sql, sqlParams)
|
||||||
|
return waybills, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -1238,13 +1238,15 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
goodsList []*model.GoodsOrder
|
goodsList []*model.GoodsOrder
|
||||||
realTime time.Time
|
realTime time.Time
|
||||||
)
|
)
|
||||||
realTime = time.Now().AddDate(0, 0, -3)
|
realTime = time.Now().AddDate(0, 0, -7)
|
||||||
|
//有分包的主订单
|
||||||
sql := `
|
sql := `
|
||||||
SELECT * FROM goods_order WHERE store_id = 666666 AND order_created_at >= ? AND status <> ? AND vendor_id = ? AND eclp_out_id = '' AND LENGTH(vendor_order_id) = 14
|
SELECT * FROM goods_order WHERE store_id = 666666 AND order_created_at >= ? AND status <> ? AND vendor_id = ? AND LENGTH(vendor_order_id) = 14
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{realTime, model.OrderStatusFinished, model.VendorIDJX}
|
sqlParams := []interface{}{realTime, model.OrderStatusFinished, model.VendorIDJX}
|
||||||
err = dao.GetRows(db, &goodsList, sql, sqlParams)
|
err = dao.GetRows(db, &goodsList, sql, sqlParams)
|
||||||
for _, v := range goodsList {
|
for _, v := range goodsList {
|
||||||
|
if v.EclpOutID == "" {
|
||||||
var (
|
var (
|
||||||
goodsList2 []*model.GoodsOrder
|
goodsList2 []*model.GoodsOrder
|
||||||
cancelCount int
|
cancelCount int
|
||||||
@@ -1267,7 +1269,13 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
}()
|
}()
|
||||||
vv.Status = model.OrderStatusFinished
|
vv.Status = model.OrderStatusFinished
|
||||||
dao.UpdateEntity(db, vv, "Status")
|
dao.UpdateEntity(db, vv, "Status")
|
||||||
|
waybills, err := dao.GetWaybills(db, vv.VendorOrderID)
|
||||||
|
if err == nil && len(waybills) > 0 {
|
||||||
|
waybills[0].Status = model.WaybillStatusDelivered
|
||||||
|
dao.UpdateEntity(db, waybills[0], "Status")
|
||||||
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
changeOrderStatus(vv.VendorOrderID, model.OrderStatusFinished, "")
|
||||||
} else {
|
} else {
|
||||||
deliveringCount++
|
deliveringCount++
|
||||||
}
|
}
|
||||||
@@ -1292,6 +1300,30 @@ func RefreshAllMatterOrderStatus() (err error) {
|
|||||||
}
|
}
|
||||||
dao.UpdateEntity(db, v, "Status")
|
dao.UpdateEntity(db, v, "Status")
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
changeOrderStatus(v.VendorOrderID, v.Status, "")
|
||||||
|
} else {
|
||||||
|
queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(v.EclpOutID)
|
||||||
|
if len(queryOrderStatus.OrderStatusList) > 0 {
|
||||||
|
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
|
||||||
|
dao.Begin(db)
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
dao.Rollback(db)
|
||||||
|
panic(r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
v.Status = model.OrderStatusFinished
|
||||||
|
dao.UpdateEntity(db, v, "Status")
|
||||||
|
waybills, err := dao.GetWaybills(db, v.VendorOrderID)
|
||||||
|
if err == nil && len(waybills) > 0 {
|
||||||
|
waybills[0].Status = model.WaybillStatusDelivered
|
||||||
|
dao.UpdateEntity(db, waybills[0], "Status")
|
||||||
|
}
|
||||||
|
dao.Commit(db)
|
||||||
|
changeOrderStatus(v.VendorOrderID, model.OrderStatusFinished, "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1350,7 +1382,13 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
|
|||||||
}()
|
}()
|
||||||
order.Status = model.OrderStatusFinished
|
order.Status = model.OrderStatusFinished
|
||||||
dao.UpdateEntity(db, order, "Status")
|
dao.UpdateEntity(db, order, "Status")
|
||||||
|
waybills, err := dao.GetWaybills(db, vendorOrderID)
|
||||||
|
if err == nil && len(waybills) > 0 {
|
||||||
|
waybills[0].Status = model.WaybillStatusDelivered
|
||||||
|
dao.UpdateEntity(db, waybills[0], "Status")
|
||||||
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
changeOrderStatus(vendorOrderID, model.OrderStatusFinished, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(getTrackMessagePlusByOrderResult.ResultData) > 0 {
|
if len(getTrackMessagePlusByOrderResult.ResultData) > 0 {
|
||||||
@@ -1368,9 +1406,7 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sql := "SELECT * FROM waybill WHERE vendor_order_id = ?"
|
waybills, err = dao.GetWaybills(db, vendorOrderID)
|
||||||
sqlParams := []interface{}{vendorOrderID}
|
|
||||||
err = dao.GetRows(db, &waybills, sql, sqlParams)
|
|
||||||
if len(waybills) > 0 {
|
if len(waybills) > 0 {
|
||||||
waybills[0].VendorWaybillID = waybillCode
|
waybills[0].VendorWaybillID = waybillCode
|
||||||
waybills[0].CourierName = cName
|
waybills[0].CourierName = cName
|
||||||
|
|||||||
Reference in New Issue
Block a user