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