Compare commits

...

25 Commits

Author SHA1 Message Date
Tue b996a5b562 build email 2022-11-23 09:52:48 +07:00
Tue 035fb59f64 build email 2022-11-17 13:55:44 +07:00
Tue a3206ebdd4 build auth sms 2022-11-09 14:28:10 +07:00
Tue 3507d17029 build auth sms 2022-11-08 18:02:42 +07:00
Tue 2872e4f75b build auth sms 2022-11-08 14:15:47 +07:00
Tue ca99cdad86 build auth sms 2022-11-08 14:05:35 +07:00
Tue 7e433426cb build auth sms 2022-11-08 14:02:07 +07:00
Tue 1cacdae547 build authsms 2022-11-08 13:58:30 +07:00
Tue 4d501a437c build authsms 2022-11-08 13:57:22 +07:00
Tue ffff325e78 build authsms 2022-11-08 13:53:52 +07:00
Tue d946b993ee build auth sms 2022-11-07 11:21:37 +07:00
Tue 0b82072bea Merge branch 'master' of git.selly.red:Selly-Modules/natsio into build-auth-sms 2022-11-04 17:28:55 +07:00
Tue 382a2b7dfa build auth sms 2022-11-04 17:28:51 +07:00
Tue b6f390064b build auth sms 2022-11-04 15:21:03 +07:00
Tue 32e93323b7 build auth sms 2022-11-03 14:14:25 +07:00
Tue b4811f091e build auth sms 2022-11-03 11:35:38 +07:00
Tue 9407b2df6b build auth sms 2022-11-03 10:47:19 +07:00
Tue 49426e322c build auth sms 2022-11-03 00:17:49 +07:00
Tue 55e3c07cf6 build auth sms 2022-11-02 16:49:12 +07:00
Tue 19349b9813 build auth sms 2022-11-02 14:57:26 +07:00
Tue 285ddb75e7 build auth sms 2022-11-01 11:40:37 +07:00
Tue 56d210bf2d build auth sms 2022-11-01 10:44:41 +07:00
Tue 0d8e3969db build auth sms 2022-10-31 16:59:38 +07:00
Tue 64ad17016c Merge branch 'master' of git.selly.red:Selly-Modules/natsio into build-auth-sms 2022-10-31 16:59:28 +07:00
Tue f6a2b34a7f build authsms 2022-10-31 10:07:08 +07:00
41 changed files with 979 additions and 180 deletions

37
client/auth_sms.go Normal file
View File

@ -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
}

View File

@ -17,15 +17,16 @@ func GetBank() Bank {
return Bank{} return Bank{}
} }
func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) { // GetBankInfo ...
msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID)) func (s Bank) GetBankInfo(p []model.GetBankInfoRequest) ([]*model.ResponseBankInfo, error) {
msg, err := natsio.GetServer().Request(subject.Bank.GetBankInfo, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
} }
var r struct { var r struct {
Data *model.BankBrief `json:"data"` Data []*model.ResponseBankInfo `json:"data"`
Error string `json:"error"` Error string `json:"error"`
} }
if err = json.Unmarshal(msg.Data, &r); err != nil { 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 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)) msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p))
if err != nil { if err != nil {
return false return false
} }
var r struct { var r struct {
Error string `json:"error"` Data bool `json:"data"`
} }
if err = json.Unmarshal(msg.Data, &r); err != nil { if err = json.Unmarshal(msg.Data, &r); err != nil {
return false 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
} }

View File

@ -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
}

38
client/email.go Normal file
View File

@ -0,0 +1,38 @@
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"
)
// 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
}

View File

@ -119,3 +119,24 @@ func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrd
} }
return &r.Data, nil 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
}

View File

