From 1c6ba2e43a03c9723451921b27156482c8ce3674 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 12 Jul 2018 16:19:47 +0800 Subject: [PATCH] - refactor. --- business/controller/jd/order.go | 2 +- business/controller/order.go | 26 +++++++++++--------------- business/controller/waybill.go | 19 ++++++++----------- 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/business/controller/jd/order.go b/business/controller/jd/order.go index 7042a1399..032fe0ef7 100644 --- a/business/controller/jd/order.go +++ b/business/controller/jd/order.go @@ -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{}) diff --git a/business/controller/order.go b/business/controller/order.go index ab92e41b8..c9f2b6b17 100644 --- a/business/controller/order.go +++ b/business/controller/order.go @@ -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) } diff --git a/business/controller/waybill.go b/business/controller/waybill.go index ab076153e..eeab584ee 100644 --- a/business/controller/waybill.go +++ b/business/controller/waybill.go @@ -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 {