mergeDev/campaign #73
|
@ -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"`
|
||||
}
|
|
@ -2,17 +2,18 @@ package model
|
|||
|
||||
// OutboundRequestPayload ...
|
||||
type OutboundRequestPayload struct {
|
||||
OrderID string `json:"orderId"`
|
||||
OrderCode string `json:"orderCode"`
|
||||
TrackingCode string `json:"trackingCode"`
|
||||
WarehouseID string `json:"warehouseId"`
|
||||
SupplierID string `json:"supplierId"`
|
||||
Note string `json:"note"`
|
||||
CODAmount float64 `json:"codAmount"`
|
||||
TPLCode string `json:"tplCode"`
|
||||
Customer CustomerInfo `json:"customer"`
|
||||
Items []OutboundRequestItem `json:"items"`
|
||||
Insurance *InsuranceOpts `json:"insurance"`
|
||||
OrderID string `json:"orderId"`
|
||||
OrderCode string `json:"orderCode"`
|
||||
TrackingCode string `json:"trackingCode"`
|
||||
WarehouseID string `json:"warehouseId"`
|
||||
SupplierID string `json:"supplierId"`
|
||||
Note string `json:"note"`
|
||||
CODAmount float64 `json:"codAmount"`
|
||||
TPLCode string `json:"tplCode"`
|
||||
Customer CustomerInfo `json:"customer"`
|
||||
Items []OutboundRequestItem `json:"items"`
|
||||
Insurance *InsuranceOpts `json:"insurance"`
|
||||
PaymentMethod string `json:"paymentMethod"`
|
||||
}
|
||||
|
||||
// InsuranceOpts ...
|
||||
|
@ -36,9 +37,11 @@ type InsuranceOpts struct {
|
|||
|
||||
// OutboundRequestItem ...
|
||||
type OutboundRequestItem struct {
|
||||
SupplierSKU string `json:"supplierSKU"`
|
||||
Quantity int64 `json:"quantity"`
|
||||
UnitCode string `json:"unitCode"`
|
||||
SupplierSKU string `json:"supplierSKU"`
|
||||
Quantity int64 `json:"quantity"`
|
||||
UnitCode string `json:"unitCode"`
|
||||
Price float64 `json:"price"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// CustomerInfo ...
|
||||
|
@ -63,18 +66,22 @@ 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"`
|
||||
Note string `json:"note"`
|
||||
ORCode string `json:"orCode"`
|
||||
OrderID string `json:"orderId"`
|
||||
Note string `json:"note"`
|
||||
}
|
||||
|
||||
// SyncORStatusRequest ...
|
||||
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"),
|
||||
}
|
||||
|
|
|
@ -9,37 +9,41 @@ func getWarehouseValue(val string) string {
|
|||
var Warehouse = struct {
|
||||
CreateWarehouseIntoServiceSupplier string
|
||||
UpdateWarehouseIntoServiceSupplier string
|
||||
CreateOutboundRequest string
|
||||
UpdateOutboundRequestLogistic string
|
||||
CancelOutboundRequest string
|
||||
GetConfiguration string
|
||||
SyncORStatus string
|
||||
WebhookTNC string
|
||||
WebhookGlobalCare string
|
||||
FindOne string
|
||||
FindByCondition string
|
||||
Distinct string
|
||||
Count string
|
||||
AfterUpdateWarehouse string
|
||||
AfterCreateWarehouse string
|
||||
UpdateIsClosedSupplier string
|
||||
GetWarehouses string
|
||||
CreateOutboundRequest string
|
||||
UpdateOutboundRequestLogistic string
|
||||
CancelOutboundRequest string
|
||||
GetConfiguration string
|
||||
SyncORStatus string
|
||||
WebhookTNC string
|
||||
WebhookGlobalCare string
|
||||
WebhookOnPoint string
|
||||
FindOne string
|
||||
FindByCondition string
|
||||
Distinct string
|
||||
Count string
|
||||
AfterUpdateWarehouse string
|
||||
AfterCreateWarehouse string
|
||||
UpdateIsClosedSupplier string
|
||||
GetWarehouses string
|
||||
UpdateORDeliveryStatus string
|
||||
}{
|
||||
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
|
||||
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
|
||||
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"),
|
||||
GetConfiguration: getWarehouseValue("get_configuration"),
|
||||
SyncORStatus: getWarehouseValue("sync_or_status"),
|
||||
WebhookTNC: getWarehouseValue("webhook_tnc"),
|
||||
WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
|
||||
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"),
|
||||
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"),
|
||||
GetConfiguration: getWarehouseValue("get_configuration"),
|
||||
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