@ -3,6 +3,7 @@ package client
import ( import (
"encoding/json" "encoding/json"
"errors" "errors"
"go.mongodb.org/mongo-driver/bson"
"git.selly.red/Selly-Modules/natsio" "git.selly.red/Selly-Modules/natsio"
"git.selly.red/Selly-Modules/natsio/model" "git.selly.red/Selly-Modules/natsio/model"
@ -101,9 +102,9 @@ func (s Supplier) GetBankInfoByID(supplierID model.SupplierRequestPayload) (*mod
return r.Data, nil return r.Data, nil
} }
// CreateWarehouseIntoServiceSupplier ... // SyncWarehouseIntoServiceSupplier ...
func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error { func (s Supplier) SyncWarehouseIntoServiceSupplier(p model.SyncSupplierWarehousePayload) error {
msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p)) msg, err := natsio.GetServer().Request(subject.Warehouse.SyncWarehouseIntoServiceSupplier, toBytes(p))
if err != nil { if err != nil {
return err return err
} }
@ -119,9 +120,104 @@ func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWareh
return nil return nil
} }
// UpdateWarehouseIntoServiceSupplier ... // GetListWarehouseFreeShip ...
func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error { func (s Supplier) GetListWarehouseFreeShip() (*model.SupplierListWarehouseFreeShipResponse, error) {
msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, toBytes(p)) 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 { if err != nil {
return err return err
} }

View File

@ -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
}

View File

@ -16,8 +16,28 @@ func GetSupplierRole() SupplierRole {
return 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) { 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 { if err != nil {
return nil, err return nil, err
} }
@ -56,3 +76,24 @@ func (s SupplierRole) UpdateRole(p model.UpdateRoleRequest) error {
return nil 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
}

View File

@ -16,6 +16,89 @@ func GetSupplierUser() SupplierUser {
return 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) { func (s SupplierUser) CreateSupplierOwnerUsers(p model.CreateOwnerRequest) (*model.CreateOwnerResponse, error) {
msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p)) msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
if err != nil { if err != nil {
@ -99,7 +182,7 @@ func (s SupplierUser) UpdateSupplierStaffUsers(p model.UpdateStaffRequest) error
} }
func (s SupplierUser) UpdateStatus(p model.UpdateStatusRequest) 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 { if err != nil {
return err return err
} }
@ -138,3 +221,23 @@ func (s SupplierUser) ResetPassword(p model.ResetPasswordRequest) (*model.ResetP
return r.Data, nil 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
}

39
client/withdraw.go Normal file
View File

@ -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
}

View File

@ -0,0 +1,7 @@
package model
type CheckPermissionRequest struct {
Value []string `json:"value"`
ID string `json:"_id"`
DeviceID string `json:"deviceId"`
}

View File

@ -0,0 +1 @@
package model

View File

@ -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"`
}

View File

@ -1,6 +0,0 @@
package model
type BankBranchRequest struct {
BankID string `json:"bankId"`
BranchID string `json:"branchId"`
}

11
model/bank_request.go Normal file
View File

@ -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"`
}

View File

@ -1,21 +1,40 @@
package model package model
import "time"
// MultiLang ... // MultiLang ...
type MultiLang struct { type MultiLang struct {
En string `json:"en"` En string `json:"en"`
Vi string `json:"vi"` 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 ... // BankBrief ...
type BankBrief struct { type BankBrief struct {
ID string `json:"_id"` ID string `json:"_id"`
Name MultiLang `json:"name"` Name MultiLang `json:"name"`
ShortName string `json:"shortName"` ShortName string `json:"shortName"`
Active bool `json:"active"` Active bool `json:"active"`
BenBankName string `json:"benBankName"` BenBankName string `json:"benBankName"`
BankCode int `json:"bankCode"` BankCode int `json:"bankCode"`
IsBranchRequired bool `json:"isBranchRequired"` IsBranchRequired bool `json:"isBranchRequired"`
SearchString string `json:"searchString"` BeneficiaryForVietinbank string `json:"beneficiaryForVietinbank"`
BeneficiaryForVietinbank string `json:"beneficiaryForVietinbank"` CreatedBy string `json:"createdBy,omitempty"`
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"`
} }

View File

@ -20,3 +20,25 @@ type ActionBy struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` 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"`
Slugs []string `json:"slugs"`
DistrictSlug string `json:"districtSlug"`
ProvinceSlug string `json:"provinceSlug"`
Keyword string `json:"keyword"`
Region string `json:"region"`
}

View File

@ -49,3 +49,7 @@ type OrderSupplierQuery struct {
SupplierID string `json:"supplierId"` SupplierID string `json:"supplierId"`
WarehouseIDs []string `json:"warehouseIDs"` WarehouseIDs []string `json:"warehouseIDs"`
} }
type OrderSupplierCashReq struct {
SupplierID string `json:"supplierId"`
}

View File

@ -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"` 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"` 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"`
}

View File

@ -0,0 +1 @@
package model

View File

@ -0,0 +1 @@
package model

View File

@ -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"`
}

View File

@ -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"`
}

View File

@ -23,7 +23,7 @@ type SupplierRequestPayload struct {
ContractStatus string ContractStatus string
} }
type CreateSupplierWarehousePayload struct { type SyncSupplierWarehousePayload struct {
Supplier string `json:"supplier"` Supplier string `json:"supplier"`
Warehouse string `json:"warehouse"` Warehouse string `json:"warehouse"`
ProvinceCode int `json:"provinceCode"` ProvinceCode int `json:"provinceCode"`
@ -31,10 +31,28 @@ type CreateSupplierWarehousePayload struct {
WardCode int `json:"wardCode"` WardCode int `json:"wardCode"`
} }
type UpdateSupplierWarehousePayload struct { // SupplierCashflowCreatePayload ...
Supplier string `json:"supplier"` type SupplierCashflowCreatePayload struct {
Warehouse string `json:"warehouse"` Supplier string `json:"supplier"`
ProvinceCode int `json:"provinceCode"` Action string `json:"action"`
DistrictCode int `json:"districtCode"` Name string `json:"name"`
WardCode int `json:"wardCode"` TargetID string `json:"targetId"`
Value float64 `json:"value"`
ClickAction *ClickAction `json:"clickAction"`
}
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"`
} }

View File

@ -29,3 +29,46 @@ type SupplierAll struct {
Suppliers []SupplierBrief `json:"suppliers"` Suppliers []SupplierBrief `json:"suppliers"`
Total int64 `json:"total"` 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"`
}

View File

@ -1,14 +1,29 @@
package model 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 { type CreateRoleRequest struct {
Name string `json:"name"` Name string `json:"name"`
Code string `json:"code"` Code string `json:"code"`
Type string `json:"type"` Type string `json:"type"`
SupplierID string `json:"supplierId"`
Permissions []string `json:"permissions"`
} }
type UpdateRoleRequest struct { type UpdateRoleRequest struct {
ID string `json:"_id"` ID string `json:"_id"`
Name string `json:"name"` Name string `json:"name"`
Code string `json:"code"` Code string `json:"code"`
Type string `json:"type"` Type string `json:"type"`
SupplierID string `json:"supplierId"`
Permissions []string `json:"permissions"`
} }

View File

@ -1,5 +1,29 @@
package model 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 { type CreateRoleResponse struct {
ID string `json:"_id"` 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"`
}

View File

@ -1,12 +1,44 @@
package model 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 { type CreateOwnerRequest struct {
Name string `json:"name"` Name string `json:"name"`
Phone string `json:"phone"` Phone string `json:"phone"`
Email string `json:"email"` Email string `json:"email"`
SupplierID string `json:"supplierId"` SupplierID string `json:"supplierId"`
RoleID string `json:"roleId"` RoleID string `json:"roleId"`
Password string `json:"password"`
} }
type UpdateOwnerRequest struct { type UpdateOwnerRequest struct {
@ -24,7 +56,6 @@ type CreateStaffRequest struct {
Email string `json:"email"` Email string `json:"email"`
SupplierID string `json:"supplierId"` SupplierID string `json:"supplierId"`
RoleID string `json:"roleId"` RoleID string `json:"roleId"`
Password string `json:"password"`
Warehouses []string `json:"warehouses"` Warehouses []string `json:"warehouses"`
} }
@ -46,6 +77,10 @@ type UpdateStatusRequest struct {
} }
type ResetPasswordRequest struct { type ResetPasswordRequest struct {
ID string `json:"_id"`
}
type ChangePasswordRequest struct {
ID string `json:"_id"` ID string `json:"_id"`
Password string `json:"password"` Password string `json:"password"`
} }

View File

@ -1,5 +1,33 @@
package model 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 { type CreateOwnerResponse struct {
ID string `json:"_id"` ID string `json:"_id"`
} }

View File

@ -0,0 +1,5 @@
package model
type WithdrawSupplierCashReq struct {
SupplierID string `json:"supplierId"`
}

View File

@ -0,0 +1,7 @@
package model
type WithdrawSupplierCashRes struct {
PendingCash float64 `json:"pendingCash"`
SuccessCash float64 `json:"successCash"`
RejectCash float64 `json:"rejectCash"`
}

15
subject/auth_sms.go Normal file
View File

@ -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"),
}

View File

@ -7,11 +7,11 @@ func getBankValue(val string) string {
} }
var Bank = struct { var Bank = struct {
GetBankById string GetBankInfo string
GetBankBranchById string GetBankInfoDetail string
CheckBankAndBranchByID string CheckBankAndBranchByID string
}{ }{
GetBankById: getBankValue("get_bank_by_id"), GetBankInfo: getBankValue("get_bank_info"),
GetBankBranchById: getBankValue("get_bank_branch_by_id"), GetBankInfoDetail: getBankValue("get_bank_info_detail"),
CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"), CheckBankAndBranchByID: getBankValue("check_bank_and_branch_by_id"),
} }

View File

@ -1,29 +1,37 @@
package subject package subject
var prefixes = struct { var prefixes = struct {
Communication string AuthSMS string
Order string Selly string
News string SupplierPermission string
Warehouse string Withdraw string
Location string Communication string
Bank string Order string
Supplier string News string
Seller string Warehouse string
SupplierUser string Location string
SupplierRole string Bank string
SocialPost string Supplier string
Staff string Seller string
SupplierUser string
SupplierRole string
SocialPost string
Staff string
}{ }{
Communication: "communication", AuthSMS: "auth_sms",
Order: "order", Selly: "selly",
News: "news", SupplierPermission: "supplier_permission",
Warehouse: "warehouse", Withdraw: "withdraw",
Location: "location", Communication: "communication",
Supplier: "supplier", Order: "order",
Bank: "bank", News: "news",
Seller: "seller", Warehouse: "warehouse",
SupplierUser: "supplier_user", Location: "location",
SupplierRole: "supplier_role", Supplier: "supplier",
SocialPost: "social_post", Bank: "bank",
Staff: "staff", Seller: "seller",
SupplierUser: "supplier_user",
SupplierRole: "supplier_role",
SocialPost: "social_post",
Staff: "staff",
} }

View File

@ -13,6 +13,7 @@ var Order = struct {
UpdateLogisticInfoFailed string UpdateLogisticInfoFailed string
ORNotUpdateStatus string ORNotUpdateStatus string
GetSupplierOrders string GetSupplierOrders string
GetSupplierCash string
}{ }{
UpdateORStatus: getOrderValue("update_outbound_request_status"), UpdateORStatus: getOrderValue("update_outbound_request_status"),
CancelDelivery: getOrderValue("cancel_delivery"), CancelDelivery: getOrderValue("cancel_delivery"),
@ -20,4 +21,5 @@ var Order = struct {
UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"), ORNotUpdateStatus: getOrderValue("outbound_request_not_update_status"),
GetSupplierOrders: getOrderValue("get_supplier_orders"), GetSupplierOrders: getOrderValue("get_supplier_orders"),
GetSupplierCash: getOrderValue("get_supplier_cash"),
} }

View File

@ -10,8 +10,20 @@ var Supplier = struct {
GetListSupplierInfo string GetListSupplierInfo string
GetSupplierContractBySupplierID string GetSupplierContractBySupplierID string
FindAll string FindAll string
GetListWarehouseFreeShip string
CreateCashflow string
DeleteCashflow string
UpdateBalance string
GetCurrentBalance string
GetFreeShipInfo string
}{ }{
GetListSupplierInfo: getSupplierValue("get_list_supplier_info"), GetListSupplierInfo: getSupplierValue("get_list_supplier_info"),
GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"), GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
FindAll: getSupplierValue("find_all"), 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"),
} }

View File

@ -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"),
}

View File

@ -7,9 +7,15 @@ func getRoleValue(val string) string {
} }
var SupplierRole = struct { var SupplierRole = struct {
Create string GetList string
Update string Detail string
Create string
Update string
GetListBySupplierID string
}{ }{
Create: getRoleValue("create"), GetList: getRoleValue("get_list"),
Update: getRoleValue("update"), Detail: getRoleValue("detail"),
Create: getRoleValue("create"),
Update: getRoleValue("update"),
GetListBySupplierID: getRoleValue("get_list_by_supplierId"),
} }

View File

