diff --git a/client/warehouse.go b/client/warehouse.go index ed19faf..6c04925 100644 --- a/client/warehouse.go +++ b/client/warehouse.go @@ -17,6 +17,42 @@ func GetWarehouse() Warehouse { return Warehouse{} } +// AfterCreateWarehouse ... +func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error { + msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p)) + if err != nil { + return err + } + var r struct { + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} + +// AfterUpdateWarehouse ... +func (w Warehouse) AfterUpdateWarehouse(p model.WarehouseNatsResponse) error { + msg, err := natsio.GetServer().Request(subject.Warehouse.AfterUpdateWarehouse, toBytes(p)) + if err != nil { + return err + } + var r struct { + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} + // CreateOutboundRequest ... func (w Warehouse) CreateOutboundRequest(p model.OutboundRequestPayload) (*model.OutboundRequestResponse, error) { msg, err := natsio.GetServer().Request(subject.Warehouse.CreateOutboundRequest, toBytes(p)) diff --git a/subject/warehouse.go b/subject/warehouse.go index d4f8c53..73c5334 100644 --- a/subject/warehouse.go +++ b/subject/warehouse.go @@ -15,7 +15,11 @@ var Warehouse = struct { FindByCondition string Distinct string Count string + AfterUpdateWarehouse string + AfterCreateWarehouse string }{ + AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"), + AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"), CreateOutboundRequest: getWarehouseValue("create_outbound_request"), UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"), CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),