- fix bug in OrderManager.OnOrderComments
This commit is contained in:
@@ -71,6 +71,17 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
|
||||
db := dao.GetDB()
|
||||
for _, orderComment := range orderCommentList {
|
||||
globals.SugarLogger.Debugf("OnOrderComments, orderID:%s", orderComment.VendorOrderID)
|
||||
var order *model.GoodsOrder
|
||||
if orderComment.VendorID == model.VendorIDEBAI {
|
||||
if realVendorID := jxutils.GetPossibleVendorIDFromVendorOrderID(orderComment.VendorOrderID); realVendorID == model.VendorIDELM {
|
||||
if order, err = partner.CurOrderManager.LoadOrder2(orderComment.VendorOrderID, model.VendorIDEBAI); err == nil {
|
||||
orderComment.VendorOrderID = order.VendorOrderID
|
||||
} else {
|
||||
globals.SugarLogger.Warnf("OnOrderComments, load orderID:%s failed", orderComment.VendorOrderID)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
comment2 := &legacymodel.JxBadComments2{
|
||||
OrderId: orderComment.VendorOrderID,
|
||||
}
|
||||
@@ -98,9 +109,10 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
|
||||
comment2.LastPushTime = utils.Time2Str(time.Now())
|
||||
comment2.PushNo = 1
|
||||
comment2.Maxmodifytime = int(orderComment.ModifyDuration)
|
||||
|
||||
order, err2 := partner.CurOrderManager.LoadOrder(orderComment.VendorOrderID, orderComment.VendorID)
|
||||
if err = err2; err == nil {
|
||||
if order == nil {
|
||||
order, err = partner.CurOrderManager.LoadOrder(orderComment.VendorOrderID, orderComment.VendorID)
|
||||
}
|
||||
if err == nil {
|
||||
orderComment.StoreID = jxutils.GetSaleStoreIDFromOrder(order)
|
||||
if orderComment.StoreID > 0 {
|
||||
comment2.Jxstoreid = utils.Int2Str(orderComment.StoreID)
|
||||
|
||||
@@ -339,13 +339,23 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db orm.Orm
|
||||
return isDuplicated, err
|
||||
}
|
||||
|
||||
func (c *OrderManager) LoadOrder(vendorOrderID string, vendorID int) (order *model.GoodsOrder, err error) {
|
||||
func (c *OrderManager) loadOrder(vendorOrderID, vendorOrderID2 string, vendorID int) (order *model.GoodsOrder, err error) {
|
||||
db := orm.NewOrm()
|
||||
order = &model.GoodsOrder{
|
||||
VendorOrderID: vendorOrderID,
|
||||
VendorID: vendorID,
|
||||
VendorOrderID: vendorOrderID,
|
||||
VendorOrderID2: vendorOrderID2,
|
||||
VendorID: vendorID,
|
||||
}
|
||||
if err = db.Read(order, "VendorOrderID", "VendorID"); err == nil {
|
||||
keyFields := []string{
|
||||
model.FieldVendorID,
|
||||
}
|
||||
if vendorOrderID != "" {
|
||||
keyFields = append(keyFields, model.FieldVendorOrderID)
|
||||
}
|
||||
if vendorOrderID2 != "" {
|
||||
keyFields = append(keyFields, model.FieldVendorOrderID2)
|
||||
}
|
||||
if err = db.Read(order, keyFields...); err == nil {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
_, err = db.QueryTable("order_sku").Filter("vendor_order_id", vendorOrderID).Filter("vendor_id", vendorID).All(&order.Skus)
|
||||
return err
|
||||
@@ -360,6 +370,14 @@ func (c *OrderManager) LoadOrder(vendorOrderID string, vendorID int) (order *mod
|
||||
return order, err
|
||||
}
|
||||
|
||||
func (c *OrderManager) LoadOrder(vendorOrderID string, vendorID int) (order *model.GoodsOrder, err error) {
|
||||
return c.loadOrder(vendorOrderID, "", vendorID)
|
||||
}
|
||||
|
||||
func (c *OrderManager) LoadOrder2(vendorOrderID2 string, vendorID int) (order *model.GoodsOrder, err error) {
|
||||
return c.loadOrder("", vendorOrderID2, vendorID)
|
||||
}
|
||||
|
||||
func (c *OrderManager) UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err error) {
|
||||
db := orm.NewOrm()
|
||||
utils.CallFuncLogError(func() error {
|
||||
|
||||
@@ -43,7 +43,8 @@ const (
|
||||
FieldName = "Name"
|
||||
FieldRemark = "Remark"
|
||||
|
||||
FieldVendoOrderID = "VendorOrderID"
|
||||
FieldVendorOrderID = "VendorOrderID"
|
||||
FieldVendorOrderID2 = "VendorOrderID2"
|
||||
)
|
||||
|
||||
type ModelIDCUL struct {
|
||||
|
||||
@@ -52,6 +52,8 @@ type IOrderManager interface {
|
||||
OnWaybillStatusChanged(bill *model.Waybill) (err error)
|
||||
|
||||
LoadOrder(vendorOrderID string, vendorID int) (order *model.GoodsOrder, err error)
|
||||
LoadOrder2(vendorOrderID2 string, vendorID int) (order *model.GoodsOrder, err error)
|
||||
|
||||
UpdateWaybillVendorID(bill *model.Waybill, revertStatus bool) (err error)
|
||||
UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err error)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user