integrate-onpoint #54
|
@ -0,0 +1,36 @@
|
||||||
|
package client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"github.com/Selly-Modules/natsio"
|
||||||
|
"github.com/Selly-Modules/natsio/model"
|
||||||
|
"github.com/Selly-Modules/natsio/subject"
|
||||||
|
)
|
||||||
|
|
||||||
|
// News ...
|
||||||
|
type News struct{}
|
||||||
|
|
||||||
|
// GetNews ...
|
||||||
|
func GetNews() News {
|
||||||
|
return News{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetProductNoticesByInventory ...
|
||||||
|
func (n News) GetProductNoticesByInventory(p model.GetProductNoticesByInventoryRequest) (*model.GetProductNoticesByInventoryResponse, error) {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.News.GetProductNoticesByInventory, toBytes(p))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var r struct {
|
||||||
|
Data *model.GetProductNoticesByInventoryResponse `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
|
||||||
|
}
|
|
@ -0,0 +1,88 @@
|
||||||
|
package client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
"github.com/Selly-Modules/natsio"
|
||||||
|
"github.com/Selly-Modules/natsio/model"
|
||||||
|
"github.com/Selly-Modules/natsio/subject"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Seller ...
|
||||||
|
type Seller struct{}
|
||||||
|
|
||||||
|
// GetSeller ...
|
||||||
|
func GetSeller() Seller {
|
||||||
|
return Seller{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSellerInfoByID ...
|
||||||
|
func (s Seller) GetSellerInfoByID(p model.GetSellerByIDRequest) (*model.ResponseSellerInfo, error) {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.Seller.GetSellerInfoByID, toBytes(p))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var r struct {
|
||||||
|
Data *model.ResponseSellerInfo `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
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetListSellerInfoByIDs ...
|
||||||
|
func (s Seller) GetListSellerInfoByIDs(p model.GetListSellerByIDsRequest) (*model.ResponseListSellerInfo, error) {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.Seller.GetListSellerInfoByIDs, toBytes(p))
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var r struct {
|
||||||
|
Data *model.ResponseListSellerInfo `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
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetListSellerInfoSupportChatByIDs ...
|
||||||
|
func (s Seller) GetListSellerInfoSupportChatByIDs(p model.GetListSellerSupportChatByIDsRequest) (*model.ResponseListSellerInfoSupportChat, error) {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.SupportChat.GetListSellerInfoSupportChatByIDs, toBytes(p))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var r struct {
|
||||||
|
Data *model.ResponseListSellerInfoSupportChat `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
|
||||||
|
}
|
|
@ -17,6 +17,24 @@ func GetWarehouse() Warehouse {
|
||||||
return Warehouse{}
|
return Warehouse{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateIsClosedSupplier ...
|
||||||
|
func (w Warehouse) UpdateIsClosedSupplier(p model.UpdateSupplierIsClosedRequest) error {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateIsClosedSupplier, toBytes(p))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
var r struct {
|
||||||
|
Error string `json:"error"`
|
||||||
|
}
|
||||||
|
if err = json.Unmarshal(msg.Data, &r); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if r.Error != "" {
|
||||||
|
return errors.New(r.Error)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// AfterCreateWarehouse ...
|
// AfterCreateWarehouse ...
|
||||||
func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error {
|
func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error {
|
||||||
msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p))
|
msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p))
|
||||||
|
@ -126,3 +144,22 @@ func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseC
|
||||||
}
|
}
|
||||||
return r.Data, nil
|
return r.Data, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetWarehouses ...
|
||||||
|
func (w Warehouse) GetWarehouses(p model.GetWarehousesRequest) (*model.GetWarehousesResponse, error) {
|
||||||
|
msg, err := natsio.GetServer().Request(subject.Warehouse.GetWarehouses, toBytes(p))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var r struct {
|
||||||
|
Data *model.GetWarehousesResponse `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
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
package natsio
|
||||||
|
|
||||||
|
// StreamNameSelly ...
|
||||||
|
const StreamNameSelly = "selly"
|
|
@ -0,0 +1,12 @@
|
||||||
|
package jsconsumer
|
||||||
|
|
||||||
|
// Selly ...
|
||||||
|
var Selly = struct {
|
||||||
|
PushNotification string
|
||||||
|
UpdateSellerAffiliateStatistic string
|
||||||
|
CheckAnDInsertCashflowBySeller string
|
||||||
|
}{
|
||||||
|
PushNotification: "PULL_PUSH_NOTIFICATION",
|
||||||
|
UpdateSellerAffiliateStatistic: "PULL_UPDATE_SELLER_AFFILIATE_STATISTIC",
|
||||||
|
CheckAnDInsertCashflowBySeller: "PULL_CHECK_AND_INSERT_CASHFLOW_BY_SELLER",
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
package jsmodel
|
||||||
|
|
||||||
|
// PushNotification ...
|
||||||
|
type PushNotification struct {
|
||||||
|
User string `json:"user"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
TargetID string `json:"targetId"`
|
||||||
|
IsFromAdmin bool `json:"isFromAdmin"`
|
||||||
|
Category string `json:"category"`
|
||||||
|
Options NotificationOptions `json:"options"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NotificationOptions ...
|
||||||
|
type NotificationOptions struct {
|
||||||
|
Title string `json:"title"`
|
||||||
|
Content string `json:"content"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// PayloadUpdateSellerAffiliateStatistic ...
|
||||||
|
type PayloadUpdateSellerAffiliateStatistic struct {
|
||||||
|
SellerID string `json:"sellerId"`
|
||||||
|
Statistic SellerAffiliateStatistic `json:"statistic"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SellerAffiliateStatistic ...
|
||||||
|
type SellerAffiliateStatistic struct {
|
||||||
|
TransactionTotal int `json:"transactionTotal"`
|
||||||
|
TransactionCashback int `json:"transactionCashback"`
|
||||||
|
TransactionPending int `json:"transactionPending"`
|
||||||
|
TransactionApproved int `json:"transactionApproved"`
|
||||||
|
TransactionRejected int `json:"transactionRejected"`
|
||||||
|
CommissionTransactionTotal float64 `json:"commissionTransactionTotal"`
|
||||||
|
CommissionTransactionCashback float64 `json:"commissionTransactionCashback"`
|
||||||
|
CommissionTransactionApproved float64 `json:"commissionTransactionApproved"`
|
||||||
|
CommissionTransactionPending float64 `json:"commissionTransactionPending"`
|
||||||
|
CommissionTransactionRejected float64 `json:"commissionTransactionRejected"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// PayloadCashflowsBySeller ...
|
||||||
|
type PayloadCashflowsBySeller struct {
|
||||||
|
SellerID string `json:"sellerId"`
|
||||||
|
List []CashflowSeller `json:"list"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// CashflowSeller ...
|
||||||
|
type CashflowSeller struct {
|
||||||
|
Value float64 `json:"value"`
|
||||||
|
Action string `json:"action"`
|
||||||
|
Category string `json:"category"`
|
||||||
|
TargetID string `json:"targetId"`
|
||||||
|
TargetType string `json:"targetType"`
|
||||||
|
Options *CashFlowOptions `json:"options"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// CashFlowOptions ...
|
||||||
|
type CashFlowOptions struct {
|
||||||
|
AffiliateTransactionCode string `json:"affiliateTransactionCode,omitempty"`
|
||||||
|
AffiliateCampaignID string `json:"affiliateCampaignId,omitempty"`
|
||||||
|
AffiliateCampaignName string `json:"affiliateCampaignName,omitempty"`
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
package jssubject
|
||||||
|
|
||||||
|
var root = "js"
|
||||||
|
|
||||||
|
// prefixes ...
|
||||||
|
var prefixes = struct {
|
||||||
|
Selly string
|
||||||
|
}{
|
||||||
|
Selly: "selly",
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package jssubject
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
// getSellyValue ...
|
||||||
|
func getSellyValue(val string) string {
|
||||||
|
return fmt.Sprintf("%s.%s.%s", root, prefixes.Selly, val)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Selly ...
|
||||||
|
var Selly = struct {
|
||||||
|
PushNotification string
|
||||||
|
UpdateSellerAffiliateStatistic string
|
||||||
|
CheckAnDInsertCashflowBySeller string
|
||||||
|
}{
|
||||||
|
PushNotification: getSellyValue("push_notifications"),
|
||||||
|
UpdateSellerAffiliateStatistic: getSellyValue("update_seller_affiliate_statistic"),
|
||||||
|
CheckAnDInsertCashflowBySeller: getSellyValue("check_and_insert_cashflow_statistic"),
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
// GetProductNoticesByInventoryRequest ....
|
||||||
|
type GetProductNoticesByInventoryRequest struct {
|
||||||
|
InventoryIds []string `json:"inventoryIds"`
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
// GetProductNoticesByInventoryResponse ....
|
||||||
|
type GetProductNoticesByInventoryResponse struct {
|
||||||
|
Notices []NewsAppResponse `json:"notices"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewsAppResponse ...
|
||||||
|
type NewsAppResponse struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Title string `json:"title,omitempty"`
|
||||||
|
Target *TargetNewDoc `json:"target,omitempty"`
|
||||||
|
ActionType *ActionType `json:"action"`
|
||||||
|
ShortDesc string `json:"shortDesc,omitempty"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
ShortTitle string `json:"shortTitle,omitempty"`
|
||||||
|
Color string `json:"color"`
|
||||||
|
Options *NewsOptions `json:"options,omitempty"`
|
||||||
|
DisplayStyle string `json:"displayStyle"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewsOptions ...
|
||||||
|
type NewsOptions struct {
|
||||||
|
Category string `json:"category"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TargetNewDoc ...
|
||||||
|
type TargetNewDoc struct {
|
||||||
|
Type string `json:"type,omitempty"`
|
||||||
|
Value string `json:"value,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ActionType ...
|
||||||
|
type ActionType struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
Text string `json:"text,omitempty"`
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
import "go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
|
|
||||||
|
// GetSellerByIDRequest ...
|
||||||
|
type GetSellerByIDRequest struct {
|
||||||
|
SellerID primitive.ObjectID `json:"sellerId"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetListSellerByIDsRequest ...
|
||||||
|
type GetListSellerByIDsRequest struct {
|
||||||
|
SellerIDs []primitive.ObjectID `json:"sellerIds"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetListSellerSupportChatByIDsRequest ...
|
||||||
|
type GetListSellerSupportChatByIDsRequest struct {
|
||||||
|
SellerIDs []primitive.ObjectID `json:"sellerIds"`
|
||||||
|
}
|
|
@ -0,0 +1,81 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// ResponseSellerInfo ...
|
||||||
|
type ResponseSellerInfo struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Code string `json:"code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResponseListSellerInfo ...
|
||||||
|
type ResponseListSellerInfo struct {
|
||||||
|
Sellers []ResponseSellerInfo `json:"sellers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResponseListSellerInfoSupportChat ...
|
||||||
|
type ResponseListSellerInfoSupportChat struct {
|
||||||
|
Sellers []ResponseSellerInfoSupportChat `json:"sellers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ResponseSellerInfoSupportChat ...
|
||||||
|
type ResponseSellerInfoSupportChat struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Code string `json:"code"`
|
||||||
|
Membership SellerMembershipInfo `json:"membership"`
|
||||||
|
Info SellerContactInfo `json:"info"`
|
||||||
|
Team *TeamInfo `json:"team,omitempty"`
|
||||||
|
Statistic SellerStatistic `json:"statistic"`
|
||||||
|
TrackingTime *SellerTrackingTime `json:"trackingTime"`
|
||||||
|
Invitee *InviteeInfo `json:"invitee"`
|
||||||
|
CreatedAt time.Time `json:"createdAt"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SellerTrackingTime ...
|
||||||
|
type SellerTrackingTime struct {
|
||||||
|
FirstOrderDeliveredAt time.Time `json:"firstOrderDeliveredAt,omitempty"`
|
||||||
|
ThirdOrderDeliveredAt time.Time `json:"thirdOrderDeliveredAt,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SellerStatistic ...
|
||||||
|
type SellerStatistic struct {
|
||||||
|
ThisMonthSale float64 `bson:"thisMonthSale" json:"thisMonthSale"`
|
||||||
|
LastMonthSale float64 `bson:"lastMonthSale" json:"lastMonthSale"`
|
||||||
|
Sale float64 `bson:"sale" json:"sale"`
|
||||||
|
TransactionTotal int `json:"transactionTotal"`
|
||||||
|
TransactionPaymentProcessing int `json:"transactionPaymentProcessing"`
|
||||||
|
TransactionWaitingApprove int `json:"transactionWaitingApprove"`
|
||||||
|
TransactionPending int `json:"transactionPending"`
|
||||||
|
TransactionSuccess int `json:"transactionSuccess"`
|
||||||
|
TransactionRejected int `json:"transactionRejected"`
|
||||||
|
TransactionDelivering int `json:"transactionDelivering"`
|
||||||
|
TransactionDelivered int `json:"transactionDelivered"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TeamInfo ...
|
||||||
|
type TeamInfo struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Role string `json:"role"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InviteeInfo ...
|
||||||
|
type InviteeInfo struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SellerContactInfo ...
|
||||||
|
type SellerContactInfo struct {
|
||||||
|
City int `json:"cityCode"`
|
||||||
|
CityName string `json:"cityName"`
|
||||||
|
Gender string `json:"gender"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SellerMembershipInfo ...
|
||||||
|
type SellerMembershipInfo struct {
|
||||||
|
Level int `json:"level"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
|
@ -2,8 +2,9 @@ package model
|
||||||
|
|
||||||
// ResponseSupplierInfo ...
|
// ResponseSupplierInfo ...
|
||||||
type ResponseSupplierInfo struct {
|
type ResponseSupplierInfo struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
BusinessType string `json:"businessType"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResponseSupplierContract ...
|
// ResponseSupplierContract ...
|
||||||
|
@ -16,11 +17,12 @@ type ResponseSupplierContract struct {
|
||||||
|
|
||||||
// SupplierBrief ...
|
// SupplierBrief ...
|
||||||
type SupplierBrief struct {
|
type SupplierBrief struct {
|
||||||
ID string `json:"_id"`
|
ID string `json:"_id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
CreatedAt string `json:"createdAt"`
|
BusinessType string `json:"businessType"`
|
||||||
UpdatedAt string `json:"updatedAt"`
|
CreatedAt string `json:"createdAt"`
|
||||||
|
UpdatedAt string `json:"updatedAt"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SupplierAll struct {
|
type SupplierAll struct {
|
||||||
|
|
|
@ -17,6 +17,7 @@ type OutboundRequestPayload struct {
|
||||||
|
|
||||||
// InsuranceOpts ...
|
// InsuranceOpts ...
|
||||||
type InsuranceOpts struct {
|
type InsuranceOpts struct {
|
||||||
|
InsuranceType string `json:"insuranceType"`
|
||||||
VehicleTypeID string `json:"vehicleTypeId"`
|
VehicleTypeID string `json:"vehicleTypeId"`
|
||||||
VehicleTypeName string `json:"vehicleTypeName"`
|
VehicleTypeName string `json:"vehicleTypeName"`
|
||||||
InsuranceTypeID string `json:"insuranceTypeId"`
|
InsuranceTypeID string `json:"insuranceTypeId"`
|
||||||
|
@ -25,6 +26,12 @@ type InsuranceOpts struct {
|
||||||
Chassis string `json:"chassis"`
|
Chassis string `json:"chassis"`
|
||||||
Engine string `json:"engine"`
|
Engine string `json:"engine"`
|
||||||
BeginDate string `json:"beginDate"`
|
BeginDate string `json:"beginDate"`
|
||||||
|
|
||||||
|
// For car insurance
|
||||||
|
NumberOfSeatsCarOccupantAccidentInsurance int `json:"numberOfSeatsCarOccupantAccidentInsurance"`
|
||||||
|
NumberOfSeats int `json:"numberOfSeats"`
|
||||||
|
NumberOfSeatsOrTonnageId string `json:"numberOfSeatsOrTonnageId"`
|
||||||
|
NumberOfSeatsOrTonnageName string `json:"numberOfSeatsOrTonnageName"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OutboundRequestItem ...
|
// OutboundRequestItem ...
|
||||||
|
@ -72,3 +79,25 @@ type SyncORStatusRequest struct {
|
||||||
ORCode string `json:"orCode"`
|
ORCode string `json:"orCode"`
|
||||||
OrderCode string `json:"orderCode"`
|
OrderCode string `json:"orderCode"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateSupplierIsClosedRequest ...
|
||||||
|
type UpdateSupplierIsClosedRequest struct {
|
||||||
|
Suppliers []SupplierIsClosed `json:"suppliers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SupplierIsClosed ...
|
||||||
|
type SupplierIsClosed struct {
|
||||||
|
Supplier string `json:"supplier"`
|
||||||
|
IsClosed bool `json:"isClosed"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetWarehousesRequest ...
|
||||||
|
type GetWarehousesRequest struct {
|
||||||
|
Keyword string `json:"keyword"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
Supplier string `json:"supplier"`
|
||||||
|
BusinessType string `json:"businessType"`
|
||||||
|
|
||||||
|
Page int64 `json:"page"`
|
||||||
|
Limit int64 `json:"limit"`
|
||||||
|
}
|
||||||
|
|
|
@ -25,6 +25,20 @@ type WarehouseConfiguration struct {
|
||||||
Partner WarehousePartner `json:"partner"`
|
Partner WarehousePartner `json:"partner"`
|
||||||
Delivery WarehouseDelivery `json:"delivery"`
|
Delivery WarehouseDelivery `json:"delivery"`
|
||||||
Other WarehouseOther `json:"other"`
|
Other WarehouseOther `json:"other"`
|
||||||
|
Food WarehouseFood `json:"food"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// WarehouseFood ...
|
||||||
|
type WarehouseFood struct {
|
||||||
|
ForceClosed bool `json:"forceClosed"`
|
||||||
|
IsClosed bool `json:"isClosed"`
|
||||||
|
TimeRange []TimeRange `json:"timeRange"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimeRange ...
|
||||||
|
type TimeRange struct {
|
||||||
|
From int64 `json:"from"`
|
||||||
|
To int64 `json:"to"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// WarehouseOther ...
|
// WarehouseOther ...
|
||||||
|
@ -109,6 +123,7 @@ type ResponseLatLng struct {
|
||||||
type WarehouseNatsResponse struct {
|
type WarehouseNatsResponse struct {
|
||||||
ID string `json:"_id"`
|
ID string `json:"_id"`
|
||||||
Staff string `json:"staff"`
|
Staff string `json:"staff"`
|
||||||
|
BusinessType string `json:"businessType"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
SearchString string `json:"searchString"`
|
SearchString string `json:"searchString"`
|
||||||
Slug string `json:"slug"`
|
Slug string `json:"slug"`
|
||||||
|
@ -120,3 +135,30 @@ type WarehouseNatsResponse struct {
|
||||||
CreatedAt time.Time `json:"createdAt"`
|
CreatedAt time.Time `json:"createdAt"`
|
||||||
UpdatedAt time.Time `json:"updatedAt"`
|
UpdatedAt time.Time `json:"updatedAt"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WarehouseInfo ...
|
||||||
|
type WarehouseInfo struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
BusinessType string `json:"businessType"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
Slug string `json:"slug"`
|
||||||
|
Supplier WarehouseSupplierInfo `json:"supplier"`
|
||||||
|
Location ResponseWarehouseLocation `json:"location"`
|
||||||
|
Contact ResponseWarehouseContact `json:"contact"`
|
||||||
|
CreatedAt string `json:"createdAt"`
|
||||||
|
UpdatedAt string `json:"updatedAt"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// WarehouseSupplierInfo ...
|
||||||
|
type WarehouseSupplierInfo struct {
|
||||||
|
ID string `json:"_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetWarehousesResponse ...
|
||||||
|
type GetWarehousesResponse struct {
|
||||||
|
Total int64 `json:"total"`
|
||||||
|
Limit int64 `json:"limit"`
|
||||||
|
List []WarehouseInfo `json:"list"`
|
||||||
|
}
|
||||||
|
|
|
@ -3,13 +3,17 @@ package subject
|
||||||
var prefixes = struct {
|
var prefixes = struct {
|
||||||
Communication string
|
Communication string
|
||||||
Order string
|
Order string
|
||||||
|
News string
|
||||||
Warehouse string
|
Warehouse string
|
||||||
Location string
|
Location string
|
||||||
Supplier string
|
Supplier string
|
||||||
|
Seller string
|
||||||
}{
|
}{
|
||||||
Communication: "communication",
|
Communication: "communication",
|
||||||
Order: "order",
|
Order: "order",
|
||||||
|
News: "news",
|
||||||
Warehouse: "warehouse",
|
Warehouse: "warehouse",
|
||||||
Location: "location",
|
Location: "location",
|
||||||
Supplier: "supplier",
|
Supplier: "supplier",
|
||||||
|
Seller: "seller",
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package subject
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func getNewsValue(val string) string {
|
||||||
|
return fmt.Sprintf("%s.%s", prefixes.News, val)
|
||||||
|
}
|
||||||
|
|
||||||
|
var News = struct {
|
||||||
|
GetProductNoticesByInventory string
|
||||||
|
}{
|
||||||
|
GetProductNoticesByInventory: getNewsValue("get_product_notices_by_inventory"),
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package subject
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func getSellerValue(val string) string {
|
||||||
|
return fmt.Sprintf("%s.%s", prefixes.Seller, val)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Seller ...
|
||||||
|
var Seller = struct {
|
||||||
|
GetSellerInfoByID string
|
||||||
|
GetListSellerInfoByIDs string
|
||||||
|
}{
|
||||||
|
GetSellerInfoByID: getSellerValue("get_seller_info_by_id"),
|
||||||
|
GetListSellerInfoByIDs: getSellerValue("get_list_seller_info_by_ids"),
|
||||||
|
}
|
||||||
|
|
||||||
|
// SupportChat ...
|
||||||
|
var SupportChat = struct {
|
||||||
|
GetListSellerInfoSupportChatByIDs string
|
||||||
|
}{
|
||||||
|
GetListSellerInfoSupportChatByIDs: "SELLY_CHAT.REQUEST.SELLER_INFO",
|
||||||
|
}
|
|
@ -21,6 +21,8 @@ var Warehouse = struct {
|
||||||
Count string
|
Count string
|
||||||
AfterUpdateWarehouse string
|
AfterUpdateWarehouse string
|
||||||
AfterCreateWarehouse string
|
AfterCreateWarehouse string
|
||||||
|
UpdateIsClosedSupplier string
|
||||||
|
GetWarehouses string
|
||||||
}{
|
}{
|
||||||
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
|
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
|
||||||
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
|
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
|
||||||
|
@ -36,4 +38,6 @@ var Warehouse = struct {
|
||||||
FindByCondition: getWarehouseValue("find_all_by_condition"),
|
FindByCondition: getWarehouseValue("find_all_by_condition"),
|
||||||
Distinct: getWarehouseValue("distinct"),
|
Distinct: getWarehouseValue("distinct"),
|
||||||
Count: getWarehouseValue("count"),
|
Count: getWarehouseValue("count"),
|
||||||
|
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"),
|
||||||
|
GetWarehouses: getWarehouseValue("get_warehouses"),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue