- refactor.
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user