fix-holiday-product-merge-dev #133
			
				
			
		
		
		
	| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
// }
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type CheckPermissionRequest struct {
 | 
			
		||||
	Value    []string `json:"value"`
 | 
			
		||||
	ID       string   `json:"_id"`
 | 
			
		||||
	DeviceID string   `json:"deviceId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
package model
 | 
			
		||||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type BankBranchRequest struct {
 | 
			
		||||
	BankID   string `json:"bankId"`
 | 
			
		||||
	BranchID string `json:"branchId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
	}
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
	}
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type NotificationSupplierChangeBalanceRequestApprovedReq struct {
 | 
			
		||||
	SupplierID string  `json:"supplierId"`
 | 
			
		||||
	Cash       float64 `json:"cash"`
 | 
			
		||||
	Reason     string  `json:"reason"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
package model
 | 
			
		||||
| 
						 | 
				
			
			@ -49,3 +49,7 @@ type OrderSupplierQuery struct {
 | 
			
		|||
	SupplierID   string   `json:"supplierId"`
 | 
			
		||||
	WarehouseIDs []string `json:"warehouseIDs"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type OrderSupplierCashReq struct {
 | 
			
		||||
	SupplierID string `json:"supplierId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type ProductApplyRequestPayload struct {
 | 
			
		||||
	RequestID string `json:"requestId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
package model
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
package model
 | 
			
		||||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"`
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,6 +119,7 @@ type CommonLocation struct {
 | 
			
		|||
	ID   string `json:"id"`
 | 
			
		||||
	Name string `json:"name"`
 | 
			
		||||
	Code int    `json:"code"`
 | 
			
		||||
	Slug string `json:"slug"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ResponseLatLng ...
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type WithdrawSupplierCashReq struct {
 | 
			
		||||
	SupplierID string `json:"supplierId"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
package model
 | 
			
		||||
 | 
			
		||||
type WithdrawSupplierCashRes struct {
 | 
			
		||||
	PendingCash float64 `json:"pendingCash"`
 | 
			
		||||
	SuccessCash float64 `json:"successCash"`
 | 
			
		||||
	RejectCash  float64 `json:"rejectCash"`
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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",
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
	UpdateStatusWarehousePendingInactive 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"),
 | 
			
		||||
	UpdateStatusWarehousePendingInactive: getWarehouseValue("update_status_warehouse_pending_inactive"),
 | 
			
		||||
	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"),
 | 
			
		||||
	UpdateStatusWarehousePendingInactive: getWarehouseValue("update_pending_active_product_by_warehouse_ids"),
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"),
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue