viettel-ffm #19

Merged
sinhluu merged 10 commits from viettel-ffm into master 2024-07-11 03:04:15 +00:00
2 changed files with 37 additions and 2 deletions
Showing only changes of commit 178652fcef - Show all commits

View File

@ -16,6 +16,10 @@ type UpdateLogisticInfoPayload struct {
TrackingCode string `json:"tracking_code"`
}
type CancelORPayload struct {
OrID int `json:"or_id"`
}
type ORPayload struct {
OrProductLines []ORProductLine `json:"or_product_lines"`
AmountPaid float64 `json:"amount_paid"`

View File

@ -27,6 +27,7 @@ const (
pathAuth = "/realms/wms/protocol/openid-connect/token"
pathUpdateORLogisticInfo = "/wms-core/api/v1/obms/outbound-request/outbound-request-partner/%s/bill"
pathCreateOR = "/wms-core/api/v1/obms/outbound-request/outbound-request-partner"
pathCancelOR = "/wms-core/api/v1/obms/outbound-request/cancel"
logTarget = "viettel-ffm"
)
@ -96,12 +97,42 @@ func (c *Client) CreateOR(p ORPayload) (*ORResult, error) {
return &data, nil
}
func (c *Client) UpdateOutboundRequestLogisticInfo(p UpdateLogisticInfoPayload) error {
func (c *Client) UpdateORLogisticInfo(p UpdateLogisticInfoPayload) error {
apiURL := c.getBaseURL() + pathUpdateORLogisticInfo
token, err := c.getToken()
if err != nil {
return err
}
natsPayload := model.CommunicationRequestHttp{
ResponseImmediately: true,
Payload: model.HttpRequest{
URL: apiURL,
Method: http.MethodPut,
Data: pjson.ToJSONString(p),
Header: map[string]string{
httputil.HeaderKeyAuthorization: fmt.Sprintf("Bearer %s", token),
httputil.HeaderKeyContentType: httputil.HeaderValueApplicationJSON,
},
},
LogTarget: logTarget,
}
r, err := c.requestHttpViaNats(natsPayload)
if err != nil {
return err
}
res := r.Response
if res.StatusCode >= http.StatusBadRequest {
return fmt.Errorf("viettelffm.Client.UpdateOutboundRequestLogisticInfo - requestHttpViaNats %s", res.Body)
}
return nil
}
func (c *Client) CancelOR(p CancelORPayload) error {
apiURL := c.getBaseURL() + pathCancelOR
token, err := c.getToken()
if err != nil {
return err
}
natsPayload := model.CommunicationRequestHttp{
ResponseImmediately: true,
Payload: model.HttpRequest{
@ -121,7 +152,7 @@ func (c *Client) UpdateOutboundRequestLogisticInfo(p UpdateLogisticInfoPayload)
}
res := r.Response
if res.StatusCode >= http.StatusBadRequest {
return fmt.Errorf("viettelffm.Client.UpdateOutboundRequestLogisticInfo - requestHttpViaNats %s", res.Body)
return fmt.Errorf("viettelffm.Client.CancelOR - requestHttpViaNats %s", res.Body)
}
return nil
}