- refactor.

This commit is contained in:
gazebo
2018-07-12 16:19:47 +08:00
parent 6386f1b6f5
commit 1c6ba2e43a
3 changed files with 20 additions and 27 deletions

View File

@@ -66,7 +66,7 @@ func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *mode
ConsigneeLng: controller.StandardCoordinate2Int(utils.MustInterface2Float64(result["buyerLng"])),
CoordinateType: controller.CoordinateTypeMars,
VendorStatus: msg.StatusID,
OrderCreatedAt: utils.Str2Time(result["orderPurchaseTime"].(string)),
OrderCreatedAt: utils.Str2Time(result["orderStartTime"].(string)),
OriginalData: string(utils.MustMarshal(result)),
}
// discounts := result["discount"].(map[string]interface{})

View File

@@ -90,18 +90,14 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
order.Status = OrderStatusFailed
}
})
err = c.updateOrderOtherInfo(order, db)
if err == nil {
err = c.updateOrderSkuOtherInfo(orderSkus, db)
if err == nil {
if err = c.updateOrderOtherInfo(order, db); err == nil {
if err = c.updateOrderSkuOtherInfo(orderSkus, db); err == nil {
db.Begin()
// globals.SugarLogger.Debugf("new order:%v", order)
order.OrderFinishedAt = DefaultTimeValue
order.ID = 0
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
err = err2
if err == nil {
if err = err2; err == nil {
c.orderMap.Store(ComposeUniversalOrderID(order.VendorOrderID, order.VendorID), order.ID)
if created {
sql := "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price, weight, order_created_at) VALUES"
@@ -111,8 +107,7 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice, order.Weight, order.OrderCreatedAt)
}
sql = sql[:len(sql)-1] + ";"
_, err = db.Raw(sql, params...).Exec()
if err != nil {
if _, err = db.Raw(sql, params...).Exec(); err != nil {
db.Rollback()
baseapi.SugarLogger.Infof("insert order_sku error:%v", err)
} else {
@@ -137,9 +132,10 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, orderSkus []*model
func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
db := orm.NewOrm()
order.Status = OrderStatusAdjust
if isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db); err == nil && !isDuplicated {
isDuplicated, err := addOrderOrWaybillStatus(c.order2Status(order), db)
if err == nil && !isDuplicated {
err = utils.CallFuncLogError(func() error {
_, err := db.Raw("DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
_, err = db.Raw("DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
return err
}, "OnAdjustOrder delete order")
if err != nil {
@@ -147,7 +143,7 @@ func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*mo
}
err = utils.CallFuncLogError(func() error {
_, err := db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
_, err = db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
return err
}, "OnAdjustOrder delete order_sku")
if err != nil {
@@ -158,7 +154,8 @@ func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, orderSkus []*mo
}
func (c *OrderController) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
if isDuplicated, err := c.addOrderStatus(orderStatus, nil); err == nil && !isDuplicated {
isDuplicated, err := c.addOrderStatus(orderStatus, nil)
if err == nil && !isDuplicated {
}
return err
}
@@ -220,7 +217,7 @@ func (c *OrderController) addOrderStatus(orderStatus *model.OrderStatus, db orm.
order.VendorStatus = orderStatus.VendorStatus
utils.CallFuncLogError(func() error {
columns := []string{"Status", "VendorStatus"}
if orderStatus.Status >= OrderStatusDelivered {
if orderStatus.Status >= OrderStatusEndBegin {
order.OrderFinishedAt = orderStatus.StatusTime
columns = append(columns, "OrderFinishedAt")
}
@@ -260,7 +257,6 @@ func (c *OrderController) order2Status(order *model.GoodsOrder) (retVal *model.O
}
//Waybill
func (c *OrderController) OnWaybillStatusChanged(bill *model.Waybill, db orm.Ormer) (err error) {
return c.updateOrderByWaybill(bill, db)
}

View File

@@ -56,8 +56,8 @@ func (w *WaybillController) onWaybillNew(bill *model.Waybill) (err error) {
bill.Status = WaybillStatusNew
bill.WaybillFinishedAt = DefaultTimeValue
bill.ID = 0
created, _, err := db.ReadOrCreate(bill, "VendorWaybillID", "WaybillVendorID")
if err == nil {
created, _, err2 := db.ReadOrCreate(bill, "VendorWaybillID", "WaybillVendorID")
if err = err2; err == nil {
w.WaybillMap.Store(ComposeUniversalOrderID(bill.VendorWaybillID, bill.WaybillVendorID), bill.ID)
if !created {
bill.DuplicatedCount++
@@ -80,10 +80,9 @@ func (w *WaybillController) OnWaybillStatusChanged(bill *model.Waybill) (err err
} else {
db := orm.NewOrm()
isDuplicated, err2 := w.addWaybillStatus(bill, db)
if err2 == nil && !isDuplicated {
err2 = OrderManager.OnWaybillStatusChanged(bill, db)
if err = err2; err == nil && !isDuplicated {
err = OrderManager.OnWaybillStatusChanged(bill, db)
}
err = err2
}
return err
}
@@ -93,8 +92,7 @@ func (w *WaybillController) onWaybillAccepted(bill *model.Waybill) (err error) {
bill.Status = WaybillStatusAccepted
isDuplicated, err := w.addWaybillStatus(bill, db)
if !isDuplicated {
err = w.updateWaybillPKID(bill, db)
if err == nil {
if err = w.updateWaybillPKID(bill, db); err == nil {
utils.CallFuncLogError(func() error {
_, err = db.Update(bill, "CourierName", "CourierMobile")
return err
@@ -119,11 +117,11 @@ func (w *WaybillController) addWaybillStatus(bill *model.Waybill, db orm.Ormer)
bill.VendorStatus = waybillStatus.VendorStatus
utils.CallFuncLogError(func() error {
columns := []string{"Status", "VendorStatus"}
if waybillStatus.Status >= OrderStatusDelivered {
if waybillStatus.Status >= OrderStatusEndBegin {
bill.WaybillFinishedAt = waybillStatus.StatusTime
columns = append(columns, "WaybillFinishedAt")
}
_, err := db.Update(bill, columns...)
_, err = db.Update(bill, columns...)
return err
}, "update waybill")
}
@@ -144,8 +142,7 @@ func (w *WaybillController) waybill2Status(bill *model.Waybill) (retVal *model.O
}
func (w *WaybillController) updateWaybillPKID(bill *model.Waybill, db orm.Ormer) (err error) {
value, ok := w.WaybillMap.Load(ComposeUniversalOrderID(bill.VendorWaybillID, bill.WaybillVendorID))
if !ok {
if value, ok := w.WaybillMap.Load(ComposeUniversalOrderID(bill.VendorWaybillID, bill.WaybillVendorID)); !ok {
err = db.Read(bill, "VendorWaybillID", "WaybillVendorID")
// todo 这里应该要报警,但测试阶段先去掉
// utils.CallFuncLogError(func() error {