| | |
| | | //@param: id uint |
| | | //@return: err error |
| | | |
| | | func (slf *PurchaseService) Submit(id uint) (err error) { |
| | | func (slf *PurchaseService) Submit(id int, status purchase.OrderStatus) (err error) { |
| | | |
| | | purchaseData, err := slf.GetPurchase(id) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | var targetStatus purchase.OrderStatus |
| | | switch purchaseData.Status { |
| | | case purchase.OrderStatusConfirmed: |
| | | targetStatus = purchase.OrderStatusReceived |
| | | case purchase.OrderStatusReceived: |
| | | targetStatus = purchase.OrderStatusStored |
| | | case purchase.OrderStatusStored: |
| | | targetStatus = purchase.OrderStatusCompleted |
| | | } |
| | | //purchaseData, err := slf.GetPurchase(id) |
| | | //if err != nil { |
| | | // return err |
| | | //} |
| | | //var targetStatus purchase.OrderStatus |
| | | //switch purchaseData.Status { |
| | | //case purchase.OrderStatusConfirmed: |
| | | // targetStatus = purchase.OrderStatusReceived |
| | | //case purchase.OrderStatusReceived: |
| | | // targetStatus = purchase.OrderStatusStored |
| | | //case purchase.OrderStatusStored: |
| | | // targetStatus = purchase.OrderStatusCompleted |
| | | //} |
| | | err = global.GVA_DB.Transaction(func(tx *gorm.DB) error { |
| | | err = tx.Where("id = ?", id).Model(&purchase.Purchase{}).Updates(map[string]interface{}{"status": targetStatus}).Error |
| | | err = tx.Where("id = ?", id).Model(&purchase.Purchase{}).Updates(map[string]interface{}{"status": status}).Error |
| | | if err != nil { |
| | | return err |
| | | } |
| | | |
| | | switch targetStatus { |
| | | case purchase.OrderStatusReceived: |
| | | return SendInspect(purchaseData) |
| | | case purchase.OrderStatusStored: |
| | | case purchase.OrderStatusCompleted: |
| | | } |
| | | //switch targetStatus { |
| | | //case purchase.OrderStatusReceived: |
| | | // return SendInspect(purchaseData) |
| | | //case purchase.OrderStatusStored: |
| | | //case purchase.OrderStatusCompleted: |
| | | //} |
| | | return nil |
| | | }) |
| | | return err |