mergeDev/campaign #73
|
@ -98,3 +98,24 @@ func (o Order) ORNotUpdateStatus(p model.OrderORsNotUpdateStatus) error {
|
||||||
}
|
}
|
||||||
return nil
|
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 (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"git.selly.red/Selly-Modules/natsio"
|
"git.selly.red/Selly-Modules/natsio"
|
||||||
"git.selly.red/Selly-Modules/natsio/model"
|
"git.selly.red/Selly-Modules/natsio/model"
|
||||||
|
@ -163,3 +164,21 @@ func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWareho
|
||||||
}
|
}
|
||||||
return r.Data, nil
|
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 ...
|
// OrderUpdateORStatus ...
|
||||||
type OrderUpdateORStatus struct {
|
type OrderUpdateORStatus struct {
|
||||||
|
ID string `json:"id"`
|
||||||
OrderCode string `json:"orderCode"`
|
OrderCode string `json:"orderCode"`
|
||||||
ORCode string `json:"orCode"`
|
ORCode string `json:"orCode"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
|
@ -38,3 +39,13 @@ type OrderUpdateLogisticInfoFailed struct {
|
||||||
type OrderORsNotUpdateStatus struct {
|
type OrderORsNotUpdateStatus struct {
|
||||||
ORCodes []string `json:"orCodes"`
|
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 ...
|
// OutboundRequestPayload ...
|
||||||
type OutboundRequestPayload struct {
|
type OutboundRequestPayload struct {
|
||||||
OrderID string `json:"orderId"`
|
OrderID string `json:"orderId"`
|
||||||
OrderCode string `json:"orderCode"`
|
OrderCode string `json:"orderCode"`
|
||||||
TrackingCode string `json:"trackingCode"`
|
TrackingCode string `json:"trackingCode"`
|
||||||
WarehouseID string `json:"warehouseId"`
|
WarehouseID string `json:"warehouseId"`
|
||||||
SupplierID string `json:"supplierId"`
|
SupplierID string `json:"supplierId"`
|
||||||
Note string `json:"note"`
|
Note string `json:"note"`
|
||||||
CODAmount float64 `json:"codAmount"`
|
CODAmount float64 `json:"codAmount"`
|
||||||
TPLCode string `json:"tplCode"`
|
TPLCode string `json:"tplCode"`
|
||||||
Customer CustomerInfo `json:"customer"`
|
Customer CustomerInfo `json:"customer"`
|
||||||
Items []OutboundRequestItem `json:"items"`
|
Items []OutboundRequestItem `json:"items"`
|
||||||
Insurance *InsuranceOpts `json:"insurance"`
|
Insurance *InsuranceOpts `json:"insurance"`
|
||||||
|
PaymentMethod string `json:"paymentMethod"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// InsuranceOpts ...
|
// InsuranceOpts ...
|
||||||
|
@ -36,9 +37,11 @@ type InsuranceOpts struct {
|
||||||
|
|
||||||
// OutboundRequestItem ...
|
// OutboundRequestItem ...
|
||||||
type OutboundRequestItem struct {
|
type OutboundRequestItem struct {
|
||||||
SupplierSKU string `json:"supplierSKU"`
|
SupplierSKU string `json:"supplierSKU"`
|
||||||
Quantity int64 `json:"quantity"`
|
Quantity int64 `json:"quantity"`
|
||||||
UnitCode string `json:"unitCode"`
|
UnitCode string `json:"unitCode"`
|
||||||
|
Price float64 `json:"price"`
|
||||||
|
Name string `json:"name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// CustomerInfo ...
|
// CustomerInfo ...
|
||||||
|
@ -63,18 +66,22 @@ type UpdateOutboundRequestLogisticInfoPayload struct {
|
||||||
ShippingLabel string `json:"shippingLabel"`
|
ShippingLabel string `json:"shippingLabel"`
|
||||||
TrackingCode string `json:"trackingCode"`
|
TrackingCode string `json:"trackingCode"`
|
||||||
ORCode string `json:"orCode"`
|
ORCode string `json:"orCode"`
|
||||||
|
TPLCode string `json:"tplCode"`
|
||||||
|
OrderID string `json:"orderId"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// CancelOutboundRequest ...
|
// CancelOutboundRequest ...
|
||||||
type CancelOutboundRequest struct {
|
type CancelOutboundRequest struct {
|
||||||
ORCode string `json:"orCode"`
|
ORCode string `json:"orCode"`
|
||||||
Note string `json:"note"`
|
OrderID string `json:"orderId"`
|
||||||
|
Note string `json:"note"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SyncORStatusRequest ...
|
// SyncORStatusRequest ...
|
||||||
type SyncORStatusRequest struct {
|
type SyncORStatusRequest struct {
|
||||||
ORCode string `json:"orCode"`
|
ORCode string `json:"orCode"`
|
||||||
OrderCode string `json:"orderCode"`
|
OrderCode string `json:"orderCode"`
|
||||||
|
OrderID string `json:"orderId"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateSupplierIsClosedRequest ...
|
// UpdateSupplierIsClosedRequest ...
|
||||||
|
@ -98,3 +105,11 @@ type GetWarehousesRequest struct {
|
||||||
Page int64 `json:"page"`
|
Page int64 `json:"page"`
|
||||||
Limit int64 `json:"limit"`
|
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
|
ChangeDeliveryStatus string
|
||||||
UpdateLogisticInfoFailed string
|
UpdateLogisticInfoFailed string
|
||||||
ORNotUpdateStatus string
|
ORNotUpdateStatus string
|
||||||
|
GetSupplierOrders string
|
||||||
}{
|
}{
|
||||||
UpdateORStatus: getOrderValue("update_outbound_request_status"),
|
UpdateORStatus: getOrderValue("update_outbound_request_status"),
|
||||||
CancelDelivery: getOrderValue("cancel_delivery"),
|
CancelDelivery: getOrderValue("cancel_delivery"),
|
||||||
ChangeDeliveryStatus: getOrderValue("change_delivery_status"),
|
ChangeDeliveryStatus: getOrderValue("change_delivery_status"),
|
||||||
UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
|
UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
|
||||||
ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"),
|
ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"),
|
||||||
|
GetSupplierOrders: getOrderValue("get_supplier_orders"),
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,37 +9,41 @@ func getWarehouseValue(val string) string {
|
||||||
var Warehouse = struct {
|
var Warehouse = struct {
|
||||||
CreateWarehouseIntoServiceSupplier string
|
CreateWarehouseIntoServiceSupplier string
|
||||||
UpdateWarehouseIntoServiceSupplier string
|
UpdateWarehouseIntoServiceSupplier string
|
||||||
CreateOutboundRequest string
|
CreateOutboundRequest string
|
||||||
UpdateOutboundRequestLogistic string
|
UpdateOutboundRequestLogistic string
|
||||||
CancelOutboundRequest string
|
CancelOutboundRequest string
|
||||||
GetConfiguration string
|
GetConfiguration string
|
||||||
SyncORStatus string
|
SyncORStatus string
|
||||||
WebhookTNC string
|
WebhookTNC string
|
||||||
WebhookGlobalCare string
|
WebhookGlobalCare string
|
||||||
FindOne string
|
WebhookOnPoint string
|
||||||
FindByCondition string
|
FindOne string
|
||||||
Distinct string
|
FindByCondition string
|
||||||
Count string
|
Distinct string
|
||||||
AfterUpdateWarehouse string
|
Count string
|
||||||
AfterCreateWarehouse string
|
AfterUpdateWarehouse string
|
||||||
UpdateIsClosedSupplier string
|
AfterCreateWarehouse string
|
||||||
GetWarehouses string
|
UpdateIsClosedSupplier string
|
||||||
|
GetWarehouses string
|
||||||
|
UpdateORDeliveryStatus string
|
||||||
}{
|
}{
|
||||||
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
|
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
|
||||||
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
|
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
|
||||||
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
|
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
|
||||||
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
|
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
|
||||||
CreateOutboundRequest: getWarehouseValue("create_outbound_request"),
|
CreateOutboundRequest: getWarehouseValue("create_outbound_request"),
|
||||||
UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"),
|
UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"),
|
||||||
CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),
|
CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),
|
||||||
GetConfiguration: getWarehouseValue("get_configuration"),
|
GetConfiguration: getWarehouseValue("get_configuration"),
|
||||||
SyncORStatus: getWarehouseValue("sync_or_status"),
|
SyncORStatus: getWarehouseValue("sync_or_status"),
|
||||||
WebhookTNC: getWarehouseValue("webhook_tnc"),
|
WebhookTNC: getWarehouseValue("webhook_tnc"),
|
||||||
WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
|
WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
|
||||||
FindOne: getWarehouseValue("find_one"),
|
WebhookOnPoint: getWarehouseValue("webhook_on_point"),
|
||||||
FindByCondition: getWarehouseValue("find_all_by_condition"),
|
FindOne: getWarehouseValue("find_one"),
|
||||||
Distinct: getWarehouseValue("distinct"),
|
FindByCondition: getWarehouseValue("find_all_by_condition"),
|
||||||
Count: getWarehouseValue("count"),
|
Distinct: getWarehouseValue("distinct"),
|
||||||
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"),
|
Count: getWarehouseValue("count"),
|
||||||
GetWarehouses: getWarehouseValue("get_warehouses"),
|
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"),
|
||||||
|
GetWarehouses: getWarehouseValue("get_warehouses"),
|
||||||
|
UpdateORDeliveryStatus: getWarehouseValue("update_or_delivery_status"),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue