diff --git a/client/order.go b/client/order.go index a49c68b..c75a513 100644 --- a/client/order.go +++ b/client/order.go @@ -140,3 +140,22 @@ func (o Order) GetSupplierCash(p model.OrderSupplierCashReq) (*model.OrderSuppli } return &r.Data, nil } + +// GetUserTotalWarningOrder ... +func (o Order) GetUserTotalWarningOrder(p model.OrderGetTotalWarningPayload) (*model.OrderGetTotalWarningRes, error) { + msg, err := natsio.GetServer().Request(subject.Order.GetUserTotalWarningOrders, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Data model.OrderGetTotalWarningRes `json:"data"` + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return nil, err + } + if r.Error != "" { + return nil, errors.New(r.Error) + } + return &r.Data, nil +} diff --git a/client/socket.go b/client/socket.go index 6c0a125..5ea589f 100644 --- a/client/socket.go +++ b/client/socket.go @@ -19,3 +19,9 @@ func (s Socket) EmitSocketEventDataReward(p model.PayloadEmitSocketEvent) error _, err := natsio.GetServer().Request(subject.Socket.EmitEventReward, toBytes(p)) return err } + +// EmitEventToUser ... +func (s Socket) EmitEventToUser(p model.PayloadEmitSocketEvent) error { + _, err := natsio.GetServer().Request(subject.Socket.EmitEventToUser, toBytes(p)) + return err +} diff --git a/model/order_request.go b/model/order_request.go index a0ff6ee..7e2dd27 100644 --- a/model/order_request.go +++ b/model/order_request.go @@ -53,3 +53,7 @@ type OrderSupplierQuery struct { type OrderSupplierCashReq struct { SupplierID string `json:"supplierId"` } + +type OrderGetTotalWarningPayload struct { + UserID string `json:"userId"` +} diff --git a/model/order_response.go b/model/order_response.go index 59b80d3..29ee5d3 100644 --- a/model/order_response.go +++ b/model/order_response.go @@ -39,3 +39,9 @@ type OrderSupplierCashRes struct { WaitingForReconcileCash float64 `json:"waitingForReconcileCash"` ReconciledCash float64 `json:"reconciledCash"` } + +// OrderGetTotalWarningRes ... +type OrderGetTotalWarningRes struct { + UserID string `json:"userId"` + TotalWarningOrders int64 `json:"totalWarningOrders"` +} diff --git a/subject/order.go b/subject/order.go index e24e193..f125e36 100644 --- a/subject/order.go +++ b/subject/order.go @@ -7,19 +7,21 @@ func getOrderValue(val string) string { } var Order = struct { - UpdateORStatus string - CancelDelivery string - ChangeDeliveryStatus string - UpdateLogisticInfoFailed string - ORNotUpdateStatus string - GetSupplierOrders string - GetSupplierCash string + UpdateORStatus string + GetUserTotalWarningOrders string + CancelDelivery string + ChangeDeliveryStatus string + UpdateLogisticInfoFailed string + ORNotUpdateStatus string + GetSupplierOrders string + GetSupplierCash string }{ - UpdateORStatus: getOrderValue("update_outbound_request_status"), - CancelDelivery: getOrderValue("cancel_delivery"), - ChangeDeliveryStatus: getOrderValue("change_delivery_status"), - UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), - ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"), - GetSupplierOrders: getOrderValue("get_supplier_orders"), - GetSupplierCash: getOrderValue("get_supplier_cash"), + UpdateORStatus: getOrderValue("update_outbound_request_status"), + GetUserTotalWarningOrders: getOrderValue("get_user_total_warning_orders"), + CancelDelivery: getOrderValue("cancel_delivery"), + ChangeDeliveryStatus: getOrderValue("change_delivery_status"), + UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), + ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"), + GetSupplierOrders: getOrderValue("get_supplier_orders"), + GetSupplierCash: getOrderValue("get_supplier_cash"), } diff --git a/subject/socket.go b/subject/socket.go index dae77c1..7a51789 100644 --- a/subject/socket.go +++ b/subject/socket.go @@ -9,6 +9,8 @@ func getSocketValue(val string) string { // Socket ... var Socket = struct { EmitEventReward string + EmitEventToUser string }{ EmitEventReward: getSocketValue("emit_event_reward"), + EmitEventToUser: "send_message_to_socket", }