diff --git a/README.md b/README.md index b0d64a4..ae3bff6 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# natsio \ No newline at end of file +# natsio module diff --git a/client/auth_sms.go b/client/auth_sms.go new file mode 100644 index 0000000..c86ad50 --- /dev/null +++ b/client/auth_sms.go @@ -0,0 +1,37 @@ +package client + +import ( + "encoding/json" + "errors" + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +// AuthSMS ... +type AuthSMS struct{} + +// GetAuthSMS ... +func GetAuthSMS() AuthSMS { + return AuthSMS{} +} + +func (s AuthSMS) CheckPermission(p model.CheckPermissionRequest) error { + msg, err := natsio.GetServer().Request(subject.AuthSMS.CheckPermission, 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 +} diff --git a/client/bank.go b/client/bank.go index 3391911..ba3e9fb 100644 --- a/client/bank.go +++ b/client/bank.go @@ -17,15 +17,16 @@ func GetBank() Bank { return Bank{} } -func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) { - msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID)) +// GetBankInfo ... +func (s Bank) GetBankInfo(p []model.GetBankInfoRequest) ([]*model.ResponseBankInfo, error) { + msg, err := natsio.GetServer().Request(subject.Bank.GetBankInfo, toBytes(p)) if err != nil { return nil, err } var r struct { - Data *model.BankBrief `json:"data"` - Error string `json:"error"` + Data []*model.ResponseBankInfo `json:"data"` + Error string `json:"error"` } if err = json.Unmarshal(msg.Data, &r); err != nil { @@ -38,18 +39,40 @@ func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) { return r.Data, nil } -func (s Bank) CheckBankAndBranchByID(p model.BankBranchRequest) bool { +func (s Bank) CheckBankAndBranchByID(p model.CheckBankAndBranchByIDRequest) bool { msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p)) if err != nil { return false } var r struct { - Error string `json:"error"` + Data bool `json:"data"` } if err = json.Unmarshal(msg.Data, &r); err != nil { return false } - return r.Error == "" + return r.Data +} + +// GetBankAndBranchDetail ... +func (s Bank) GetBankAndBranchDetail(p model.GetBankInfoRequest) (*model.ResponseBankInfo, error) { + msg, err := natsio.GetServer().Request(subject.Bank.GetBankInfoDetail, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.ResponseBankInfo `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 } diff --git a/client/bank_branch.go b/client/bank_branch.go deleted file mode 100644 index 5890e75..0000000 --- a/client/bank_branch.go +++ /dev/null @@ -1,39 +0,0 @@ -package client - -import ( - "encoding/json" - "errors" - - "git.selly.red/Selly-Modules/natsio" - "git.selly.red/Selly-Modules/natsio/model" - "git.selly.red/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 -} diff --git a/client/email.go b/client/email.go new file mode 100644 index 0000000..7725884 --- /dev/null +++ b/client/email.go @@ -0,0 +1,30 @@ +package client + +// Email ... +type Email struct{} + +// GetEmail ... +func GetEmail() Email { + return Email{} +} + +// func (s Email) Send(p model.GetEmailRequest) ([]*model.ResponseEmailInfo, error) { +// msg, err := natsio.GetServer().Request(subject.Email.GetListEmailInfo, toBytes(p)) +// if err != nil { +// return nil, err +// } +// +// var r struct { +// Data []*model.ResponseEmailInfo `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 +// } diff --git a/client/location.go b/client/location.go index 18be423..ff50195 100644 --- a/client/location.go +++ b/client/location.go @@ -19,7 +19,7 @@ func GetLocation() Location { // GetLocationByCode ... func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) { - msg, err := natsio.GetServer().Request(subject.Location.GetLocationByCode, toBytes(payload)) + msg, err := natsio.GetServer().Request(subject.Location.GetLocationByCodeNew, toBytes(payload)) if err != nil { return nil, err } @@ -28,7 +28,7 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode Data *model.ResponseLocationAddress `json:"data"` Error string `json:"error"` } - if err := json.Unmarshal(msg.Data, &r); err != nil { + if err = json.Unmarshal(msg.Data, &r); err != nil { return nil, err } @@ -38,19 +38,19 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode return r.Data, nil } -// GetProvincesByCodes ... ... +// GetProvincesByCodes ... func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) { - msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodes, toBytes(p)) + msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodesNew, toBytes(p)) if err != nil { return nil, err } var r struct { - Data *model.LocationProvinceResponse `json:"data"'` + Data *model.LocationProvinceResponse `json:"data"` Error string `json:"error"` } - if err := json.Unmarshal(msg.Data, &r); err != nil { + if err = json.Unmarshal(msg.Data, &r); err != nil { return nil, err } @@ -62,7 +62,7 @@ func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.Lo // GetDistrictsByCodes ... func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) { - msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodes, toBytes(p)) + msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodesNew, toBytes(p)) if err != nil { return nil, err } @@ -71,7 +71,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo Error string `json:"error"` } - if err := json.Unmarshal(msg.Data, &r); err != nil { + if err = json.Unmarshal(msg.Data, &r); err != nil { return nil, err } @@ -84,7 +84,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo // GetWardsByCodes ... func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) { - msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodes, toBytes(p)) + msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodesNew, toBytes(p)) if err != nil { return nil, err } @@ -94,7 +94,7 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa Error string `json:"error"` } - if err := json.Unmarshal(msg.Data, &r); err != nil { + if err = json.Unmarshal(msg.Data, &r); err != nil { return nil, err } @@ -104,3 +104,211 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa return r.Data, nil } + +// GetProvinceByCondition ... +func (l Location) GetProvinceByCondition(p model.RequestCondition) (*model.LocationProvinceDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetProvinceByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.LocationProvinceDetailResponse `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 +} + +// GetProvincesByCondition ... +func (l Location) GetProvincesByCondition(p model.RequestCondition) ([]*model.LocationProvinceDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data []*model.LocationProvinceDetailResponse `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 +} + +// GetDistrictByCondition ... +func (l Location) GetDistrictByCondition(p model.RequestCondition) (*model.LocationDistrictDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetDistrictByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.LocationDistrictDetailResponse `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 +} + +// GetDistrictsByCondition ... +func (l Location) GetDistrictsByCondition(p model.RequestCondition) ([]*model.LocationDistrictDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data []*model.LocationDistrictDetailResponse `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 +} + +// GetWardByCondition ... +func (l Location) GetWardByCondition(p model.RequestCondition) (*model.LocationWardDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetWardByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.LocationWardDetailResponse `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 +} + +// GetWardsByCondition ... +func (l Location) GetWardsByCondition(p model.RequestCondition) ([]*model.LocationWardDetailResponse, error) { + msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCondition, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data []*model.LocationWardDetailResponse `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 +} + +// CountProvinceByCondition ... +func (l Location) CountProvinceByCondition(p model.RequestCondition) (int64, error) { + msg, err := natsio.GetServer().Request(subject.Location.CountProvinceByCondition, toBytes(p)) + if err != nil { + return 0, err + } + var r struct { + Data int64 `json:"data"` + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return 0, err + } + if r.Error != "" { + return 0, errors.New(r.Error) + } + return r.Data, nil +} + +// CountDistrictByCondition ... +func (l Location) CountDistrictByCondition(p model.RequestCondition) (int64, error) { + msg, err := natsio.GetServer().Request(subject.Location.CountDistrictByCondition, toBytes(p)) + if err != nil { + return 0, err + } + var r struct { + Data int64 `json:"data"` + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return 0, err + } + if r.Error != "" { + return 0, errors.New(r.Error) + } + return r.Data, nil +} + +// CountWardByCondition ... +func (l Location) CountWardByCondition(p model.RequestCondition) (int64, error) { + msg, err := natsio.GetServer().Request(subject.Location.CountWardByCondition, toBytes(p)) + if err != nil { + return 0, err + } + var r struct { + Data int64 `json:"data"` + Error string `json:"error"` + } + if err = json.Unmarshal(msg.Data, &r); err != nil { + return 0, err + } + if r.Error != "" { + return 0, errors.New(r.Error) + } + return r.Data, nil +} + +// DistinctWithField ... +func (l Location) DistinctWithField(p model.ProvinceDistinctWithField) ([]interface{}, error) { + msg, err := natsio.GetServer().Request(subject.Location.ProvinceDistinctWithField, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Data []interface{} `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 +} diff --git a/client/notification.go b/client/notification.go new file mode 100644 index 0000000..66c4b52 --- /dev/null +++ b/client/notification.go @@ -0,0 +1,31 @@ +package client + +import ( + "encoding/json" + "errors" + + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +func GetNotification() Notification { + return Notification{} +} + +type Notification struct{} + +func (n Notification) SupplierChangeBalanceRequestApproved(p model.NotificationSupplierChangeBalanceRequestApprovedReq) error { + msg, err := natsio.GetServer().Request(subject.Notification.SupplierChangeBalanceRequestApproved, toBytes(p)) + if err != nil { + return err + } + var r model.CommonResponseData + if err = json.Unmarshal(msg.Data, &r); err != nil { + return err + } + if r.Error != "" { + return errors.New(r.Error) + } + return nil +} diff --git a/client/order.go b/client/order.go index a6ab736..a49c68b 100644 --- a/client/order.go +++ b/client/order.go @@ -119,3 +119,24 @@ func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrd } return &r.Data, nil } + +// GetSupplierCash ... +func (o Order) GetSupplierCash(p model.OrderSupplierCashReq) (*model.OrderSupplierCashRes, error) { + msg, err := natsio.GetServer().Request(subject.Order.GetSupplierCash, toBytes(p)) + if err != nil { + return nil, err + } + var ( + r struct { + Data model.OrderSupplierCashRes `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 +} diff --git a/client/product.go b/client/product.go new file mode 100644 index 0000000..a581b9d --- /dev/null +++ b/client/product.go @@ -0,0 +1,52 @@ +package client + +import ( + "encoding/json" + "errors" + + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +// Product ... +type Product struct{} + +// GetProduct ... +func GetProduct() Product { + return Product{} +} + +func (c Product) ApplyRequest(p model.ProductApplyRequestPayload) error { + msg, err := natsio.GetServer().Request(subject.Product.ApplyRequest, 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 +} + +func (c Product) ProcessApplyRequest(p model.ProductApplyRequestPayload) error { + msg, err := natsio.GetServer().Request(subject.Product.ProcessApplyRequest, 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 +} diff --git a/client/queue.go b/client/queue.go new file mode 100644 index 0000000..8cb048d --- /dev/null +++ b/client/queue.go @@ -0,0 +1,35 @@ +package client + +import ( + "encoding/json" + "errors" + + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +// Queue ... +type Queue struct{} + +// GetQueue ... +func GetQueue() Queue { + return Queue{} +} + +func (c Queue) ScheduleTask(p model.QueueScheduleTaskRequest) error { + msg, err := natsio.GetServer().Request(subject.Queue.ScheduleTask, 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 +} diff --git a/client/segmnet.go b/client/segment.go similarity index 100% rename from client/segmnet.go rename to client/segment.go diff --git a/client/supplier.go b/client/supplier.go index 149aad6..c919441 100644 --- a/client/supplier.go +++ b/client/supplier.go @@ -3,6 +3,7 @@ package client import ( "encoding/json" "errors" + "go.mongodb.org/mongo-driver/bson" "git.selly.red/Selly-Modules/natsio" "git.selly.red/Selly-Modules/natsio/model" @@ -165,9 +166,9 @@ func (s Supplier) Count(req model.SupplierCountReq) (*model.SupplierCountRes, er return r.Data, nil } -// CreateWarehouseIntoServiceSupplier ... -func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error { - msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p)) +// SyncWarehouseIntoServiceSupplier ... +func (s Supplier) SyncWarehouseIntoServiceSupplier(p model.SyncSupplierWarehousePayload) error { + msg, err := natsio.GetServer().Request(subject.Warehouse.SyncWarehouseIntoServiceSupplier, toBytes(p)) if err != nil { return err } @@ -183,9 +184,104 @@ func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWareh return nil } -// UpdateWarehouseIntoServiceSupplier ... -func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error { - msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, toBytes(p)) +// GetListWarehouseFreeShip ... +func (s Supplier) GetListWarehouseFreeShip() (*model.SupplierListWarehouseFreeShipResponse, error) { + msg, err := natsio.GetServer().Request(subject.Supplier.GetListWarehouseFreeShip, toBytes(bson.M{})) + if err != nil { + return nil, err + } + + var r struct { + Data *model.SupplierListWarehouseFreeShipResponse `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 +} + +// GetFreeShipInfo ... +func (s Supplier) GetFreeShipInfo(p model.SupplierFreeShipInfoRequestPayload) ([]*model.SupplierFreeShipInfoResponse, error) { + msg, err := natsio.GetServer().Request(subject.Supplier.GetFreeShipInfo, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Data []*model.SupplierFreeShipInfoResponse `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 +} + +// CreateCashflow ... +func (s Supplier) CreateCashflow(p model.SupplierCashflowCreatePayload) (*model.SupplierCashflowCreateResponse, error) { + msg, err := natsio.GetServer().Request(subject.Supplier.CreateCashflow, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Error string `json:"error"` + Data *model.SupplierCashflowCreateResponse `json:"data"` + } + 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 Supplier) UpdateBalance(p model.SupplierUpdateBalanceReq) (*model.SupplierUpdateBalanceRes, error) { + msg, err := natsio.GetServer().Request(subject.Supplier.UpdateBalance, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Error string `json:"error"` + Data *model.SupplierUpdateBalanceRes `json:"data"` + } + 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 Supplier) GetCurrentBalance(p model.SupplierGetCurrentBalanceReq) (*model.SupplierGetCurrentBalanceRes, error) { + msg, err := natsio.GetServer().Request(subject.Supplier.GetCurrentBalance, toBytes(p)) + if err != nil { + return nil, err + } + var r struct { + Error string `json:"error"` + Data *model.SupplierGetCurrentBalanceRes `json:"data"` + } + 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 Supplier) DeleteCashflow(p model.SupplierDeleteCashflowReq) error { + msg, err := natsio.GetServer().Request(subject.Supplier.DeleteCashflow, toBytes(p)) if err != nil { return err } diff --git a/client/supplier_permission.go b/client/supplier_permission.go new file mode 100644 index 0000000..86ac1ba --- /dev/null +++ b/client/supplier_permission.go @@ -0,0 +1,79 @@ +package client + +import ( + "encoding/json" + "errors" + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +// SupplierPermission ... +type SupplierPermission struct{} + +// GetSupplierPermission ... +func GetSupplierPermission() SupplierPermission { + return SupplierPermission{} +} + +func (s SupplierPermission) GetListPermission(p model.GetListPermissionRequest) (*model.GetListPermissionResponse, error) { + msg, err := natsio.GetServer().Request(subject.SupplierPermission.GetList, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.GetListPermissionResponse `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 SupplierPermission) CreatePermission(p model.CreatePermissionRequest) (*model.CreatePermissionResponse, error) { + msg, err := natsio.GetServer().Request(subject.SupplierPermission.Create, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.CreatePermissionResponse `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 SupplierPermission) UpdatePermission(p model.UpdatePermissionRequest) error { + msg, err := natsio.GetServer().Request(subject.SupplierPermission.Update, 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 +} diff --git a/client/supplier_role.go b/client/supplier_role.go index 3bf068d..095f3e9 100644 --- a/client/supplier_role.go +++ b/client/supplier_role.go @@ -16,8 +16,28 @@ func GetSupplierRole() SupplierRole { return SupplierRole{} } +func (s SupplierRole) GetListRole(p model.GetListRoleRequest) (*model.GetListRoleResponse, error) { + msg, err := natsio.GetServer().Request(subject.SupplierRole.GetList, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.GetListRoleResponse `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 SupplierRole) CreateRole(p model.CreateRoleRequest) (*model.CreateRoleResponse, error) { - msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p)) + msg, err := natsio.GetServer().Request(subject.SupplierRole.Create, toBytes(p)) if err != nil { return nil, err } @@ -56,3 +76,24 @@ func (s SupplierRole) UpdateRole(p model.UpdateRoleRequest) error { return nil } + +func (s SupplierRole) DetailRole(p model.DetailRoleRequest) (*model.RoleBrief, error) { + msg, err := natsio.GetServer().Request(subject.SupplierRole.Detail, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.RoleBrief `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 +} diff --git a/client/supplier_user.go b/client/supplier_user.go index 7da7f6a..0ce947d 100644 --- a/client/supplier_user.go +++ b/client/supplier_user.go @@ -16,6 +16,89 @@ func GetSupplierUser() SupplierUser { return SupplierUser{} } +func (s SupplierUser) LoginUser(p model.LoginUserRequest) (*model.LoginUserResponse, error) { + msg, err := natsio.GetServer().Request(subject.SupplierUser.LoginUser, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.LoginUserResponse `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 SupplierUser) Logout(p model.LogoutRequest) error { + msg, err := natsio.GetServer().Request(subject.SupplierUser.Logout, 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 +} + +func (s SupplierUser) GetListUser(p model.GetListUserRequest) (*model.GetListUserResponse, error) { + msg, err := natsio.GetServer().Request(subject.SupplierUser.GetListUser, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.GetListUserResponse `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 SupplierUser) DetailUser(p model.DetailUserRequest) (*model.SupplierUserBrief, error) { + msg, err := natsio.GetServer().Request(subject.SupplierUser.DetailUser, toBytes(p)) + if err != nil { + return nil, err + } + + var r struct { + Data *model.SupplierUserBrief `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 SupplierUser) CreateSupplierOwnerUsers(p model.CreateOwnerRequest) (*model.CreateOwnerResponse, error) { msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p)) if err != nil { @@ -99,7 +182,7 @@ func (s SupplierUser) UpdateSupplierStaffUsers(p model.UpdateStaffRequest) error } func (s SupplierUser) UpdateStatus(p model.UpdateStatusRequest) error { - msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStaff, toBytes(p)) + msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStatus, toBytes(p)) if err != nil { return err } @@ -139,6 +222,26 @@ func (s SupplierUser) ResetPassword(p model.ResetPasswordRequest) (*model.ResetP return r.Data, nil } +func (s SupplierUser) ChangePassword(p model.ChangePasswordRequest) error { + msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStatus, 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 +} + // CheckTokenSupplierUser ... func (s SupplierUser) CheckTokenSupplierUser(p model.CheckTokenSupplierUserPayload) (*model.ResponseCheckTokenSupplierUser, error) { msg, err := natsio.GetServer().Request(subject.SupplierUser.CheckTokenSupplierUser, toBytes(p)) diff --git a/client/withdraw.go b/client/withdraw.go new file mode 100644 index 0000000..006d7a7 --- /dev/null +++ b/client/withdraw.go @@ -0,0 +1,39 @@ +package client + +import ( + "encoding/json" + "errors" + + "git.selly.red/Selly-Modules/natsio" + "git.selly.red/Selly-Modules/natsio/model" + "git.selly.red/Selly-Modules/natsio/subject" +) + +// Withdraw ... +type Withdraw struct{} + +// GetWithdraw ... +func GetWithdraw() Withdraw { + return Withdraw{} +} + +// GetSupplierCash ... +func (o Withdraw) GetSupplierCash(p model.WithdrawSupplierCashReq) (*model.WithdrawSupplierCashRes, error) { + msg, err := natsio.GetServer().Request(subject.Withdraw.GetSupplierCash, toBytes(p)) + if err != nil { + return nil, err + } + var ( + r struct { + Data model.WithdrawSupplierCashRes `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 +} diff --git a/model/auth_sms_request.go b/model/auth_sms_request.go new file mode 100644 index 0000000..7ee616a --- /dev/null +++ b/model/auth_sms_request.go @@ -0,0 +1,7 @@ +package model + +type CheckPermissionRequest struct { + Value []string `json:"value"` + ID string `json:"_id"` + DeviceID string `json:"deviceId"` +} diff --git a/model/auth_sms_response.go b/model/auth_sms_response.go new file mode 100644 index 0000000..8b53790 --- /dev/null +++ b/model/auth_sms_response.go @@ -0,0 +1 @@ +package model diff --git a/model/bank_branch_reponse.go b/model/bank_branch_reponse.go deleted file mode 100644 index 1fa1432..0000000 --- a/model/bank_branch_reponse.go +++ /dev/null @@ -1,11 +0,0 @@ -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"` -} diff --git a/model/bank_branch_request.go b/model/bank_branch_request.go deleted file mode 100644 index 6de1216..0000000 --- a/model/bank_branch_request.go +++ /dev/null @@ -1,6 +0,0 @@ -package model - -type BankBranchRequest struct { - BankID string `json:"bankId"` - BranchID string `json:"branchId"` -} diff --git a/model/bank_request.go b/model/bank_request.go new file mode 100644 index 0000000..3b76615 --- /dev/null +++ b/model/bank_request.go @@ -0,0 +1,11 @@ +package model + +type CheckBankAndBranchByIDRequest struct { + BankID string `json:"bankId"` + BranchID string `json:"branchId"` +} + +type GetBankInfoRequest struct { + BankID string `json:"bankId"` + BranchID string `json:"branchId"` +} diff --git a/model/bank_response.go b/model/bank_response.go index 74fc10e..e422915 100644 --- a/model/bank_response.go +++ b/model/bank_response.go @@ -1,21 +1,40 @@ package model +import "time" + // MultiLang ... type MultiLang struct { En string `json:"en"` Vi string `json:"vi"` } +// BranchBrief ... +type BranchBrief struct { + ID string `json:"_id"` + City string `json:"city"` + BankCode string `json:"bankCode"` + BankID string `json:"bankId"` + Active bool `json:"active"` + Name string `json:"name"` +} + // 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"` + 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"` + BeneficiaryForVietinbank string `json:"beneficiaryForVietinbank"` + CreatedBy string `json:"createdBy,omitempty"` + CreatedAt time.Time `json:"createdAt"` + BranchTotal int64 `json:"branchTotal"` + Logo interface{} `json:"logo"` +} + +type ResponseBankInfo struct { + Bank BankBrief `json:"bank"` + Branch BranchBrief `json:"branch"` } diff --git a/model/common_request.go b/model/common_request.go index 0ce5163..e3b36da 100644 --- a/model/common_request.go +++ b/model/common_request.go @@ -20,3 +20,32 @@ type ActionBy struct { ID string `json:"id"` Name string `json:"name"` } + +// ClickAction ... +type ClickAction struct { + Type string `json:"type"` + Value string `json:"value"` +} + +// RequestCondition ... +type RequestCondition struct { + Code int `json:"code"` + Codes []int `json:"codes"` + DistrictCode int `json:"districtCode"` + ProvinceCode int `json:"provinceCode"` + + Slug string `json:"slug"` + OldSlug string `json:"oldSlug"` + + Slugs []string `json:"slugs"` + OldSlugs []string `json:"oldSlugs"` + + DistrictSlug string `json:"districtSlug"` + ProvinceSlug string `json:"provinceSlug"` + + Keyword string `json:"keyword"` + Region string `json:"region"` + + Page int64 `json:"page"` + Limit int64 `json:"limit"` +} diff --git a/model/location_request.go b/model/location_request.go index 4533db7..47ddd01 100644 --- a/model/location_request.go +++ b/model/location_request.go @@ -1,23 +1,66 @@ package model // LocationRequestPayload ... -type LocationRequestPayload struct { - Province int `json:"province"` - District int `json:"district"` - Ward int `json:"ward"` -} +type ( + // LocationRequestPayload ... + LocationRequestPayload struct { + Province int `json:"province"` + District int `json:"district"` + Ward int `json:"ward"` + } -// ProvinceRequestPayload ... -type ProvinceRequestPayload struct { - Codes []int `json:"codes"` -} + // ProvinceRequestPayload ... + ProvinceRequestPayload struct { + Codes []int `json:"codes"` + } -// DistrictRequestPayload ... -type DistrictRequestPayload struct { - Codes []int `json:"codes"` -} + // ProvinceRequestCondition ... + ProvinceRequestCondition struct { + Code int `json:"code"` + Codes []int `json:"codes"` + Slug string `json:"slug"` + Slugs []string `json:"slugs"` + Keyword string `json:"keyword"` + Region string `json:"region"` + } -// WardRequestPayload ... -type WardRequestPayload struct { - Codes []int `json:"codes"` -} + // DistrictRequestPayload ... + DistrictRequestPayload struct { + Codes []int `json:"codes"` + } + + // DistrictRequestCondition ... + DistrictRequestCondition struct { + Code int `json:"code"` + Codes []int `json:"codes"` + ProvinceCode int `json:"provinceCode"` + Slug string `json:"slug"` + ProvinceSlug string `json:"provinceSlug"` + Keyword string `json:"keyword"` + } + + // WardRequestPayload ... + WardRequestPayload struct { + Codes []int `json:"codes"` + } + + // WardRequestCondition ... + WardRequestCondition struct { + Code int `json:"code"` + Codes []int `json:"codes"` + DistrictCode int `json:"districtCode"` + ProvinceCode int `json:"provinceCode"` + Slug string `json:"slug"` + DistrictSlug string `json:"districtSlug"` + ProvinceSlug string `json:"provinceSlug"` + Keyword string `json:"keyword"` + } + + // ProvinceDistinctWithField ... + ProvinceDistinctWithField struct { + Conditions struct { + Region string `json:"region"` + } `json:"conditions"` + Field string `json:"filed"` + } +) diff --git a/model/location_response.go b/model/location_response.go index 484d89e..e48bdce 100644 --- a/model/location_response.go +++ b/model/location_response.go @@ -1,43 +1,87 @@ package model -type ResponseLocationAddress struct { - Province LocationProvince `json:"province"` - District LocationDistrict `json:"district"` - Ward LocationWard `json:"ward"` -} +type ( + // ResponseLocationAddress ... + ResponseLocationAddress struct { + Province LocationProvince `json:"province"` + District LocationDistrict `json:"district"` + Ward LocationWard `json:"ward"` + } -// LocationProvince ... -type LocationProvince struct { - ID string `json:"id"` - Name string `json:"name"` - Code int `json:"code"` -} + // LocationProvince ... + LocationProvince struct { + ID string `json:"id"` + Name string `json:"name"` + Code int `json:"code"` + Slug string `json:"slug"` + RegionCode string `json:"regionCode"` + MainRegionCode string `json:"mainRegionCode"` + } -// LocationDistrict ... -type LocationDistrict struct { - ID string `json:"id"` - Name string `json:"name"` - Code int `json:"code"` -} + // LocationDistrict ... + LocationDistrict struct { + ID string `json:"id"` + Name string `json:"name"` + Code int `json:"code"` + Slug string `json:"slug"` + } -// LocationWard ... -type LocationWard struct { - ID string `json:"id"` - Name string `json:"name"` - Code int `json:"code"` -} + // LocationWard ... + LocationWard struct { + ID string `json:"id"` + Name string `json:"name"` + Code int `json:"code"` + Slug string `json:"slug"` + } -// LocationProvinceResponse ... -type LocationProvinceResponse struct { - Provinces []LocationProvince `json:"provinces"` -} + // LocationProvinceResponse ... + LocationProvinceResponse struct { + Provinces []LocationProvince `json:"provinces"` + } -// LocationDistrictResponse ... -type LocationDistrictResponse struct { - Districts []LocationDistrict `json:"districts"` -} + // LocationDistrictResponse ... + LocationDistrictResponse struct { + Districts []LocationDistrict `json:"districts"` + } -// LocationWardResponse ... -type LocationWardResponse struct { - Wards []LocationWard `json:"wards"` -} + // LocationWardResponse ... + LocationWardResponse struct { + Wards []LocationWard `json:"wards"` + } + + // LocationProvinceDetailResponse ... + LocationProvinceDetailResponse struct { + ID string `json:"_id"` + Name string `json:"name"` + Slug string `json:"slug"` + Code int `json:"code"` + CountryCode string `json:"countryCode"` + RegionCode string `json:"regionCode"` + MainRegionCode string `json:"mainRegionCode"` + TotalDistricts int `json:"totalDistricts"` + TotalWards int `json:"totalWards"` + } + + // LocationDistrictDetailResponse ... + LocationDistrictDetailResponse struct { + ID string `json:"_id"` + Name string `json:"name"` + OldSlugs []string `json:"oldSlugs"` + Slug string `json:"slug"` + Code int `json:"code"` + ProvinceCode int `json:"provinceCode"` + Area int `json:"area"` + TotalWards int `json:"totalWards"` + } + + // LocationWardDetailResponse ... + LocationWardDetailResponse struct { + ID string `json:"_id"` + Name string `json:"name"` + OldSlugs []string `json:"oldSlugs"` + Slug string `json:"slug"` + Code int `json:"code"` + DistrictCode int `json:"districtCode"` + ProvinceCode int `json:"provinceCode"` + } +) diff --git a/model/notification_request.go b/model/notification_request.go new file mode 100644 index 0000000..bbef9c4 --- /dev/null +++ b/model/notification_request.go @@ -0,0 +1,7 @@ +package model + +type NotificationSupplierChangeBalanceRequestApprovedReq struct { + SupplierID string `json:"supplierId"` + Cash float64 `json:"cash"` + Reason string `json:"reason"` +} diff --git a/model/notification_response.go b/model/notification_response.go new file mode 100644 index 0000000..8b53790 --- /dev/null +++ b/model/notification_response.go @@ -0,0 +1 @@ +package model diff --git a/model/order_request.go b/model/order_request.go index bd1fa73..a0ff6ee 100644 --- a/model/order_request.go +++ b/model/order_request.go @@ -49,3 +49,7 @@ type OrderSupplierQuery struct { SupplierID string `json:"supplierId"` WarehouseIDs []string `json:"warehouseIDs"` } + +type OrderSupplierCashReq struct { + SupplierID string `json:"supplierId"` +} diff --git a/model/order_response.go b/model/order_response.go index c08f87a..59b80d3 100644 --- a/model/order_response.go +++ b/model/order_response.go @@ -33,3 +33,9 @@ type SupplierOrderDelivery struct { 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"` } + +type OrderSupplierCashRes struct { + PendingCash float64 `json:"pendingCash"` + WaitingForReconcileCash float64 `json:"waitingForReconcileCash"` + ReconciledCash float64 `json:"reconciledCash"` +} diff --git a/model/product_request.go b/model/product_request.go new file mode 100644 index 0000000..1adbec5 --- /dev/null +++ b/model/product_request.go @@ -0,0 +1,5 @@ +package model + +type ProductApplyRequestPayload struct { + RequestID string `json:"requestId"` +} diff --git a/model/queue_request.go b/model/queue_request.go new file mode 100644 index 0000000..87b7410 --- /dev/null +++ b/model/queue_request.go @@ -0,0 +1,8 @@ +package model + +type QueueScheduleTaskRequest struct { + ID string `json:"id"` + NatsSubject string `json:"natsSubject"` + Data string `json:"data"` + StartAt int64 `json:"startAt"` // unix +} diff --git a/model/supplier_device_request.go b/model/supplier_device_request.go new file mode 100644 index 0000000..8b53790 --- /dev/null +++ b/model/supplier_device_request.go @@ -0,0 +1 @@ +package model diff --git a/model/supplier_device_response.go b/model/supplier_device_response.go new file mode 100644 index 0000000..8b53790 --- /dev/null +++ b/model/supplier_device_response.go @@ -0,0 +1 @@ +package model diff --git a/model/supplier_permission_request.go b/model/supplier_permission_request.go new file mode 100644 index 0000000..e3d63c7 --- /dev/null +++ b/model/supplier_permission_request.go @@ -0,0 +1,24 @@ +package model + +type GetListPermissionRequest struct { + Page int `json:"page"` + Limit int `json:"limit"` + Group string `json:"group"` +} + +type DetailPermissionRequest struct { + ID string `json:"_id"` +} + +type CreatePermissionRequest struct { + Name string `json:"name"` + Code string `json:"code"` + Group string `json:"group"` +} + +type UpdatePermissionRequest struct { + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Group string `json:"group"` +} diff --git a/model/supplier_permission_response.go b/model/supplier_permission_response.go new file mode 100644 index 0000000..8134201 --- /dev/null +++ b/model/supplier_permission_response.go @@ -0,0 +1,26 @@ +package model + +type GetListPermissionResponse struct { + Permissions []PermissionBrief `json:"permissions"` + Total int64 `json:"total"` +} + +type PermissionBrief struct { + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Group string `json:"group"` + CreatedAt string `json:"createdAt"` + UpdatedAt string `json:"updatedAt"` +} + +type CreatePermissionResponse struct { + ID string `json:"_id"` +} + +type PermissionShort struct { + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Group string `json:"group"` +} diff --git a/model/supplier_request.go b/model/supplier_request.go index 5d6fbe2..56aec31 100644 --- a/model/supplier_request.go +++ b/model/supplier_request.go @@ -28,20 +28,30 @@ type SupplierRequestPayload struct { 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"` +// SupplierCashflowCreatePayload ... +type SupplierCashflowCreatePayload struct { + Supplier string `json:"supplier"` + Action string `json:"action"` + Name string `json:"name"` + TargetID string `json:"targetId"` + Value float64 `json:"value"` + ClickAction *ClickAction `json:"clickAction"` } -type UpdateSupplierWarehousePayload struct { - Supplier string `json:"supplier"` - Warehouse string `json:"warehouse"` - ProvinceCode int `json:"provinceCode"` - DistrictCode int `json:"districtCode"` - WardCode int `json:"wardCode"` +type SupplierFreeShipInfoRequestPayload struct { + SupplierIDs []string `json:"supplierIds"` +} + +type SupplierUpdateBalanceReq struct { + SupplierID string `json:"supplierId"` +} + +type SupplierGetCurrentBalanceReq struct { + SupplierID string `json:"supplierId"` +} + +type SupplierDeleteCashflowReq struct { + CashflowID string `json:"cashflowId"` } type SupplierFindAllReq struct { diff --git a/model/supplier_response.go b/model/supplier_response.go index 2b9dd10..9846ef2 100644 --- a/model/supplier_response.go +++ b/model/supplier_response.go @@ -2,9 +2,57 @@ package model // ResponseSupplierInfo ... type ResponseSupplierInfo struct { - ID string `json:"id"` - Name string `json:"name"` - BusinessType string `json:"businessType"` + ID string `json:"id"` + Name string `json:"name"` + BusinessType string `json:"businessType"` + Statistic SupplierStatistic `json:"statistic"` + Rating float64 `json:"rating"` + Inventories []*SKUCommonInfo `json:"inventories"` + Active bool `json:"active"` +} + +// SupplierStatistic ... +type SupplierStatistic struct { + TotalInventory int64 `json:"totalInventory"` + TotalQuantitySale int64 `json:"totalQuantitySale"` + TotalProduct int64 `json:"totalProduct"` + TotalHasOrderSeller int64 `json:"totalHasOrderSeller"` + TotalFollower int64 `json:"totalFollower"` + SalesTotal float64 `json:"salesTotal"` + SalesWeekTotal float64 `json:"salesWeekTotal"` + SalesMonthTotal float64 `json:"salesMonthTotal"` + SalesTwoMonthTotal float64 `json:"salesTwoMonthTotal"` + SalesYearTotal float64 `json:"salesYearTotal"` + SalesSuccess float64 `json:"salesSuccess"` + SalesPending float64 `json:"salesPending"` + SalesCancelled float64 `json:"salesCancelled"` +} + +// SKUCommonInfo ... +type SKUCommonInfo struct { + Code int `json:"id,omitempty" bson:"id,omitempty"` + ID string `json:"_id" bson:"_id"` + Name string `json:"name" bson:"name"` + SearchString string `json:"-" bson:"searchString,omitempty"` + Location *LocationInventory `json:"location,omitempty" bson:"location,omitempty"` + MinimumValue float64 `json:"minimumValue,omitempty" bson:"-"` +} + +// LocationInventory ... +type LocationInventory struct { + Address string `bson:"address" json:"address"` + Province string `bson:"province" json:"province"` + ProvinceName string `bson:"provinceName,omitempty" json:"provinceName,omitempty"` + District string `bson:"district" json:"district"` + Ward string `bson:"ward" json:"ward"` + FullAddress string `bson:"fullAddress,omitempty" json:"fullAddress,omitempty"` + Location *MongoLocation `bson:"location" json:"location"` +} + +// MongoLocation ... +type MongoLocation struct { + Type string `bson:"type"` + Coordinates []float64 `bson:"coordinates"` } // ResponseSupplierContract ... @@ -30,6 +78,57 @@ type SupplierAll struct { Total int64 `json:"total"` } +type SupplierListWarehouseFreeShipResponse struct { + Warehouses []string `json:"warehouses"` +} + +type SupplierCashflowCreateResponse struct { + ID string `json:"id"` +} + +type FreeShip struct { + ID string `json:"_id"` + ShortName string `json:"shortName"` + ListMilestoneText []string `json:"milestoneText"` + Order int `json:"-"` +} + +type SupplierFreeShipInfoResponse struct { + SupplierID string `json:"supplierId"` + FreeShips []FreeShip `json:"freeShips"` +} + +type SupplierShort struct { + ID string `json:"_id"` + Name string `json:"name"` + Logo interface{} `json:"logo"` +} + +type SupplierUpdateBalanceRes struct { + CurrentCash float64 `json:"currentCash"` + TotalPendingCash float64 `json:"totalPendingCash"` + OrderPendingCash float64 `json:"orderPendingCash"` + OrderWaitingForReconcileCash float64 `json:"orderWaitingForReconcileCash"` + OrderReconciledCash float64 `json:"orderReconciledCash"` + WithdrawPendingCash float64 `json:"withdrawPendingCash"` + WithdrawSuccessCash float64 `json:"withdrawSuccessCash"` + WithdrawRejectCash float64 `json:"withdrawRejectCash"` + ChangeBalanceRequestApproved float64 `json:"changeBalanceRequestApproved"` + UpdatedAt string `json:"updatedAt"` +} + +type SupplierGetCurrentBalanceRes struct { + CurrentCash float64 `json:"currentCash"` +} + +type SyncSupplierWarehousePayload struct { + Supplier string `json:"supplier"` + Warehouse string `json:"warehouse"` + ProvinceCode int `json:"provinceCode"` + DistrictCode int `json:"districtCode"` + WardCode int `json:"wardCode"` +} + type SupplierCountRes struct { Total int64 `json:"total"` } diff --git a/model/supplier_role_request.go b/model/supplier_role_request.go index 6402622..ee12d59 100644 --- a/model/supplier_role_request.go +++ b/model/supplier_role_request.go @@ -1,14 +1,29 @@ package model +type GetListRoleRequest struct { + Page int `json:"page"` + Limit int `json:"limit"` + Type string `json:"type"` + SupplierID string `json:"supplierId"` +} + +type DetailRoleRequest struct { + ID string `json:"_id"` +} + type CreateRoleRequest struct { - Name string `json:"name"` - Code string `json:"code"` - Type string `json:"type"` + Name string `json:"name"` + Code string `json:"code"` + Type string `json:"type"` + SupplierID string `json:"supplierId"` + Permissions []string `json:"permissions"` } type UpdateRoleRequest struct { - ID string `json:"_id"` - Name string `json:"name"` - Code string `json:"code"` - Type string `json:"type"` + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Type string `json:"type"` + SupplierID string `json:"supplierId"` + Permissions []string `json:"permissions"` } diff --git a/model/supplier_role_response.go b/model/supplier_role_response.go index d7b68fc..b67a0c6 100644 --- a/model/supplier_role_response.go +++ b/model/supplier_role_response.go @@ -1,5 +1,29 @@ package model +type GetListRoleResponse struct { + Roles []RoleBrief `json:"roles"` + Total int64 `json:"total"` +} + +type RoleBrief struct { + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Type string `json:"type"` + Permissions []PermissionShort `json:"permissions"` + SupplierId string `json:"supplierId"` + CreatedAt string `json:"createdAt"` + UpdatedAt string `json:"updatedAt"` +} + type CreateRoleResponse struct { ID string `json:"_id"` } + +type RoleShort struct { + ID string `json:"_id"` + Name string `json:"name"` + Code string `json:"code"` + Type string `json:"type"` + SupplierId string `json:"supplierId"` +} diff --git a/model/supplier_user_request.go b/model/supplier_user_request.go index 2e1c066..db9f16a 100644 --- a/model/supplier_user_request.go +++ b/model/supplier_user_request.go @@ -1,12 +1,44 @@ package model +type LoginUserRequest struct { + Email string `json:"email"` + Password string `json:"password"` + DeviceID string `json:"deviceId"` + AppVersion string `json:"appVersion"` + UserAgent string `json:"userAgent"` + Model string `json:"model"` + Manufacturer string `json:"manufacturer"` + IP string `json:"ip"` + Language string `json:"language"` + FCMToken string `json:"FCMToken"` + AuthToken string `json:"authToken"` + OsName string `json:"osName"` + OsVersion string `json:"osVersion"` + IsMobile bool `json:"isMobile"` +} + +type LogoutRequest struct { + ID string `json:"_id"` +} + +type GetListUserRequest struct { + Page int `json:"page"` + Limit int `json:"limit"` + Status string `json:"status"` + Type string `json:"type"` + SupplierID string `json:"supplierId"` +} + +type DetailUserRequest struct { + ID string `json:"_id"` +} + type CreateOwnerRequest struct { Name string `json:"name"` Phone string `json:"phone"` Email string `json:"email"` SupplierID string `json:"supplierId"` RoleID string `json:"roleId"` - Password string `json:"password"` } type UpdateOwnerRequest struct { @@ -24,7 +56,6 @@ type CreateStaffRequest struct { Email string `json:"email"` SupplierID string `json:"supplierId"` RoleID string `json:"roleId"` - Password string `json:"password"` Warehouses []string `json:"warehouses"` } @@ -46,6 +77,10 @@ type UpdateStatusRequest struct { } type ResetPasswordRequest struct { + ID string `json:"_id"` +} + +type ChangePasswordRequest struct { ID string `json:"_id"` Password string `json:"password"` } diff --git a/model/supplier_user_response.go b/model/supplier_user_response.go index 3b98d1c..cecbde1 100644 --- a/model/supplier_user_response.go +++ b/model/supplier_user_response.go @@ -1,5 +1,33 @@ package model +// LoginUserResponse ... +type LoginUserResponse struct { + ID string `json:"_id"` + RequireToChangePassword bool `json:"requireToChangePassword"` + SupplierID string `json:"supplierId"` + Name string `json:"name"` +} + +type GetListUserResponse struct { + SupplierUsers []SupplierUserBrief `json:"supplierUsers"` + Total int64 `json:"total"` +} + +type SupplierUserBrief struct { + ID string `json:"_id"` + Role RoleShort `json:"role"` + SupplierID string `json:"supplierId"` + Name string `json:"name"` + Phone string `json:"phone"` + Email string `json:"email"` + Status string `json:"status"` + Avatar interface{} `json:"avatar"` + Type string `json:"type"` + Warehouses []string `json:"warehouses"` + CreatedAt string `json:"createdAt"` + UpdatedAt string `json:"updatedAt"` +} + type CreateOwnerResponse struct { ID string `json:"_id"` } diff --git a/model/warehouse_request.go b/model/warehouse_request.go index 3a9fe6c..66518d7 100644 --- a/model/warehouse_request.go +++ b/model/warehouse_request.go @@ -97,10 +97,11 @@ type SupplierIsClosed struct { // GetWarehousesRequest ... type GetWarehousesRequest struct { - Keyword string `json:"keyword"` - Status string `json:"status"` - Supplier string `json:"supplier"` - BusinessType string `json:"businessType"` + Keyword string `json:"keyword"` + Status string `json:"status"` + Supplier string `json:"supplier"` + BusinessType string `json:"businessType"` + IDs []string `json:"ids"` Page int64 `json:"page"` Limit int64 `json:"limit"` diff --git a/model/warehouse_response.go b/model/warehouse_response.go index 6359ae3..293d2a6 100644 --- a/model/warehouse_response.go +++ b/model/warehouse_response.go @@ -119,6 +119,7 @@ type CommonLocation struct { ID string `json:"id"` Name string `json:"name"` Code int `json:"code"` + Slug string `json:"slug"` } // ResponseLatLng ... diff --git a/model/withdraw_request.go b/model/withdraw_request.go new file mode 100644 index 0000000..7eb4a3f --- /dev/null +++ b/model/withdraw_request.go @@ -0,0 +1,5 @@ +package model + +type WithdrawSupplierCashReq struct { + SupplierID string `json:"supplierId"` +} diff --git a/model/withdraw_response.go b/model/withdraw_response.go new file mode 100644 index 0000000..9c5adc5 --- /dev/null +++ b/model/withdraw_response.go @@ -0,0 +1,7 @@ +package model + +type WithdrawSupplierCashRes struct { + PendingCash float64 `json:"pendingCash"` + SuccessCash float64 `json:"successCash"` + RejectCash float64 `json:"rejectCash"` +} diff --git a/subject/auth_sms.go b/subject/auth_sms.go new file mode 100644 index 0000000..92fea0c --- /dev/null +++ b/subject/auth_sms.go @@ -0,0 +1,15 @@ +package subject + +import "fmt" + +func getAuthSMSValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.AuthSMS, val) +} + +var AuthSMS = struct { + // AuthSMS + CheckPermission string +}{ + // Users + CheckPermission: getAuthSMSValue("check_permission"), +} diff --git a/subject/bank.go b/subject/bank.go index 9f7f8bb..a500900 100644 --- a/subject/bank.go +++ b/subject/bank.go @@ -7,11 +7,11 @@ func getBankValue(val string) string { } var Bank = struct { - GetBankById string - GetBankBranchById string + GetBankInfo string + GetBankInfoDetail string CheckBankAndBranchByID string }{ - GetBankById: getBankValue("get_bank_by_id"), - GetBankBranchById: getBankValue("get_bank_branch_by_id"), - CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"), + GetBankInfo: getBankValue("get_bank_info"), + GetBankInfoDetail: getBankValue("get_bank_info_detail"), + CheckBankAndBranchByID: getBankValue("check_bank_and_branch_by_id"), } diff --git a/subject/config.go b/subject/config.go index 1954121..fcbea7d 100644 --- a/subject/config.go +++ b/subject/config.go @@ -1,35 +1,49 @@ package subject var prefixes = struct { - Communication string - Order string - News string - Warehouse string - Location string - Bank string - Supplier string - Seller string - SupplierUser string - SupplierRole string - SocialPost string - Staff string - Segment string - Campaign string - Affiliate string + Communication string + Order string + News string + Warehouse string + Location string + Bank string + Supplier string + Seller string + AuthSMS string + Selly string + SupplierPermission string + Withdraw string + Notification string + SocialPost string + Staff string + Segment string + SupplierUser string + SupplierRole string + Campaign string + Affiliate string + Product string + Queue string }{ - Communication: "communication", - Order: "order", - News: "news", - Warehouse: "warehouse", - Location: "location", - Supplier: "supplier", - Bank: "bank", - Seller: "seller", - SupplierUser: "supplier_user", - SupplierRole: "supplier_role", - SocialPost: "social_post", - Staff: "staff", - Segment: "segment", - Campaign: "campaign", - Affiliate: "affiliate", + Communication: "communication", + Order: "order", + News: "news", + Warehouse: "warehouse", + Location: "location", + Supplier: "supplier", + Bank: "bank", + Seller: "seller", + AuthSMS: "auth_sms", + Selly: "selly", + SupplierUser: "supplier_user", + SupplierRole: "supplier_role", + SupplierPermission: "supplier_permission", + Withdraw: "withdraw", + Notification: "notification", + SocialPost: "social_post", + Staff: "staff", + Segment: "segment", + Campaign: "campaign", + Affiliate: "affiliate", + Product: "product", + Queue: "queue", } diff --git a/subject/location.go b/subject/location.go index b19a59b..3ee9baf 100644 --- a/subject/location.go +++ b/subject/location.go @@ -7,13 +7,41 @@ func getLocationValue(val string) string { } var Location = struct { - GetLocationByCode string - GetProvincesByCodes string - GetDistrictsByCodes string - GetWardsByCodes string + GetLocationByCode string + GetLocationByCodeNew string + GetProvincesByCodes string + GetProvincesByCodesNew string + GetDistrictsByCodes string + GetDistrictsByCodesNew string + GetWardsByCodes string + GetWardsByCodesNew string + GetProvinceByCondition string + GetProvincesByCondition string + GetDistrictByCondition string + GetDistrictsByCondition string + GetWardByCondition string + GetWardsByCondition string + CountProvinceByCondition string + CountDistrictByCondition string + CountWardByCondition string + ProvinceDistinctWithField string }{ - GetLocationByCode: getLocationValue("get_location_warehouse"), - GetProvincesByCodes: getLocationValue("get_provinces_by_codes"), - GetDistrictsByCodes: getLocationValue("get_districts_by_codes"), - GetWardsByCodes: getLocationValue("get_wards_by_codes"), + GetLocationByCode: getLocationValue("get_location_warehouse"), + GetLocationByCodeNew: getLocationValue("get_location_warehouse_new"), + GetProvincesByCodes: getLocationValue("get_provinces_by_codes"), + GetProvincesByCodesNew: getLocationValue("get_provinces_by_codes_new"), + GetDistrictsByCodes: getLocationValue("get_districts_by_codes"), + GetDistrictsByCodesNew: getLocationValue("get_districts_by_codes_new"), + GetWardsByCodes: getLocationValue("get_wards_by_codes"), + GetWardsByCodesNew: getLocationValue("get_wards_by_codes_new"), + GetProvinceByCondition: getLocationValue("get_province_by_condition"), + GetProvincesByCondition: getLocationValue("get_provinces_by_condition"), + GetDistrictByCondition: getLocationValue("get_district_by_condition"), + GetDistrictsByCondition: getLocationValue("get_districts_byCondition"), + GetWardByCondition: getLocationValue("get_ward_by_condition"), + GetWardsByCondition: getLocationValue("get_wards_by_condition"), + CountProvinceByCondition: getLocationValue("count_province_by_condition"), + CountDistrictByCondition: getLocationValue("count_district_by_condition"), + CountWardByCondition: getLocationValue("count_ward_by_condition"), + ProvinceDistinctWithField: getLocationValue("province_distinct_with_field"), } diff --git a/subject/notification.go b/subject/notification.go new file mode 100644 index 0000000..317655f --- /dev/null +++ b/subject/notification.go @@ -0,0 +1,13 @@ +package subject + +import "fmt" + +func getNotificationValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.Notification, val) +} + +var Notification = struct { + SupplierChangeBalanceRequestApproved string +}{ + SupplierChangeBalanceRequestApproved: getNotificationValue("supplier_change_balance_request_approved"), +} diff --git a/subject/order.go b/subject/order.go index 017f2be..e24e193 100644 --- a/subject/order.go +++ b/subject/order.go @@ -13,6 +13,7 @@ var Order = struct { UpdateLogisticInfoFailed string ORNotUpdateStatus string GetSupplierOrders string + GetSupplierCash string }{ UpdateORStatus: getOrderValue("update_outbound_request_status"), CancelDelivery: getOrderValue("cancel_delivery"), @@ -20,4 +21,5 @@ var Order = struct { UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"), GetSupplierOrders: getOrderValue("get_supplier_orders"), + GetSupplierCash: getOrderValue("get_supplier_cash"), } diff --git a/subject/product.go b/subject/product.go new file mode 100644 index 0000000..348aca9 --- /dev/null +++ b/subject/product.go @@ -0,0 +1,16 @@ +package subject + +import "fmt" + +// getSegmentValue ... +func getProductValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.Product, val) +} + +var Product = struct { + ApplyRequest string + ProcessApplyRequest string +}{ + ApplyRequest: getProductValue("apply_request"), + ProcessApplyRequest: getProductValue("process_apply_request"), +} diff --git a/subject/queue.go b/subject/queue.go new file mode 100644 index 0000000..87a84ef --- /dev/null +++ b/subject/queue.go @@ -0,0 +1,13 @@ +package subject + +import "fmt" + +func getQueueValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.Queue, val) +} + +var Queue = struct { + ScheduleTask string +}{ + ScheduleTask: getQueueValue("schedule_task"), +} diff --git a/subject/supplier.go b/subject/supplier.go index 4fc3d32..1b7d590 100644 --- a/subject/supplier.go +++ b/subject/supplier.go @@ -11,6 +11,12 @@ var Supplier = struct { GetDetailSupplierInfo string GetSupplierContractBySupplierID string FindAll string + GetListWarehouseFreeShip string + CreateCashflow string + DeleteCashflow string + UpdateBalance string + GetCurrentBalance string + GetFreeShipInfo string FindAllOld string Count string }{ @@ -18,6 +24,12 @@ var Supplier = struct { GetDetailSupplierInfo: getSupplierValue("get_detail_supplier_info"), GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"), FindAll: getSupplierValue("find_all"), + GetListWarehouseFreeShip: getSupplierValue("get_list_warehouse_free_ship"), + CreateCashflow: getSupplierValue("create_cashflow"), + DeleteCashflow: getSupplierValue("delete_cashflow"), + UpdateBalance: getSupplierValue("update_balance"), + GetCurrentBalance: getSupplierValue("get_current_balance"), + GetFreeShipInfo: getSupplierValue("get_free_ship_info"), FindAllOld: getSupplierValue("find_all_old"), Count: getSupplierValue("count"), } diff --git a/subject/supplier_permission.go b/subject/supplier_permission.go new file mode 100644 index 0000000..f759a0c --- /dev/null +++ b/subject/supplier_permission.go @@ -0,0 +1,17 @@ +package subject + +import "fmt" + +func getPermissionValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.SupplierPermission, val) +} + +var SupplierPermission = struct { + GetList string + Create string + Update string +}{ + GetList: getPermissionValue("get_list"), + Create: getPermissionValue("create"), + Update: getPermissionValue("update"), +} diff --git a/subject/supplier_role.go b/subject/supplier_role.go index 8915759..83389da 100644 --- a/subject/supplier_role.go +++ b/subject/supplier_role.go @@ -7,9 +7,15 @@ func getRoleValue(val string) string { } var SupplierRole = struct { - Create string - Update string + GetList string + Detail string + Create string + Update string + GetListBySupplierID string }{ - Create: getRoleValue("create"), - Update: getRoleValue("update"), + GetList: getRoleValue("get_list"), + Detail: getRoleValue("detail"), + Create: getRoleValue("create"), + Update: getRoleValue("update"), + GetListBySupplierID: getRoleValue("get_list_by_supplierId"), } diff --git a/subject/supplier_user.go b/subject/supplier_user.go index 5c99eb4..8ce68fb 100644 --- a/subject/supplier_user.go +++ b/subject/supplier_user.go @@ -8,20 +8,30 @@ func getSupplierUserValue(val string) string { var SupplierUser = struct { // Users + LoginUser string + Logout string + GetListUser string + DetailUser string CreateOwner string UpdateOwner string CreateStaff string UpdateStaff string UpdateStatus string ResetPassword string + ChangePassword string CheckTokenSupplierUser string }{ // Users + LoginUser: getSupplierUserValue("login_user"), + Logout: getSupplierUserValue("logout"), + GetListUser: getSupplierUserValue("get_list_user"), + DetailUser: getSupplierUserValue("detail_user"), CreateOwner: getSupplierUserValue("create_owner"), UpdateOwner: getSupplierUserValue("update_owner"), CreateStaff: getSupplierUserValue("create_staff"), UpdateStaff: getSupplierUserValue("update_staff"), UpdateStatus: getSupplierUserValue("update_status"), ResetPassword: getSupplierUserValue("reset_password"), + ChangePassword: getSupplierUserValue("change_password"), CheckTokenSupplierUser: getSupplierUserValue("check_token_supplier_user"), } diff --git a/subject/warehouse.go b/subject/warehouse.go index f031594..3200ee1 100644 --- a/subject/warehouse.go +++ b/subject/warehouse.go @@ -9,45 +9,49 @@ 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 - WebhookOnPoint string - FindOne string - FindByCondition string - Distinct string - Count string - AfterUpdateWarehouse string - AfterCreateWarehouse string - UpdateIsClosedSupplier string - GetWarehouses string - UpdateORDeliveryStatus string + SyncWarehouseIntoServiceSupplier string + CreateWarehouseIntoServiceSupplier string + UpdateWarehouseIntoServiceSupplier string + CreateOutboundRequest string + UpdateOutboundRequestLogistic string + CancelOutboundRequest string + GetConfiguration string + SyncORStatus string + WebhookTNC string + WebhookShiip string + WebhookGlobalCare string + WebhookOnPoint string + FindOne string + FindByCondition string + Distinct string + Count string + AfterUpdateWarehouse string + AfterCreateWarehouse string + UpdateIsClosedSupplier string + GetWarehouses string + UpdateORDeliveryStatus string UpdatePendingActiveProductByWarehouseIDs 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"), - 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"), + SyncWarehouseIntoServiceSupplier: getWarehouseValue("sync_warehouse_into_service_supplier"), + 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"), + WebhookShiip: getWarehouseValue("webhook_shiip"), + 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"), UpdatePendingActiveProductByWarehouseIDs: getWarehouseValue("update_pending_active_product_by_warehouse_ids"), } diff --git a/subject/withdraw.go b/subject/withdraw.go new file mode 100644 index 0000000..08f9a87 --- /dev/null +++ b/subject/withdraw.go @@ -0,0 +1,13 @@ +package subject + +import "fmt" + +func getWithdrawValue(val string) string { + return fmt.Sprintf("%s.%s", prefixes.Withdraw, val) +} + +var Withdraw = struct { + GetSupplierCash string +}{ + GetSupplierCash: getWithdrawValue("get_supplier_cash"), +}