Compare commits
	
		
			14 Commits
		
	
	
		
			master
			...
			feature/ge
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						6b168cd98a | |
| 
							
							
								 | 
						22cd1eb18f | |
| 
							
							
								 | 
						44f0e4be44 | |
| 
							
							
								 | 
						ddc0af6338 | |
| 
							
							
								 | 
						5f5bfeb182 | |
| 
							
							
								 | 
						139dc6a865 | |
| 
							
							
								 | 
						4546d0e89b | |
| 
							
							
								 | 
						fffcc281cc | |
| 
							
							
								 | 
						f731be7b62 | |
| 
							
							
								 | 
						42a6d04413 | |
| 
							
							
								 | 
						ee32f2d8bb | |
| 
							
							
								 | 
						0e35b6aec3 | |
| 
							
							
								 | 
						e1a18df726 | |
| 
							
							
								 | 
						b32ceefab1 | 
| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
package client
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
 | 
			
		||||
	"github.com/Selly-Modules/natsio"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/model"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/subject"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Bank ...
 | 
			
		||||
type Bank struct{}
 | 
			
		||||
 | 
			
		||||
// GetBank ...
 | 
			
		||||
func GetBank() Bank {
 | 
			
		||||
	return Bank{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) {
 | 
			
		||||
	msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var r struct {
 | 
			
		||||
		Data  *model.BankBrief `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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s Bank) CheckBankAndBranchByID(p model.BankBranchRequest) bool {
 | 
			
		||||
	msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return false
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var r struct {
 | 
			
		||||
		Error string `json:"error"`
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
			
		||||
		return false
 | 
			
		||||
	}
 | 
			
		||||
	return r.Error == ""
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
package client
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
 | 
			
		||||
	"github.com/Selly-Modules/natsio"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/model"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/subject"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// BankBranch ...
 | 
			
		||||
type BankBranch struct{}
 | 
			
		||||
 | 
			
		||||
// GetBankBranch ...
 | 
			
		||||
func GetBankBranch() BankBranch {
 | 
			
		||||
	return BankBranch{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s BankBranch) GetBankBranchById(bankBranchID string) (*model.BankBranchBrief, error) {
 | 
			
		||||
	msg, err := natsio.GetServer().Request(subject.Bank.GetBankBranchById, toBytes(bankBranchID))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var r struct {
 | 
			
		||||
		Data  *model.BankBranchBrief `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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,36 +0,0 @@
 | 
			
		|||
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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,7 +3,6 @@ package client
 | 
			
		|||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
 | 
			
		||||
	"github.com/Selly-Modules/natsio"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/model"
 | 
			
		||||
	"github.com/Selly-Modules/natsio/subject"
 | 
			
		||||
| 
						 | 
				
			
			@ -39,50 +38,3 @@ func (s Seller) GetSellerInfoByID(p model.GetSellerByIDRequest) (*model.Response
 | 
			
		|||
 | 
			
		||||
	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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,3 +79,39 @@ func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.Suppl
 | 
			
		|||
 | 
			
		||||
	return r.Data, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateWarehouseIntoServiceSupplier ...
 | 
			
		||||
func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error {
 | 
			
		||||
	msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, 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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateWarehouseIntoServiceSupplier ...
 | 
			
		||||
func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error {
 | 
			
		||||
	msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, 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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -144,22 +144,3 @@ func (w Warehouse) GetConfigByWarehouseID(warehouseID string) (*model.WarehouseC
 | 
			
		|||
	}
 | 
			
		||||
	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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
package natsio
 | 
			
		||||
 | 
			
		||||
// StreamNameSelly ...
 | 
			
		||||
const StreamNameSelly = "selly"
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +0,0 @@
 | 
			
		|||
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",
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,60 +0,0 @@
 | 
			
		|||
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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,10 +0,0 @@
 | 
			
		|||
package jssubject
 | 
			
		||||
 | 
			
		||||
var root = "js"
 | 
			
		||||
 | 
			
		||||
// prefixes ...
 | 
			
		||||
var prefixes = struct {
 | 
			
		||||
	Selly string
 | 
			
		||||
}{
 | 
			
		||||
	Selly: "selly",
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,21 +0,0 @@
 | 
			
		|||
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,11 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
// BankBranchBrief ...
 | 
			
		||||
type BankBranchBrief struct {
 | 
			
		||||
	ID       string `json:"_id"`
 | 
			
		||||
	City     string `json:"city"`
 | 
			
		||||
	BankCode string `json:"bankCode"`
 | 
			
		||||
	Bank     string `json:"bank"`
 | 
			
		||||
	Active   bool   `json:"active"`
 | 
			
		||||
	Name     string `json:"name"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type BankBranchRequest struct {
 | 
			
		||||
	BankID   string `json:"bankId"`
 | 
			
		||||
	BranchID string `json:"branchId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
// MultiLang ...
 | 
			
		||||
type MultiLang struct {
 | 
			
		||||
	En string `json:"en"`
 | 
			
		||||
	Vi string `json:"vi"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// BankBrief ...
 | 
			
		||||
type BankBrief struct {
 | 
			
		||||
	ID                       string    `json:"_id"`
 | 
			
		||||
	Name                     MultiLang `json:"name"`
 | 
			
		||||
	ShortName                string    `json:"shortName"`
 | 
			
		||||
	Active                   bool      `json:"active"`
 | 
			
		||||
	BenBankName              string    `json:"benBankName"`
 | 
			
		||||
	BankCode                 int       `json:"bankCode"`
 | 
			
		||||
	IsBranchRequired         bool      `json:"isBranchRequired"`
 | 
			
		||||
	SearchString             string    `json:"searchString"`
 | 
			
		||||
	BeneficiaryForVietinbank string    `json:"beneficiaryForVietinbank"`
 | 
			
		||||
	CreatedBy                string    `json:"createdBy,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
// GetProductNoticesByInventoryRequest ....
 | 
			
		||||
type GetProductNoticesByInventoryRequest struct {
 | 
			
		||||
	InventoryIds []string `json:"inventoryIds"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,38 +0,0 @@
 | 
			
		|||
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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,13 +6,3 @@ import "go.mongodb.org/mongo-driver/bson/primitive"
 | 
			
		|||
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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,81 +1,8 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
import "time"
 | 
			
		||||
 | 
			
		||||
// ResponseSellerInfo ...
 | 
			
		||||
type ResponseSellerInfo struct {
 | 
			
		||||
	ID   string `json:"_id"`
 | 
			
		||||
	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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,3 +22,19 @@ type SupplierRequestPayload struct {
 | 
			
		|||
	PIC            string
 | 
			
		||||
	ContractStatus string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreateSupplierWarehousePayload struct {
 | 
			
		||||
	Supplier     string `json:"supplier"`
 | 
			
		||||
	Warehouse    string `json:"warehouse"`
 | 
			
		||||
	ProvinceCode int    `json:"provinceCode"`
 | 
			
		||||
	DistrictCode int    `json:"districtCode"`
 | 
			
		||||
	WardCode     int    `json:"wardCode"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type UpdateSupplierWarehousePayload struct {
 | 
			
		||||
	Supplier     string `json:"supplier"`
 | 
			
		||||
	Warehouse    string `json:"warehouse"`
 | 
			
		||||
	ProvinceCode int    `json:"provinceCode"`
 | 
			
		||||
	DistrictCode int    `json:"districtCode"`
 | 
			
		||||
	WardCode     int    `json:"wardCode"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@ type OutboundRequestPayload struct {
 | 
			
		|||
 | 
			
		||||
// InsuranceOpts ...
 | 
			
		||||
type InsuranceOpts struct {
 | 
			
		||||
	InsuranceType    string `json:"insuranceType"`
 | 
			
		||||
	VehicleTypeID    string `json:"vehicleTypeId"`
 | 
			
		||||
	VehicleTypeName  string `json:"vehicleTypeName"`
 | 
			
		||||
	InsuranceTypeID  string `json:"insuranceTypeId"`
 | 
			
		||||
| 
						 | 
				
			
			@ -26,12 +25,6 @@ type InsuranceOpts struct {
 | 
			
		|||
	Chassis          string `json:"chassis"`
 | 
			
		||||
	Engine           string `json:"engine"`
 | 
			
		||||
	BeginDate        string `json:"beginDate"`
 | 
			
		||||
 | 
			
		||||
	// For car insurance
 | 
			
		||||
	NumberOfSeatsCarOccupantAccidentInsurance int    `json:"numberOfSeatsCarOccupantAccidentInsurance"`
 | 
			
		||||
	NumberOfSeats                             int    `json:"numberOfSeats"`
 | 
			
		||||
	NumberOfSeatsOrTonnageId                  string `json:"numberOfSeatsOrTonnageId"`
 | 
			
		||||
	NumberOfSeatsOrTonnageName                string `json:"numberOfSeatsOrTonnageName"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// OutboundRequestItem ...
 | 
			
		||||
| 
						 | 
				
			
			@ -87,14 +80,3 @@ 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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,30 +135,3 @@ type WarehouseNatsResponse struct {
 | 
			
		|||
	CreatedAt      time.Time                 `json:"createdAt"`
 | 
			
		||||
	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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
package subject
 | 
			
		||||
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
func getBankValue(val string) string {
 | 
			
		||||
	return fmt.Sprintf("%s.%s", prefixes.Bank, val)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var Bank = struct {
 | 
			
		||||
	GetBankById            string
 | 
			
		||||
	GetBankBranchById      string
 | 
			
		||||
	CheckBankAndBranchByID string
 | 
			
		||||
}{
 | 
			
		||||
	GetBankById:            getBankValue("get_bank_by_id"),
 | 
			
		||||
	GetBankBranchById:      getBankValue("get_bank_branch_by_id"),
 | 
			
		||||
	CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,17 +3,17 @@ package subject
 | 
			
		|||
var prefixes = struct {
 | 
			
		||||
	Communication string
 | 
			
		||||
	Order         string
 | 
			
		||||
	News          string
 | 
			
		||||
	Warehouse     string
 | 
			
		||||
	Location      string
 | 
			
		||||
	Bank          string
 | 
			
		||||
	Supplier      string
 | 
			
		||||
	Seller        string
 | 
			
		||||
}{
 | 
			
		||||
	Communication: "communication",
 | 
			
		||||
	Order:         "order",
 | 
			
		||||
	News:          "news",
 | 
			
		||||
	Warehouse:     "warehouse",
 | 
			
		||||
	Location:      "location",
 | 
			
		||||
	Supplier:      "supplier",
 | 
			
		||||
	Bank:          "bank",
 | 
			
		||||
	Seller:        "seller",
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -9,15 +9,6 @@ func getSellerValue(val string) string {
 | 
			
		|||
// 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,7 +21,8 @@ var Warehouse = struct {
 | 
			
		|||
	AfterUpdateWarehouse          string
 | 
			
		||||
	AfterCreateWarehouse          string
 | 
			
		||||
	UpdateIsClosedSupplier        string
 | 
			
		||||
	GetWarehouses                 string
 | 
			
		||||
	CreateWarehouseIntoServiceSupplier string
 | 
			
		||||
	UpdateWarehouseIntoServiceSupplier string
 | 
			
		||||
}{
 | 
			
		||||
	AfterCreateWarehouse:          getWarehouseValue("after_create_warehouse"),
 | 
			
		||||
	AfterUpdateWarehouse:          getWarehouseValue("after_update_warehouse"),
 | 
			
		||||
| 
						 | 
				
			
			@ -37,5 +38,6 @@ var Warehouse = struct {
 | 
			
		|||
	Distinct:                      getWarehouseValue("distinct"),
 | 
			
		||||
	Count:                         getWarehouseValue("count"),
 | 
			
		||||
	UpdateIsClosedSupplier:        getWarehouseValue("update_is_closed_supplier"),
 | 
			
		||||
	GetWarehouses:                 getWarehouseValue("get_warehouses"),
 | 
			
		||||
	CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
 | 
			
		||||
	UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue