- 修改Rollback调用时机

- 创建三方运单判断EnableStoreWrite
This commit is contained in:
gazebo
2019-04-13 11:30:24 +08:00
parent 0055892cb2
commit 16725bf8f8
4 changed files with 53 additions and 39 deletions

View File

@@ -49,8 +49,11 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int,
if err == nil && (storeKV != nil || storeMapKV != nil) { if err == nil && (storeKV != nil || storeMapKV != nil) {
dao.Begin(db) dao.Begin(db)
defer func() { defer func() {
if err != nil { if r := recover(); r != nil || err != nil {
dao.Rollback(db) dao.Rollback(db)
if r != nil {
panic(r)
}
} }
}() }()
if storeKV != nil { if storeKV != nil {

View File

@@ -197,8 +197,11 @@ func FormalizeStoreStatus(db *DaoDB, storeID, storeStatus int) (err error) {
if statusList[0] != model.StoreStatusOpened { if statusList[0] != model.StoreStatusOpened {
Begin(db) Begin(db)
defer func() { defer func() {
if err != nil { if r := recover(); r != nil || err != nil {
Rollback(db) Rollback(db)
if r != nil {
panic(r)
}
} }
}() }()
if storeStatus != statusList[0] { if storeStatus != statusList[0] {

View File

@@ -131,6 +131,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
"cargo_num": order.GoodsCount, "cargo_num": order.GoodsCount,
} }
if globals.EnableStoreWrite {
// 达达要求第二次创建运单,调用函数不同。所以查找两天内有无相同订单号的运单 // 达达要求第二次创建运单,调用函数不同。所以查找两天内有无相同订单号的运单
var lists []orm.ParamsList var lists []orm.ParamsList
num, err2 := db.Raw(` num, err2 := db.Raw(`
@@ -170,6 +171,9 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
ActualFee: jxutils.StandardPrice2Int(result.Fee), ActualFee: jxutils.StandardPrice2Int(result.Fee),
} }
} }
} else {
err = fmt.Errorf("测试环境不能真正创建运单")
}
} }
} }
return bill, err return bill, err

View File

@@ -164,6 +164,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
"goods_pickup_info": fmt.Sprintf("%s第%d号单", model.VendorChineseNames[order.VendorID], order.OrderSeq), "goods_pickup_info": fmt.Sprintf("%s第%d号单", model.VendorChineseNames[order.VendorID], order.OrderSeq),
"poi_seq": fmt.Sprintf("#%d", order.OrderSeq), "poi_seq": fmt.Sprintf("#%d", order.OrderSeq),
} }
if globals.EnableStoreWrite {
result, err2 := api.MtpsAPI.CreateOrderByShop(billParams, addParams) result, err2 := api.MtpsAPI.CreateOrderByShop(billParams, addParams)
if err = err2; err == nil { if err = err2; err == nil {
globals.SugarLogger.Debugf("CreateWaybill failed, orderID:%s, billParams:%v, addParams:%v, error:%v", order.VendorOrderID, billParams, addParams, err) globals.SugarLogger.Debugf("CreateWaybill failed, orderID:%s, billParams:%v, addParams:%v, error:%v", order.VendorOrderID, billParams, addParams, err)
@@ -176,6 +177,9 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
DesiredFee: deliveryFee, DesiredFee: deliveryFee,
} }
} }
} else {
err = fmt.Errorf("测试环境不能真正创建运单")
}
} }
} }
} }