@ -8,18 +8,28 @@ func getSupplierUserValue(val string) string {
var SupplierUser = struct { var SupplierUser = struct {
// Users // Users
CreateOwner string LoginUser string
UpdateOwner string Logout string
CreateStaff string GetListUser string
UpdateStaff string DetailUser string
UpdateStatus string CreateOwner string
ResetPassword string UpdateOwner string
CreateStaff string
UpdateStaff string
UpdateStatus string
ResetPassword string
ChangePassword string
}{ }{
// Users // Users
CreateOwner: getSupplierUserValue("create_owner"), LoginUser: getSupplierUserValue("login_user"),
UpdateOwner: getSupplierUserValue("update_owner"), Logout: getSupplierUserValue("logout"),
CreateStaff: getSupplierUserValue("create_staff"), GetListUser: getSupplierUserValue("get_list_user"),
UpdateStaff: getSupplierUserValue("update_staff"), DetailUser: getSupplierUserValue("detail_user"),
UpdateStatus: getSupplierUserValue("update_status"), CreateOwner: getSupplierUserValue("create_owner"),
ResetPassword: getSupplierUserValue("reset_password"), UpdateOwner: getSupplierUserValue("update_owner"),
CreateStaff: getSupplierUserValue("create_staff"),
UpdateStaff: getSupplierUserValue("update_staff"),
UpdateStatus: getSupplierUserValue("update_status"),
ResetPassword: getSupplierUserValue("reset_password"),
ChangePassword: getSupplierUserValue("change_password"),
} }

View File

@ -7,43 +7,41 @@ func getWarehouseValue(val string) string {
} }
var Warehouse = struct { var Warehouse = struct {
CreateWarehouseIntoServiceSupplier string SyncWarehouseIntoServiceSupplier string
UpdateWarehouseIntoServiceSupplier string CreateOutboundRequest string
CreateOutboundRequest string UpdateOutboundRequestLogistic string
UpdateOutboundRequestLogistic string CancelOutboundRequest string
CancelOutboundRequest string GetConfiguration string
GetConfiguration string SyncORStatus string
SyncORStatus string WebhookTNC string
WebhookTNC string WebhookGlobalCare string
WebhookGlobalCare string WebhookOnPoint string
WebhookOnPoint string FindOne string
FindOne string FindByCondition string
FindByCondition string Distinct string
Distinct string Count string
Count string AfterUpdateWarehouse string
AfterUpdateWarehouse string AfterCreateWarehouse string
AfterCreateWarehouse string UpdateIsClosedSupplier string
UpdateIsClosedSupplier string GetWarehouses string
GetWarehouses string UpdateORDeliveryStatus string
UpdateORDeliveryStatus string
}{ }{
CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"), SyncWarehouseIntoServiceSupplier: getWarehouseValue("sync_warehouse_into_service_supplier"),
UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"), AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"),
AfterCreateWarehouse: getWarehouseValue("after_create_warehouse"), AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"),
AfterUpdateWarehouse: getWarehouseValue("after_update_warehouse"), CreateOutboundRequest: getWarehouseValue("create_outbound_request"),
CreateOutboundRequest: getWarehouseValue("create_outbound_request"), UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"),
UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"), CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"),
CancelOutboundRequest: getWarehouseValue("cancel_outbound_request"), GetConfiguration: getWarehouseValue("get_configuration"),
GetConfiguration: getWarehouseValue("get_configuration"), SyncORStatus: getWarehouseValue("sync_or_status"),
SyncORStatus: getWarehouseValue("sync_or_status"), WebhookTNC: getWarehouseValue("webhook_tnc"),
WebhookTNC: getWarehouseValue("webhook_tnc"), WebhookGlobalCare: getWarehouseValue("webhook_global_care"),
WebhookGlobalCare: getWarehouseValue("webhook_global_care"), WebhookOnPoint: getWarehouseValue("webhook_on_point"),
WebhookOnPoint: getWarehouseValue("webhook_on_point"), FindOne: getWarehouseValue("find_one"),
FindOne: getWarehouseValue("find_one"), FindByCondition: getWarehouseValue("find_all_by_condition"),
FindByCondition: getWarehouseValue("find_all_by_condition"), Distinct: getWarehouseValue("distinct"),
Distinct: getWarehouseValue("distinct"), Count: getWarehouseValue("count"),
Count: getWarehouseValue("count"), UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"),
UpdateIsClosedSupplier: getWarehouseValue("update_is_closed_supplier"), GetWarehouses: getWarehouseValue("get_warehouses"),
GetWarehouses: getWarehouseValue("get_warehouses"), UpdateORDeliveryStatus: getWarehouseValue("update_or_delivery_status"),
UpdateORDeliveryStatus: getWarehouseValue("update_or_delivery_status"),
} }

13
subject/withdraw.go Normal file
View File

@ -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"),
}