mergeDev/campaign #73
			
				
			
		
		
		
	| 
						 | 
					@ -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,14 +17,15 @@ func GetBank() Bank {
 | 
				
			||||||
	return Bank{}
 | 
						return Bank{}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) {
 | 
					// GetBankInfo ...
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID))
 | 
					func (s Bank) GetBankInfo(p []model.GetBankInfoRequest) ([]*model.ResponseBankInfo, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Bank.GetBankInfo, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var r struct {
 | 
						var r struct {
 | 
				
			||||||
		Data  *model.BankBrief `json:"data"`
 | 
							Data  []*model.ResponseBankInfo `json:"data"`
 | 
				
			||||||
		Error string                    `json:"error"`
 | 
							Error string                    `json:"error"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,18 +39,40 @@ func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) {
 | 
				
			||||||
	return r.Data, nil
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s Bank) CheckBankAndBranchByID(p model.BankBranchRequest) bool {
 | 
					func (s Bank) CheckBankAndBranchByID(p model.CheckBankAndBranchByIDRequest) bool {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var r struct {
 | 
						var r struct {
 | 
				
			||||||
		Error string `json:"error"`
 | 
							Data bool `json:"data"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return r.Error == ""
 | 
						return r.Data
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetBankAndBranchDetail ...
 | 
				
			||||||
 | 
					func (s Bank) GetBankAndBranchDetail(p model.GetBankInfoRequest) (*model.ResponseBankInfo, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Bank.GetBankInfoDetail, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.ResponseBankInfo `json:"data"`
 | 
				
			||||||
 | 
							Error string                  `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 ...
 | 
					// GetLocationByCode ...
 | 
				
			||||||
func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) {
 | 
					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 {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,7 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode
 | 
				
			||||||
		Data  *model.ResponseLocationAddress `json:"data"`
 | 
							Data  *model.ResponseLocationAddress `json:"data"`
 | 
				
			||||||
		Error string                         `json:"error"`
 | 
							Error string                         `json:"error"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err := json.Unmarshal(msg.Data, &r); err != nil {
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,19 +38,19 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode
 | 
				
			||||||
	return r.Data, nil
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetProvincesByCodes ... ...
 | 
					// GetProvincesByCodes ...
 | 
				
			||||||
func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) {
 | 
					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 {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var r struct {
 | 
						var r struct {
 | 
				
			||||||
		Data  *model.LocationProvinceResponse `json:"data"'`
 | 
							Data  *model.LocationProvinceResponse `json:"data"`
 | 
				
			||||||
		Error string                          `json:"error"`
 | 
							Error string                          `json:"error"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := json.Unmarshal(msg.Data, &r); err != nil {
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@ func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.Lo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetDistrictsByCodes ...
 | 
					// GetDistrictsByCodes ...
 | 
				
			||||||
func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) {
 | 
					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 {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo
 | 
				
			||||||
		Error string                          `json:"error"`
 | 
							Error string                          `json:"error"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := json.Unmarshal(msg.Data, &r); err != nil {
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetWardsByCodes ...
 | 
					// GetWardsByCodes ...
 | 
				
			||||||
func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) {
 | 
					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 {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -94,7 +94,7 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa
 | 
				
			||||||
		Error string                      `json:"error"`
 | 
							Error string                      `json:"error"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := json.Unmarshal(msg.Data, &r); err != nil {
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -104,3 +104,211 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return r.Data, nil
 | 
						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
 | 
						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,41 @@
 | 
				
			||||||
 | 
					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"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Segment ...
 | 
				
			||||||
 | 
					type Segment struct{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetSegment ...
 | 
				
			||||||
 | 
					func GetSegment() Segment {
 | 
				
			||||||
 | 
						return Segment{}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetListSegmentInfoByIds ...
 | 
				
			||||||
 | 
					func (s Segment) GetListSegmentInfoByIds(p model.GetListSegmentRequest) (*model.ResponseListSegmentInfo, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Segment.GetListSegmentInfo, toBytes(p))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.ResponseListSegmentInfo `json:"data"`
 | 
				
			||||||
 | 
							Error string                         `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@ package client
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"encoding/json"
 | 
						"encoding/json"
 | 
				
			||||||
	"errors"
 | 
						"errors"
 | 
				
			||||||
 | 
						"go.mongodb.org/mongo-driver/bson"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"git.selly.red/Selly-Modules/natsio"
 | 
						"git.selly.red/Selly-Modules/natsio"
 | 
				
			||||||
	"git.selly.red/Selly-Modules/natsio/model"
 | 
						"git.selly.red/Selly-Modules/natsio/model"
 | 
				
			||||||
| 
						 | 
					@ -80,6 +81,27 @@ func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.Suppl
 | 
				
			||||||
	return r.Data, nil
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Supplier) FindAllOld(req model.SupplierFindAllReq) (*model.SupplierAll, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.FindAllOld, toBytes(req))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.SupplierAll `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 Supplier) GetBankInfoByID(supplierID model.SupplierRequestPayload) (*model.SupplierAll, error) {
 | 
					func (s Supplier) GetBankInfoByID(supplierID model.SupplierRequestPayload) (*model.SupplierAll, error) {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.Supplier.FindAll, toBytes(supplierID))
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.FindAll, toBytes(supplierID))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
| 
						 | 
					@ -101,9 +123,9 @@ func (s Supplier) GetBankInfoByID(supplierID model.SupplierRequestPayload) (*mod
 | 
				
			||||||
	return r.Data, nil
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// CreateWarehouseIntoServiceSupplier ...
 | 
					// SyncWarehouseIntoServiceSupplier ...
 | 
				
			||||||
func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error {
 | 
					func (s Supplier) SyncWarehouseIntoServiceSupplier(p model.SyncSupplierWarehousePayload) error {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.Warehouse.SyncWarehouseIntoServiceSupplier, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -119,9 +141,104 @@ func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWareh
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UpdateWarehouseIntoServiceSupplier ...
 | 
					// GetListWarehouseFreeShip ...
 | 
				
			||||||
func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error {
 | 
					func (s Supplier) GetListWarehouseFreeShip() (*model.SupplierListWarehouseFreeShipResponse, error) {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.GetListWarehouseFreeShip, toBytes(bson.M{}))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.SupplierListWarehouseFreeShipResponse `json:"data"`
 | 
				
			||||||
 | 
							Error string                                       `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetFreeShipInfo ...
 | 
				
			||||||
 | 
					func (s Supplier) GetFreeShipInfo(p model.SupplierFreeShipInfoRequestPayload) ([]*model.SupplierFreeShipInfoResponse, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.GetFreeShipInfo, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  []*model.SupplierFreeShipInfoResponse `json:"data"`
 | 
				
			||||||
 | 
							Error string                                `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// CreateCashflow ...
 | 
				
			||||||
 | 
					func (s Supplier) CreateCashflow(p model.SupplierCashflowCreatePayload) (*model.SupplierCashflowCreateResponse, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.CreateCashflow, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Error string                                `json:"error"`
 | 
				
			||||||
 | 
							Data  *model.SupplierCashflowCreateResponse `json:"data"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Supplier) UpdateBalance(p model.SupplierUpdateBalanceReq) (*model.SupplierUpdateBalanceRes, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.UpdateBalance, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Error string                          `json:"error"`
 | 
				
			||||||
 | 
							Data  *model.SupplierUpdateBalanceRes `json:"data"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Supplier) GetCurrentBalance(p model.SupplierGetCurrentBalanceReq) (*model.SupplierGetCurrentBalanceRes, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.GetCurrentBalance, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Error string                              `json:"error"`
 | 
				
			||||||
 | 
							Data  *model.SupplierGetCurrentBalanceRes `json:"data"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s Supplier) DeleteCashflow(p model.SupplierDeleteCashflowReq) error {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.Supplier.DeleteCashflow, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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{}
 | 
						return SupplierRole{}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierRole) GetListRole(p model.GetListRoleRequest) (*model.GetListRoleResponse, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierRole.GetList, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.GetListRoleResponse `json:"data"`
 | 
				
			||||||
 | 
							Error string                     `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s SupplierRole) CreateRole(p model.CreateRoleRequest) (*model.CreateRoleResponse, error) {
 | 
					func (s SupplierRole) CreateRole(p model.CreateRoleRequest) (*model.CreateRoleResponse, error) {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierRole.Create, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -56,3 +76,24 @@ func (s SupplierRole) UpdateRole(p model.UpdateRoleRequest) error {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierRole) DetailRole(p model.DetailRoleRequest) (*model.RoleBrief, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierRole.Detail, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.RoleBrief `json:"data"`
 | 
				
			||||||
 | 
							Error string           `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,89 @@ func GetSupplierUser() SupplierUser {
 | 
				
			||||||
	return SupplierUser{}
 | 
						return SupplierUser{}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierUser) LoginUser(p model.LoginUserRequest) (*model.LoginUserResponse, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.LoginUser, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.LoginUserResponse `json:"data"`
 | 
				
			||||||
 | 
							Error string                   `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierUser) Logout(p model.LogoutRequest) error {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.Logout, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Error string `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierUser) GetListUser(p model.GetListUserRequest) (*model.GetListUserResponse, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.GetListUser, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.GetListUserResponse `json:"data"`
 | 
				
			||||||
 | 
							Error string                     `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierUser) DetailUser(p model.DetailUserRequest) (*model.SupplierUserBrief, error) {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.DetailUser, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Data  *model.SupplierUserBrief `json:"data"`
 | 
				
			||||||
 | 
							Error string                   `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return nil, errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return r.Data, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s SupplierUser) CreateSupplierOwnerUsers(p model.CreateOwnerRequest) (*model.CreateOwnerResponse, error) {
 | 
					func (s SupplierUser) CreateSupplierOwnerUsers(p model.CreateOwnerRequest) (*model.CreateOwnerResponse, error) {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.CreateOwner, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
| 
						 | 
					@ -99,7 +182,7 @@ func (s SupplierUser) UpdateSupplierStaffUsers(p model.UpdateStaffRequest) error
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s SupplierUser) UpdateStatus(p model.UpdateStatusRequest) error {
 | 
					func (s SupplierUser) UpdateStatus(p model.UpdateStatusRequest) error {
 | 
				
			||||||
	msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStaff, toBytes(p))
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStatus, toBytes(p))
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -138,3 +221,23 @@ func (s SupplierUser) ResetPassword(p model.ResetPasswordRequest) (*model.ResetP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return r.Data, nil
 | 
						return r.Data, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (s SupplierUser) ChangePassword(p model.ChangePasswordRequest) error {
 | 
				
			||||||
 | 
						msg, err := natsio.GetServer().Request(subject.SupplierUser.UpdateStatus, toBytes(p))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var r struct {
 | 
				
			||||||
 | 
							Error string `json:"error"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err = json.Unmarshal(msg.Data, &r); err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if r.Error != "" {
 | 
				
			||||||
 | 
							return errors.New(r.Error)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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,11 +1,23 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MultiLang ...
 | 
					// MultiLang ...
 | 
				
			||||||
type MultiLang struct {
 | 
					type MultiLang struct {
 | 
				
			||||||
	En string `json:"en"`
 | 
						En string `json:"en"`
 | 
				
			||||||
	Vi string `json:"vi"`
 | 
						Vi string `json:"vi"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// BranchBrief ...
 | 
				
			||||||
 | 
					type BranchBrief struct {
 | 
				
			||||||
 | 
						ID       string `json:"_id"`
 | 
				
			||||||
 | 
						City     string `json:"city"`
 | 
				
			||||||
 | 
						BankCode string `json:"bankCode"`
 | 
				
			||||||
 | 
						BankID   string `json:"bankId"`
 | 
				
			||||||
 | 
						Active   bool   `json:"active"`
 | 
				
			||||||
 | 
						Name     string `json:"name"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// BankBrief ...
 | 
					// BankBrief ...
 | 
				
			||||||
type BankBrief struct {
 | 
					type BankBrief struct {
 | 
				
			||||||
	ID                       string      `json:"_id"`
 | 
						ID                       string      `json:"_id"`
 | 
				
			||||||
| 
						 | 
					@ -15,7 +27,14 @@ type BankBrief struct {
 | 
				
			||||||
	BenBankName              string      `json:"benBankName"`
 | 
						BenBankName              string      `json:"benBankName"`
 | 
				
			||||||
	BankCode                 int         `json:"bankCode"`
 | 
						BankCode                 int         `json:"bankCode"`
 | 
				
			||||||
	IsBranchRequired         bool        `json:"isBranchRequired"`
 | 
						IsBranchRequired         bool        `json:"isBranchRequired"`
 | 
				
			||||||
	SearchString             string    `json:"searchString"`
 | 
					 | 
				
			||||||
	BeneficiaryForVietinbank string      `json:"beneficiaryForVietinbank"`
 | 
						BeneficiaryForVietinbank string      `json:"beneficiaryForVietinbank"`
 | 
				
			||||||
	CreatedBy                string      `json:"createdBy,omitempty"`
 | 
						CreatedBy                string      `json:"createdBy,omitempty"`
 | 
				
			||||||
 | 
						CreatedAt                time.Time   `json:"createdAt"`
 | 
				
			||||||
 | 
						BranchTotal              int64       `json:"branchTotal"`
 | 
				
			||||||
 | 
						Logo                     interface{} `json:"logo"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ResponseBankInfo struct {
 | 
				
			||||||
 | 
						Bank   BankBrief   `json:"bank"`
 | 
				
			||||||
 | 
						Branch BranchBrief `json:"branch"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,3 +20,32 @@ type ActionBy struct {
 | 
				
			||||||
	ID   string `json:"id"`
 | 
						ID   string `json:"id"`
 | 
				
			||||||
	Name string `json:"name"`
 | 
						Name string `json:"name"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ClickAction ...
 | 
				
			||||||
 | 
					type ClickAction struct {
 | 
				
			||||||
 | 
						Type  string `json:"type"`
 | 
				
			||||||
 | 
						Value string `json:"value"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RequestCondition ...
 | 
				
			||||||
 | 
					type RequestCondition struct {
 | 
				
			||||||
 | 
						Code         int   `json:"code"`
 | 
				
			||||||
 | 
						Codes        []int `json:"codes"`
 | 
				
			||||||
 | 
						DistrictCode int   `json:"districtCode"`
 | 
				
			||||||
 | 
						ProvinceCode int   `json:"provinceCode"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Slug    string `json:"slug"`
 | 
				
			||||||
 | 
						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,65 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// LocationRequestPayload ...
 | 
					// LocationRequestPayload ...
 | 
				
			||||||
type LocationRequestPayload struct {
 | 
					type (
 | 
				
			||||||
 | 
						LocationRequestPayload struct {
 | 
				
			||||||
		Province int `json:"province"`
 | 
							Province int `json:"province"`
 | 
				
			||||||
		District int `json:"district"`
 | 
							District int `json:"district"`
 | 
				
			||||||
		Ward     int `json:"ward"`
 | 
							Ward     int `json:"ward"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// ProvinceRequestPayload ...
 | 
						// ProvinceRequestPayload ...
 | 
				
			||||||
type ProvinceRequestPayload struct {
 | 
						ProvinceRequestPayload struct {
 | 
				
			||||||
		Codes []int `json:"codes"`
 | 
							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"`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// DistrictRequestPayload ...
 | 
						// DistrictRequestPayload ...
 | 
				
			||||||
type DistrictRequestPayload struct {
 | 
						DistrictRequestPayload struct {
 | 
				
			||||||
		Codes []int `json:"codes"`
 | 
							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 ...
 | 
				
			||||||
type WardRequestPayload struct {
 | 
						WardRequestPayload struct {
 | 
				
			||||||
		Codes []int `json:"codes"`
 | 
							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
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResponseLocationAddress struct {
 | 
					type (
 | 
				
			||||||
 | 
						// ResponseLocationAddress ...
 | 
				
			||||||
 | 
						ResponseLocationAddress struct {
 | 
				
			||||||
		Province LocationProvince `json:"province"`
 | 
							Province LocationProvince `json:"province"`
 | 
				
			||||||
		District LocationDistrict `json:"district"`
 | 
							District LocationDistrict `json:"district"`
 | 
				
			||||||
		Ward     LocationWard     `json:"ward"`
 | 
							Ward     LocationWard     `json:"ward"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationProvince ...
 | 
						// LocationProvince ...
 | 
				
			||||||
type LocationProvince struct {
 | 
						LocationProvince struct {
 | 
				
			||||||
		ID             string `json:"id"`
 | 
							ID             string `json:"id"`
 | 
				
			||||||
		Name           string `json:"name"`
 | 
							Name           string `json:"name"`
 | 
				
			||||||
		Code           int    `json:"code"`
 | 
							Code           int    `json:"code"`
 | 
				
			||||||
 | 
							Slug           string `json:"slug"`
 | 
				
			||||||
 | 
							RegionCode     string `json:"regionCode"`
 | 
				
			||||||
 | 
							MainRegionCode string `json:"mainRegionCode"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationDistrict ...
 | 
						// LocationDistrict ...
 | 
				
			||||||
type LocationDistrict struct {
 | 
						LocationDistrict struct {
 | 
				
			||||||
		ID   string `json:"id"`
 | 
							ID   string `json:"id"`
 | 
				
			||||||
		Name string `json:"name"`
 | 
							Name string `json:"name"`
 | 
				
			||||||
		Code int    `json:"code"`
 | 
							Code int    `json:"code"`
 | 
				
			||||||
 | 
							Slug string `json:"slug"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationWard ...
 | 
						// LocationWard ...
 | 
				
			||||||
type LocationWard struct {
 | 
						LocationWard struct {
 | 
				
			||||||
		ID   string `json:"id"`
 | 
							ID   string `json:"id"`
 | 
				
			||||||
		Name string `json:"name"`
 | 
							Name string `json:"name"`
 | 
				
			||||||
		Code int    `json:"code"`
 | 
							Code int    `json:"code"`
 | 
				
			||||||
 | 
							Slug string `json:"slug"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationProvinceResponse ...
 | 
						// LocationProvinceResponse ...
 | 
				
			||||||
type LocationProvinceResponse struct {
 | 
						LocationProvinceResponse struct {
 | 
				
			||||||
		Provinces []LocationProvince `json:"provinces"`
 | 
							Provinces []LocationProvince `json:"provinces"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationDistrictResponse ...
 | 
						// LocationDistrictResponse ...
 | 
				
			||||||
type LocationDistrictResponse struct {
 | 
						LocationDistrictResponse struct {
 | 
				
			||||||
		Districts []LocationDistrict `json:"districts"`
 | 
							Districts []LocationDistrict `json:"districts"`
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// LocationWardResponse ...
 | 
						// LocationWardResponse ...
 | 
				
			||||||
type LocationWardResponse struct {
 | 
						LocationWardResponse struct {
 | 
				
			||||||
		Wards []LocationWard `json:"wards"`
 | 
							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"`
 | 
						SupplierID   string   `json:"supplierId"`
 | 
				
			||||||
	WarehouseIDs []string `json:"warehouseIDs"`
 | 
						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"`
 | 
						Status  string `json:"status" enums:"waiting_to_confirm,waiting_to_pick,picking,picked,delay_pickup,pickup_failed,delivering,delay_delivery,delivered,cancelled,delivery_failed,waiting_to_return,returning,delay_return,compensation,returned"`
 | 
				
			||||||
	TPLCode string `json:"tplCode" enums:"SLY,GHTK,GHN,SSC,SPY,VTP,SE,NTL,BEST"`
 | 
						TPLCode string `json:"tplCode" enums:"SLY,GHTK,GHN,SSC,SPY,VTP,SE,NTL,BEST"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type OrderSupplierCashRes struct {
 | 
				
			||||||
 | 
						PendingCash             float64 `json:"pendingCash"`
 | 
				
			||||||
 | 
						WaitingForReconcileCash float64 `json:"waitingForReconcileCash"`
 | 
				
			||||||
 | 
						ReconciledCash          float64 `json:"reconciledCash"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetListSegmentRequest ...
 | 
				
			||||||
 | 
					type GetListSegmentRequest struct {
 | 
				
			||||||
 | 
						SegmentIds []string `json:"segmentIds"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ResponseSegmentInfo ...
 | 
				
			||||||
 | 
					type ResponseSegmentInfo struct {
 | 
				
			||||||
 | 
						ID   string `json:"_id"`
 | 
				
			||||||
 | 
						Name string `json:"name"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ResponseListSegmentInfo ...
 | 
				
			||||||
 | 
					type ResponseListSegmentInfo struct {
 | 
				
			||||||
 | 
						Segments []ResponseSegmentInfo `json:"segments"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -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"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -23,18 +23,35 @@ type SupplierRequestPayload struct {
 | 
				
			||||||
	ContractStatus string
 | 
						ContractStatus string
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CreateSupplierWarehousePayload struct {
 | 
					// SupplierCashflowCreatePayload ...
 | 
				
			||||||
 | 
					type SupplierCashflowCreatePayload struct {
 | 
				
			||||||
	Supplier    string       `json:"supplier"`
 | 
						Supplier    string       `json:"supplier"`
 | 
				
			||||||
	Warehouse    string `json:"warehouse"`
 | 
						Action      string       `json:"action"`
 | 
				
			||||||
	ProvinceCode int    `json:"provinceCode"`
 | 
						Name        string       `json:"name"`
 | 
				
			||||||
	DistrictCode int    `json:"districtCode"`
 | 
						TargetID    string       `json:"targetId"`
 | 
				
			||||||
	WardCode     int    `json:"wardCode"`
 | 
						Value       float64      `json:"value"`
 | 
				
			||||||
 | 
						ClickAction *ClickAction `json:"clickAction"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type UpdateSupplierWarehousePayload struct {
 | 
					type SupplierFreeShipInfoRequestPayload struct {
 | 
				
			||||||
	Supplier     string `json:"supplier"`
 | 
						SupplierIDs []string `json:"supplierIds"`
 | 
				
			||||||
	Warehouse    string `json:"warehouse"`
 | 
					}
 | 
				
			||||||
	ProvinceCode int    `json:"provinceCode"`
 | 
					
 | 
				
			||||||
	DistrictCode int    `json:"districtCode"`
 | 
					type SupplierUpdateBalanceReq struct {
 | 
				
			||||||
	WardCode     int    `json:"wardCode"`
 | 
						SupplierID string `json:"supplierId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierGetCurrentBalanceReq struct {
 | 
				
			||||||
 | 
						SupplierID string `json:"supplierId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierDeleteCashflowReq struct {
 | 
				
			||||||
 | 
						CashflowID string `json:"cashflowId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierFindAllReq struct {
 | 
				
			||||||
 | 
						Page    int64    `json:"page"`
 | 
				
			||||||
 | 
						Limit   int64    `json:"limit"`
 | 
				
			||||||
 | 
						Segment string   `json:"segment"`
 | 
				
			||||||
 | 
						IDs     []string `json:"ids"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,3 +29,54 @@ type SupplierAll struct {
 | 
				
			||||||
	Suppliers []SupplierBrief `json:"suppliers"`
 | 
						Suppliers []SupplierBrief `json:"suppliers"`
 | 
				
			||||||
	Total     int64           `json:"total"`
 | 
						Total     int64           `json:"total"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierListWarehouseFreeShipResponse struct {
 | 
				
			||||||
 | 
						Warehouses []string `json:"warehouses"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierCashflowCreateResponse struct {
 | 
				
			||||||
 | 
						ID string `json:"id"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type FreeShip struct {
 | 
				
			||||||
 | 
						ID                string   `json:"_id"`
 | 
				
			||||||
 | 
						ShortName         string   `json:"shortName"`
 | 
				
			||||||
 | 
						ListMilestoneText []string `json:"milestoneText"`
 | 
				
			||||||
 | 
						Order             int      `json:"-"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierFreeShipInfoResponse struct {
 | 
				
			||||||
 | 
						SupplierID string     `json:"supplierId"`
 | 
				
			||||||
 | 
						FreeShips  []FreeShip `json:"freeShips"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierShort struct {
 | 
				
			||||||
 | 
						ID   string      `json:"_id"`
 | 
				
			||||||
 | 
						Name string      `json:"name"`
 | 
				
			||||||
 | 
						Logo interface{} `json:"logo"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierUpdateBalanceRes struct {
 | 
				
			||||||
 | 
						CurrentCash                  float64 `json:"currentCash"`
 | 
				
			||||||
 | 
						TotalPendingCash             float64 `json:"totalPendingCash"`
 | 
				
			||||||
 | 
						OrderPendingCash             float64 `json:"orderPendingCash"`
 | 
				
			||||||
 | 
						OrderWaitingForReconcileCash float64 `json:"orderWaitingForReconcileCash"`
 | 
				
			||||||
 | 
						OrderReconciledCash          float64 `json:"orderReconciledCash"`
 | 
				
			||||||
 | 
						WithdrawPendingCash          float64 `json:"withdrawPendingCash"`
 | 
				
			||||||
 | 
						WithdrawSuccessCash          float64 `json:"withdrawSuccessCash"`
 | 
				
			||||||
 | 
						WithdrawRejectCash           float64 `json:"withdrawRejectCash"`
 | 
				
			||||||
 | 
						ChangeBalanceRequestApproved float64 `json:"changeBalanceRequestApproved"`
 | 
				
			||||||
 | 
						UpdatedAt                    string  `json:"updatedAt"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierGetCurrentBalanceRes struct {
 | 
				
			||||||
 | 
						CurrentCash float64 `json:"currentCash"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SyncSupplierWarehousePayload struct {
 | 
				
			||||||
 | 
						Supplier     string `json:"supplier"`
 | 
				
			||||||
 | 
						Warehouse    string `json:"warehouse"`
 | 
				
			||||||
 | 
						ProvinceCode int    `json:"provinceCode"`
 | 
				
			||||||
 | 
						DistrictCode int    `json:"districtCode"`
 | 
				
			||||||
 | 
						WardCode     int    `json:"wardCode"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,22 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetListRoleRequest struct {
 | 
				
			||||||
 | 
						Page       int    `json:"page"`
 | 
				
			||||||
 | 
						Limit      int    `json:"limit"`
 | 
				
			||||||
 | 
						Type       string `json:"type"`
 | 
				
			||||||
 | 
						SupplierID string `json:"supplierId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type DetailRoleRequest struct {
 | 
				
			||||||
 | 
						ID string `json:"_id"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CreateRoleRequest struct {
 | 
					type CreateRoleRequest struct {
 | 
				
			||||||
	Name        string   `json:"name"`
 | 
						Name        string   `json:"name"`
 | 
				
			||||||
	Code        string   `json:"code"`
 | 
						Code        string   `json:"code"`
 | 
				
			||||||
	Type        string   `json:"type"`
 | 
						Type        string   `json:"type"`
 | 
				
			||||||
 | 
						SupplierID  string   `json:"supplierId"`
 | 
				
			||||||
 | 
						Permissions []string `json:"permissions"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type UpdateRoleRequest struct {
 | 
					type UpdateRoleRequest struct {
 | 
				
			||||||
| 
						 | 
					@ -11,4 +24,6 @@ type UpdateRoleRequest struct {
 | 
				
			||||||
	Name        string   `json:"name"`
 | 
						Name        string   `json:"name"`
 | 
				
			||||||
	Code        string   `json:"code"`
 | 
						Code        string   `json:"code"`
 | 
				
			||||||
	Type        string   `json:"type"`
 | 
						Type        string   `json:"type"`
 | 
				
			||||||
 | 
						SupplierID  string   `json:"supplierId"`
 | 
				
			||||||
 | 
						Permissions []string `json:"permissions"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,29 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetListRoleResponse struct {
 | 
				
			||||||
 | 
						Roles []RoleBrief `json:"roles"`
 | 
				
			||||||
 | 
						Total int64       `json:"total"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type RoleBrief struct {
 | 
				
			||||||
 | 
						ID          string            `json:"_id"`
 | 
				
			||||||
 | 
						Name        string            `json:"name"`
 | 
				
			||||||
 | 
						Code        string            `json:"code"`
 | 
				
			||||||
 | 
						Type        string            `json:"type"`
 | 
				
			||||||
 | 
						Permissions []PermissionShort `json:"permissions"`
 | 
				
			||||||
 | 
						SupplierId  string            `json:"supplierId"`
 | 
				
			||||||
 | 
						CreatedAt   string            `json:"createdAt"`
 | 
				
			||||||
 | 
						UpdatedAt   string            `json:"updatedAt"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CreateRoleResponse struct {
 | 
					type CreateRoleResponse struct {
 | 
				
			||||||
	ID string `json:"_id"`
 | 
						ID string `json:"_id"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type RoleShort struct {
 | 
				
			||||||
 | 
						ID         string `json:"_id"`
 | 
				
			||||||
 | 
						Name       string `json:"name"`
 | 
				
			||||||
 | 
						Code       string `json:"code"`
 | 
				
			||||||
 | 
						Type       string `json:"type"`
 | 
				
			||||||
 | 
						SupplierId string `json:"supplierId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,44 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type LoginUserRequest struct {
 | 
				
			||||||
 | 
						Email        string `json:"email"`
 | 
				
			||||||
 | 
						Password     string `json:"password"`
 | 
				
			||||||
 | 
						DeviceID     string `json:"deviceId"`
 | 
				
			||||||
 | 
						AppVersion   string `json:"appVersion"`
 | 
				
			||||||
 | 
						UserAgent    string `json:"userAgent"`
 | 
				
			||||||
 | 
						Model        string `json:"model"`
 | 
				
			||||||
 | 
						Manufacturer string `json:"manufacturer"`
 | 
				
			||||||
 | 
						IP           string `json:"ip"`
 | 
				
			||||||
 | 
						Language     string `json:"language"`
 | 
				
			||||||
 | 
						FCMToken     string `json:"FCMToken"`
 | 
				
			||||||
 | 
						AuthToken    string `json:"authToken"`
 | 
				
			||||||
 | 
						OsName       string `json:"osName"`
 | 
				
			||||||
 | 
						OsVersion    string `json:"osVersion"`
 | 
				
			||||||
 | 
						IsMobile     bool   `json:"isMobile"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type LogoutRequest struct {
 | 
				
			||||||
 | 
						ID string `json:"_id"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetListUserRequest struct {
 | 
				
			||||||
 | 
						Page       int    `json:"page"`
 | 
				
			||||||
 | 
						Limit      int    `json:"limit"`
 | 
				
			||||||
 | 
						Status     string `json:"status"`
 | 
				
			||||||
 | 
						Type       string `json:"type"`
 | 
				
			||||||
 | 
						SupplierID string `json:"supplierId"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type DetailUserRequest struct {
 | 
				
			||||||
 | 
						ID string `json:"_id"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CreateOwnerRequest struct {
 | 
					type CreateOwnerRequest struct {
 | 
				
			||||||
	Name       string `json:"name"`
 | 
						Name       string `json:"name"`
 | 
				
			||||||
	Phone      string `json:"phone"`
 | 
						Phone      string `json:"phone"`
 | 
				
			||||||
	Email      string `json:"email"`
 | 
						Email      string `json:"email"`
 | 
				
			||||||
	SupplierID string `json:"supplierId"`
 | 
						SupplierID string `json:"supplierId"`
 | 
				
			||||||
	RoleID     string `json:"roleId"`
 | 
						RoleID     string `json:"roleId"`
 | 
				
			||||||
	Password   string `json:"password"`
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type UpdateOwnerRequest struct {
 | 
					type UpdateOwnerRequest struct {
 | 
				
			||||||
| 
						 | 
					@ -24,7 +56,6 @@ type CreateStaffRequest struct {
 | 
				
			||||||
	Email      string   `json:"email"`
 | 
						Email      string   `json:"email"`
 | 
				
			||||||
	SupplierID string   `json:"supplierId"`
 | 
						SupplierID string   `json:"supplierId"`
 | 
				
			||||||
	RoleID     string   `json:"roleId"`
 | 
						RoleID     string   `json:"roleId"`
 | 
				
			||||||
	Password   string   `json:"password"`
 | 
					 | 
				
			||||||
	Warehouses []string `json:"warehouses"`
 | 
						Warehouses []string `json:"warehouses"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,5 +78,9 @@ type UpdateStatusRequest struct {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResetPasswordRequest struct {
 | 
					type ResetPasswordRequest struct {
 | 
				
			||||||
	ID string `json:"_id"`
 | 
						ID string `json:"_id"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ChangePasswordRequest struct {
 | 
				
			||||||
 | 
						ID       string `json:"_id"`
 | 
				
			||||||
	Password string `json:"password"`
 | 
						Password string `json:"password"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,33 @@
 | 
				
			||||||
package model
 | 
					package model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// LoginUserResponse ...
 | 
				
			||||||
 | 
					type LoginUserResponse struct {
 | 
				
			||||||
 | 
						ID                      string `json:"_id"`
 | 
				
			||||||
 | 
						RequireToChangePassword bool   `json:"requireToChangePassword"`
 | 
				
			||||||
 | 
						SupplierID              string `json:"supplierId"`
 | 
				
			||||||
 | 
						Name                    string `json:"name"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type GetListUserResponse struct {
 | 
				
			||||||
 | 
						SupplierUsers []SupplierUserBrief `json:"supplierUsers"`
 | 
				
			||||||
 | 
						Total         int64               `json:"total"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SupplierUserBrief struct {
 | 
				
			||||||
 | 
						ID         string      `json:"_id"`
 | 
				
			||||||
 | 
						Role       RoleShort   `json:"role"`
 | 
				
			||||||
 | 
						SupplierID string      `json:"supplierId"`
 | 
				
			||||||
 | 
						Name       string      `json:"name"`
 | 
				
			||||||
 | 
						Phone      string      `json:"phone"`
 | 
				
			||||||
 | 
						Email      string      `json:"email"`
 | 
				
			||||||
 | 
						Status     string      `json:"status"`
 | 
				
			||||||
 | 
						Avatar     interface{} `json:"avatar"`
 | 
				
			||||||
 | 
						Type       string      `json:"type"`
 | 
				
			||||||
 | 
						Warehouses []string    `json:"warehouses"`
 | 
				
			||||||
 | 
						CreatedAt  string      `json:"createdAt"`
 | 
				
			||||||
 | 
						UpdatedAt  string      `json:"updatedAt"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type CreateOwnerResponse struct {
 | 
					type CreateOwnerResponse struct {
 | 
				
			||||||
	ID string `json:"_id"`
 | 
						ID string `json:"_id"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,6 +119,7 @@ type CommonLocation struct {
 | 
				
			||||||
	ID   string `json:"id"`
 | 
						ID   string `json:"id"`
 | 
				
			||||||
	Name string `json:"name"`
 | 
						Name string `json:"name"`
 | 
				
			||||||
	Code int    `json:"code"`
 | 
						Code int    `json:"code"`
 | 
				
			||||||
 | 
						Slug string `json:"slug"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ResponseLatLng ...
 | 
					// 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 {
 | 
					var Bank = struct {
 | 
				
			||||||
	GetBankById            string
 | 
						GetBankInfo            string
 | 
				
			||||||
	GetBankBranchById      string
 | 
						GetBankInfoDetail      string
 | 
				
			||||||
	CheckBankAndBranchByID string
 | 
						CheckBankAndBranchByID string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	GetBankById:            getBankValue("get_bank_by_id"),
 | 
						GetBankInfo:            getBankValue("get_bank_info"),
 | 
				
			||||||
	GetBankBranchById:      getBankValue("get_bank_branch_by_id"),
 | 
						GetBankInfoDetail:      getBankValue("get_bank_info_detail"),
 | 
				
			||||||
	CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"),
 | 
						CheckBankAndBranchByID: getBankValue("check_bank_and_branch_by_id"),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,10 +9,16 @@ var prefixes = struct {
 | 
				
			||||||
	Bank               string
 | 
						Bank               string
 | 
				
			||||||
	Supplier           string
 | 
						Supplier           string
 | 
				
			||||||
	Seller             string
 | 
						Seller             string
 | 
				
			||||||
 | 
						AuthSMS            string
 | 
				
			||||||
 | 
						Selly              string
 | 
				
			||||||
	SupplierUser       string
 | 
						SupplierUser       string
 | 
				
			||||||
	SupplierRole       string
 | 
						SupplierRole       string
 | 
				
			||||||
 | 
						SupplierPermission string
 | 
				
			||||||
 | 
						Withdraw           string
 | 
				
			||||||
 | 
						Notification       string
 | 
				
			||||||
	SocialPost         string
 | 
						SocialPost         string
 | 
				
			||||||
	Staff              string
 | 
						Staff              string
 | 
				
			||||||
 | 
						Segment            string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	Communication:      "communication",
 | 
						Communication:      "communication",
 | 
				
			||||||
	Order:              "order",
 | 
						Order:              "order",
 | 
				
			||||||
| 
						 | 
					@ -22,8 +28,13 @@ var prefixes = struct {
 | 
				
			||||||
	Supplier:           "supplier",
 | 
						Supplier:           "supplier",
 | 
				
			||||||
	Bank:               "bank",
 | 
						Bank:               "bank",
 | 
				
			||||||
	Seller:             "seller",
 | 
						Seller:             "seller",
 | 
				
			||||||
 | 
						AuthSMS:            "auth_sms",
 | 
				
			||||||
 | 
						Selly:              "selly",
 | 
				
			||||||
	SupplierUser:       "supplier_user",
 | 
						SupplierUser:       "supplier_user",
 | 
				
			||||||
	SupplierRole:       "supplier_role",
 | 
						SupplierRole:       "supplier_role",
 | 
				
			||||||
 | 
						SupplierPermission: "supplier_permission",
 | 
				
			||||||
 | 
						Withdraw:           "withdraw",
 | 
				
			||||||
 | 
						Notification:       "notification",
 | 
				
			||||||
	SocialPost:         "social_post",
 | 
						SocialPost:         "social_post",
 | 
				
			||||||
	Staff:              "staff",
 | 
						Staff:              "staff",
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,12 +8,40 @@ func getLocationValue(val string) string {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var Location = struct {
 | 
					var Location = struct {
 | 
				
			||||||
	GetLocationByCode         string
 | 
						GetLocationByCode         string
 | 
				
			||||||
 | 
						GetLocationByCodeNew      string
 | 
				
			||||||
	GetProvincesByCodes       string
 | 
						GetProvincesByCodes       string
 | 
				
			||||||
 | 
						GetProvincesByCodesNew    string
 | 
				
			||||||
	GetDistrictsByCodes       string
 | 
						GetDistrictsByCodes       string
 | 
				
			||||||
 | 
						GetDistrictsByCodesNew    string
 | 
				
			||||||
	GetWardsByCodes           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"),
 | 
						GetLocationByCode:         getLocationValue("get_location_warehouse"),
 | 
				
			||||||
 | 
						GetLocationByCodeNew:      getLocationValue("get_location_warehouse_new"),
 | 
				
			||||||
	GetProvincesByCodes:       getLocationValue("get_provinces_by_codes"),
 | 
						GetProvincesByCodes:       getLocationValue("get_provinces_by_codes"),
 | 
				
			||||||
 | 
						GetProvincesByCodesNew:    getLocationValue("get_provinces_by_codes_new"),
 | 
				
			||||||
	GetDistrictsByCodes:       getLocationValue("get_districts_by_codes"),
 | 
						GetDistrictsByCodes:       getLocationValue("get_districts_by_codes"),
 | 
				
			||||||
 | 
						GetDistrictsByCodesNew:    getLocationValue("get_districts_by_codes_new"),
 | 
				
			||||||
	GetWardsByCodes:           getLocationValue("get_wards_by_codes"),
 | 
						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
 | 
						UpdateLogisticInfoFailed string
 | 
				
			||||||
	ORNotUpdateStatus        string
 | 
						ORNotUpdateStatus        string
 | 
				
			||||||
	GetSupplierOrders        string
 | 
						GetSupplierOrders        string
 | 
				
			||||||
 | 
						GetSupplierCash          string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	UpdateORStatus:           getOrderValue("update_outbound_request_status"),
 | 
						UpdateORStatus:           getOrderValue("update_outbound_request_status"),
 | 
				
			||||||
	CancelDelivery:           getOrderValue("cancel_delivery"),
 | 
						CancelDelivery:           getOrderValue("cancel_delivery"),
 | 
				
			||||||
| 
						 | 
					@ -20,4 +21,5 @@ var Order = struct {
 | 
				
			||||||
	UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
 | 
						UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"),
 | 
				
			||||||
	ORNotUpdateStatus:        getOrderValue("outbound_request_not_update_status"),
 | 
						ORNotUpdateStatus:        getOrderValue("outbound_request_not_update_status"),
 | 
				
			||||||
	GetSupplierOrders:        getOrderValue("get_supplier_orders"),
 | 
						GetSupplierOrders:        getOrderValue("get_supplier_orders"),
 | 
				
			||||||
 | 
						GetSupplierCash:          getOrderValue("get_supplier_cash"),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					package subject
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// getSegmentValue ...
 | 
				
			||||||
 | 
					func getSegmentValue(val string) string {
 | 
				
			||||||
 | 
						return fmt.Sprintf("%s.%s", prefixes.Segment, val)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Segment ...
 | 
				
			||||||
 | 
					var Segment = struct {
 | 
				
			||||||
 | 
						GetListSegmentInfo string
 | 
				
			||||||
 | 
					}{
 | 
				
			||||||
 | 
						GetListSegmentInfo: getSegmentValue("get_list_segment_info"),
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -10,8 +10,22 @@ var Supplier = struct {
 | 
				
			||||||
	GetListSupplierInfo             string
 | 
						GetListSupplierInfo             string
 | 
				
			||||||
	GetSupplierContractBySupplierID string
 | 
						GetSupplierContractBySupplierID string
 | 
				
			||||||
	FindAll                         string
 | 
						FindAll                         string
 | 
				
			||||||
 | 
						GetListWarehouseFreeShip        string
 | 
				
			||||||
 | 
						CreateCashflow                  string
 | 
				
			||||||
 | 
						DeleteCashflow                  string
 | 
				
			||||||
 | 
						UpdateBalance                   string
 | 
				
			||||||
 | 
						GetCurrentBalance               string
 | 
				
			||||||
 | 
						GetFreeShipInfo                 string
 | 
				
			||||||
 | 
						FindAllOld                      string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	GetListSupplierInfo:             getSupplierValue("get_list_supplier_info"),
 | 
						GetListSupplierInfo:             getSupplierValue("get_list_supplier_info"),
 | 
				
			||||||
	GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
 | 
						GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
 | 
				
			||||||
	FindAll:                         getSupplierValue("find_all"),
 | 
						FindAll:                         getSupplierValue("find_all"),
 | 
				
			||||||
 | 
						GetListWarehouseFreeShip:        getSupplierValue("get_list_warehouse_free_ship"),
 | 
				
			||||||
 | 
						CreateCashflow:                  getSupplierValue("create_cashflow"),
 | 
				
			||||||
 | 
						DeleteCashflow:                  getSupplierValue("delete_cashflow"),
 | 
				
			||||||
 | 
						UpdateBalance:                   getSupplierValue("update_balance"),
 | 
				
			||||||
 | 
						GetCurrentBalance:               getSupplierValue("get_current_balance"),
 | 
				
			||||||
 | 
						GetFreeShipInfo:                 getSupplierValue("get_free_ship_info"),
 | 
				
			||||||
 | 
						FindAllOld:                      getSupplierValue("find_all_old"),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 {
 | 
					var SupplierRole = struct {
 | 
				
			||||||
 | 
						GetList             string
 | 
				
			||||||
 | 
						Detail              string
 | 
				
			||||||
	Create              string
 | 
						Create              string
 | 
				
			||||||
	Update              string
 | 
						Update              string
 | 
				
			||||||
 | 
						GetListBySupplierID string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
 | 
						GetList:             getRoleValue("get_list"),
 | 
				
			||||||
 | 
						Detail:              getRoleValue("detail"),
 | 
				
			||||||
	Create:              getRoleValue("create"),
 | 
						Create:              getRoleValue("create"),
 | 
				
			||||||
	Update:              getRoleValue("update"),
 | 
						Update:              getRoleValue("update"),
 | 
				
			||||||
 | 
						GetListBySupplierID: getRoleValue("get_list_by_supplierId"),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,18 +8,28 @@ func getSupplierUserValue(val string) string {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var SupplierUser = struct {
 | 
					var SupplierUser = struct {
 | 
				
			||||||
	// Users
 | 
						// Users
 | 
				
			||||||
 | 
						LoginUser      string
 | 
				
			||||||
 | 
						Logout         string
 | 
				
			||||||
 | 
						GetListUser    string
 | 
				
			||||||
 | 
						DetailUser     string
 | 
				
			||||||
	CreateOwner    string
 | 
						CreateOwner    string
 | 
				
			||||||
	UpdateOwner    string
 | 
						UpdateOwner    string
 | 
				
			||||||
	CreateStaff    string
 | 
						CreateStaff    string
 | 
				
			||||||
	UpdateStaff    string
 | 
						UpdateStaff    string
 | 
				
			||||||
	UpdateStatus   string
 | 
						UpdateStatus   string
 | 
				
			||||||
	ResetPassword  string
 | 
						ResetPassword  string
 | 
				
			||||||
 | 
						ChangePassword string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	// Users
 | 
						// Users
 | 
				
			||||||
 | 
						LoginUser:      getSupplierUserValue("login_user"),
 | 
				
			||||||
 | 
						Logout:         getSupplierUserValue("logout"),
 | 
				
			||||||
 | 
						GetListUser:    getSupplierUserValue("get_list_user"),
 | 
				
			||||||
 | 
						DetailUser:     getSupplierUserValue("detail_user"),
 | 
				
			||||||
	CreateOwner:    getSupplierUserValue("create_owner"),
 | 
						CreateOwner:    getSupplierUserValue("create_owner"),
 | 
				
			||||||
	UpdateOwner:    getSupplierUserValue("update_owner"),
 | 
						UpdateOwner:    getSupplierUserValue("update_owner"),
 | 
				
			||||||
	CreateStaff:    getSupplierUserValue("create_staff"),
 | 
						CreateStaff:    getSupplierUserValue("create_staff"),
 | 
				
			||||||
	UpdateStaff:    getSupplierUserValue("update_staff"),
 | 
						UpdateStaff:    getSupplierUserValue("update_staff"),
 | 
				
			||||||
	UpdateStatus:   getSupplierUserValue("update_status"),
 | 
						UpdateStatus:   getSupplierUserValue("update_status"),
 | 
				
			||||||
	ResetPassword:  getSupplierUserValue("reset_password"),
 | 
						ResetPassword:  getSupplierUserValue("reset_password"),
 | 
				
			||||||
 | 
						ChangePassword: getSupplierUserValue("change_password"),
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,8 +7,7 @@ func getWarehouseValue(val string) string {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var Warehouse = struct {
 | 
					var Warehouse = struct {
 | 
				
			||||||
	CreateWarehouseIntoServiceSupplier string
 | 
						SyncWarehouseIntoServiceSupplier string
 | 
				
			||||||
	UpdateWarehouseIntoServiceSupplier string
 | 
					 | 
				
			||||||
	CreateOutboundRequest            string
 | 
						CreateOutboundRequest            string
 | 
				
			||||||
	UpdateOutboundRequestLogistic    string
 | 
						UpdateOutboundRequestLogistic    string
 | 
				
			||||||
	CancelOutboundRequest            string
 | 
						CancelOutboundRequest            string
 | 
				
			||||||
| 
						 | 
					@ -27,8 +26,7 @@ var Warehouse = struct {
 | 
				
			||||||
	GetWarehouses                    string
 | 
						GetWarehouses                    string
 | 
				
			||||||
	UpdateORDeliveryStatus           string
 | 
						UpdateORDeliveryStatus           string
 | 
				
			||||||
}{
 | 
					}{
 | 
				
			||||||
	CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"),
 | 
						SyncWarehouseIntoServiceSupplier: getWarehouseValue("sync_warehouse_into_service_supplier"),
 | 
				
			||||||
	UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"),
 | 
					 | 
				
			||||||
	AfterCreateWarehouse:             getWarehouseValue("after_create_warehouse"),
 | 
						AfterCreateWarehouse:             getWarehouseValue("after_create_warehouse"),
 | 
				
			||||||
	AfterUpdateWarehouse:             getWarehouseValue("after_update_warehouse"),
 | 
						AfterUpdateWarehouse:             getWarehouseValue("after_update_warehouse"),
 | 
				
			||||||
	CreateOutboundRequest:            getWarehouseValue("create_outbound_request"),
 | 
						CreateOutboundRequest:            getWarehouseValue("create_outbound_request"),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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