diff --git a/client/order.go b/client/order.go index 4379747..5400f52 100644 --- a/client/order.go +++ b/client/order.go @@ -50,3 +50,19 @@ func (o Order) CancelDelivery(p model.OrderCancelDelivery) error { } return nil } + +// ChangeDeliveryStatus ... +func (o Order) ChangeDeliveryStatus(p model.OrderChangeDeliveryStatus) error { + msg, err := natsio.GetServer().Request(subject.Order.ChangeDeliveryStatus, toBytes(p)) + if err != nil { + return err + } + var r model.CommonResponseData + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} diff --git a/model/common_request.go b/model/common_request.go index 4d6a719..0ce5163 100644 --- a/model/common_request.go +++ b/model/common_request.go @@ -15,3 +15,8 @@ type DistinctWithField struct { Conditions interface{} `json:"conditions"` Filed string `json:"filed"` } + +type ActionBy struct { + ID string `json:"id"` + Name string `json:"name"` +} diff --git a/model/order_request.go b/model/order_request.go index f8dfde0..553d870 100644 --- a/model/order_request.go +++ b/model/order_request.go @@ -13,3 +13,10 @@ type OrderUpdateORStatus struct { type OrderCancelDelivery struct { OrderID string `json:"orderId"` } + +// OrderChangeDeliveryStatus ... +type OrderChangeDeliveryStatus struct { + OrderID string `json:"orderId"` + DeliveryStatus string `json:"deliveryStatus"` + ActionBy ActionBy `json:"actionBy"` +} diff --git a/subject/order.go b/subject/order.go index 309f76f..7ba7886 100644 --- a/subject/order.go +++ b/subject/order.go @@ -7,9 +7,11 @@ func getOrderValue(val string) string { } var Order = struct { - UpdateORStatus string - CancelDelivery string + UpdateORStatus string + CancelDelivery string + ChangeDeliveryStatus string }{ - UpdateORStatus: getOrderValue("update_outbound_request_status"), - CancelDelivery: getOrderValue("cancel_delivery"), + UpdateORStatus: getOrderValue("update_outbound_request_status"), + CancelDelivery: getOrderValue("cancel_delivery"), + ChangeDeliveryStatus: getOrderValue("change_delivery_status"), }