- fix bug in OrderManager.OnOrderComments

This commit is contained in:
gazebo
2019-03-13 18:06:29 +08:00
parent 0f7a3ab809
commit 8310a0b2cf
4 changed files with 41 additions and 8 deletions

View File

@@ -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)

View File

@@ -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 {

View File

@@ -43,7 +43,8 @@ const (
FieldName = "Name"
FieldRemark = "Remark"
FieldVendoOrderID = "VendorOrderID"
FieldVendorOrderID = "VendorOrderID"
FieldVendorOrderID2 = "VendorOrderID2"
)
type ModelIDCUL struct {

View File

@@ -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)