refactor-location #134
			
				
			
		
		
		
	|  | @ -98,3 +98,24 @@ func (o Order) ORNotUpdateStatus(p model.OrderORsNotUpdateStatus) error { | |||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // GetSupplierOrders ...
 | ||||
| func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrderList, error) { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Order.GetSupplierOrders, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	var ( | ||||
| 		r struct { | ||||
| 			Data  model.SupplierOrderList `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 | ||||
| } | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ package client | |||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 
 | ||||
| 	"git.selly.red/Selly-Modules/natsio" | ||||
| 	"git.selly.red/Selly-Modules/natsio/model" | ||||
|  | @ -163,3 +164,21 @@ func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWareho | |||
| 	} | ||||
| 	return r.Data, nil | ||||
| } | ||||
| 
 | ||||
| // UpdateORDeliveryStatus ...
 | ||||
| func (w Warehouse) UpdateORDeliveryStatus(p model.WarehouseORUpdateDeliveryStatus) error { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	var r struct { | ||||
| 		Error string `json:"error"` | ||||
| 	} | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return fmt.Errorf("nats: update_or_delivery_status %v", err) | ||||
| 	} | ||||
| 	if r.Error != "" { | ||||
| 		return errors.New(r.Error) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ package model | |||
| 
 | ||||
| // OrderUpdateORStatus ...
 | ||||
| type OrderUpdateORStatus struct { | ||||
| 	ID             string      `json:"id"` | ||||
| 	OrderCode      string      `json:"orderCode"` | ||||
| 	ORCode         string      `json:"orCode"` | ||||
| 	Status         string      `json:"status"` | ||||
|  | @ -38,3 +39,13 @@ type OrderUpdateLogisticInfoFailed struct { | |||
| type OrderORsNotUpdateStatus struct { | ||||
| 	ORCodes []string `json:"orCodes"` | ||||
| } | ||||
| 
 | ||||
| // OrderSupplierQuery ...
 | ||||
| type OrderSupplierQuery struct { | ||||
| 	Limit        int64    `json:"limit"` | ||||
| 	Page         int64    `json:"page"` | ||||
| 	FromDate     string   `json:"fromDate"` | ||||
| 	ToDate       string   `json:"toDate"` | ||||
| 	SupplierID   string   `json:"supplierId"` | ||||
| 	WarehouseIDs []string `json:"warehouseIDs"` | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,35 @@ | |||
| package model | ||||
| 
 | ||||
| import "time" | ||||
| 
 | ||||
| // SupplierOrderList ...
 | ||||
| type SupplierOrderList struct { | ||||
| 	List  []SupplierOrder `json:"list"` | ||||
| 	Total int64           `json:"total" example:"100"` | ||||
| 	Limit int64           `json:"limit" example:"20"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrder ...
 | ||||
| type SupplierOrder struct { | ||||
| 	ID              string                `json:"_id"` | ||||
| 	Code            string                `json:"code"` | ||||
| 	CreatedAt       time.Time             `json:"createdAt"` | ||||
| 	Status          string                `json:"status"` | ||||
| 	WarehouseStatus string                `json:"warehouseStatus"` | ||||
| 	Items           []SupplierOrderItem   `json:"items"` | ||||
| 	Delivery        SupplierOrderDelivery `json:"delivery"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrderItem ...
 | ||||
| type SupplierOrderItem struct { | ||||
| 	ID          string `json:"_id" example:"1231"` | ||||
| 	SupplierSKU string `json:"supplierSku" example:"SUPPLIER_SKU"` | ||||
| 	Quantity    int64  `json:"quantity" example:"2"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrderDelivery ...
 | ||||
| type SupplierOrderDelivery struct { | ||||
| 	Code    string `json:"code" example:"123187287"` | ||||
| 	Status  string `json:"status" enums:"waiting_to_confirm,waiting_to_pick,picking,picked,delay_pickup,pickup_failed,delivering,delay_delivery,delivered,cancelled,delivery_failed,waiting_to_return,returning,delay_return,compensation,returned"` | ||||
| 	TPLCode string `json:"tplCode" enums:"SLY,GHTK,GHN,SSC,SPY,VTP,SE,NTL,BEST"` | ||||
| } | ||||
|  | @ -13,6 +13,7 @@ type OutboundRequestPayload struct { | |||
| 	Customer      CustomerInfo          `json:"customer"` | ||||
| 	Items         []OutboundRequestItem `json:"items"` | ||||
| 	Insurance     *InsuranceOpts        `json:"insurance"` | ||||
| 	PaymentMethod string                `json:"paymentMethod"` | ||||
| } | ||||
| 
 | ||||
| // InsuranceOpts ...
 | ||||
|  | @ -39,6 +40,8 @@ type OutboundRequestItem struct { | |||
| 	SupplierSKU string  `json:"supplierSKU"` | ||||
| 	Quantity    int64   `json:"quantity"` | ||||
| 	UnitCode    string  `json:"unitCode"` | ||||
| 	Price       float64 `json:"price"` | ||||
| 	Name        string  `json:"name"` | ||||
| } | ||||
| 
 | ||||
| // CustomerInfo ...
 | ||||
|  | @ -63,11 +66,14 @@ type UpdateOutboundRequestLogisticInfoPayload struct { | |||
| 	ShippingLabel string `json:"shippingLabel"` | ||||
| 	TrackingCode  string `json:"trackingCode"` | ||||
| 	ORCode        string `json:"orCode"` | ||||
| 	TPLCode       string `json:"tplCode"` | ||||
| 	OrderID       string `json:"orderId"` | ||||
| } | ||||
| 
 | ||||
| // CancelOutboundRequest ...
 | ||||
| type CancelOutboundRequest struct { | ||||
| 	ORCode  string `json:"orCode"` | ||||
| 	OrderID string `json:"orderId"` | ||||
| 	Note    string `json:"note"` | ||||
| } | ||||
| 
 | ||||
|  | @ -75,6 +81,7 @@ type CancelOutboundRequest struct { | |||
| type SyncORStatusRequest struct { | ||||
| 	ORCode    string `json:"orCode"` | ||||
| 	OrderCode string `json:"orderCode"` | ||||
| 	OrderID   string `json:"orderId"` | ||||
| } | ||||
| 
 | ||||
| // UpdateSupplierIsClosedRequest ...
 | ||||
|  | @ -98,3 +105,11 @@ type GetWarehousesRequest struct { | |||
| 	Page  int64 `json:"page"` | ||||
| 	Limit int64 `json:"limit"` | ||||
| } | ||||
| 
 | ||||
| // WarehouseORUpdateDeliveryStatus ...
 | ||||
| type WarehouseORUpdateDeliveryStatus struct { | ||||
| 	ORCode         string `json:"orCode"` | ||||
| 	OrderCode      string `json:"orderCode"` | ||||
| 	OrderID        string `json:"orderId"` | ||||
| 	DeliveryStatus string `json:"deliveryStatus"` | ||||
| } | ||||
|  |  | |||
|  | @ -12,10 +12,12 @@ var Order = struct { | |||
| 	ChangeDeliveryStatus     string | ||||
| 	UpdateLogisticInfoFailed string | ||||
| 	ORNotUpdateStatus        string | ||||
| 	GetSupplierOrders        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"), | ||||
| } | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ var Warehouse = struct { | |||
| 	SyncORStatus                       string | ||||
| 	WebhookTNC                         string | ||||
| 	WebhookGlobalCare                  string | ||||
| 	WebhookOnPoint                     string | ||||
| 	FindOne                            string | ||||
| 	FindByCondition                    string | ||||
| 	Distinct                           string | ||||
|  | @ -24,6 +25,7 @@ var Warehouse = struct { | |||
| 	AfterCreateWarehouse               string | ||||
| 	UpdateIsClosedSupplier             string | ||||
| 	GetWarehouses                      string | ||||
| 	UpdateORDeliveryStatus             string | ||||
| }{ | ||||
| 	CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"), | ||||
| 	UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"), | ||||
|  | @ -36,10 +38,12 @@ var Warehouse = struct { | |||
| 	SyncORStatus:                       getWarehouseValue("sync_or_status"), | ||||
| 	WebhookTNC:                         getWarehouseValue("webhook_tnc"), | ||||
| 	WebhookGlobalCare:                  getWarehouseValue("webhook_global_care"), | ||||
| 	WebhookOnPoint:                     getWarehouseValue("webhook_on_point"), | ||||
| 	FindOne:                            getWarehouseValue("find_one"), | ||||
| 	FindByCondition:                    getWarehouseValue("find_all_by_condition"), | ||||
| 	Distinct:                           getWarehouseValue("distinct"), | ||||
| 	Count:                              getWarehouseValue("count"), | ||||
| 	UpdateIsClosedSupplier:             getWarehouseValue("update_is_closed_supplier"), | ||||
| 	GetWarehouses:                      getWarehouseValue("get_warehouses"), | ||||
| 	UpdateORDeliveryStatus:             getWarehouseValue("update_or_delivery_status"), | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue