Feature/get bank info #23
			
				
			
		
		
		
	|  | @ -0,0 +1,55 @@ | |||
| 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" | ||||
| ) | ||||
| 
 | ||||
| // Bank ...
 | ||||
| type Bank struct{} | ||||
| 
 | ||||
| // GetBank ...
 | ||||
| func GetBank() Bank { | ||||
| 	return Bank{} | ||||
| } | ||||
| 
 | ||||
| func (s Bank) GetBankById(bankID string) (*model.BankBrief, error) { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Bank.GetBankById, toBytes(bankID)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	var r struct { | ||||
| 		Data  *model.BankBrief `json:"data"` | ||||
| 		Error string           `json:"error"` | ||||
| 	} | ||||
| 
 | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if r.Error != "" { | ||||
| 		return nil, errors.New(r.Error) | ||||
| 	} | ||||
| 
 | ||||
| 	return r.Data, nil | ||||
| } | ||||
| 
 | ||||
| func (s Bank) CheckBankAndBranchByID(p model.BankBranchRequest) bool { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Bank.CheckBankAndBranchByID, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return false | ||||
| 	} | ||||
| 
 | ||||
| 	var r struct { | ||||
| 		Error string `json:"error"` | ||||
| 	} | ||||
| 
 | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return false | ||||
| 	} | ||||
| 	return r.Error == "" | ||||
| } | ||||
|  | @ -0,0 +1,39 @@ | |||
| package client | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"errors" | ||||
| 
 | ||||
| 	"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 | ||||
| } | ||||
|  | @ -28,7 +28,7 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode | |||
| 		Data  *model.ResponseLocationAddress `json:"data"` | ||||
| 		Error string                         `json:"error"` | ||||
| 	} | ||||
| 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
|  | @ -38,7 +38,7 @@ func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*mode | |||
| 	return r.Data, nil | ||||
| } | ||||
| 
 | ||||
| // GetProvincesByCodes ... ...
 | ||||
| // GetProvincesByCodes ...
 | ||||
| func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodes, toBytes(p)) | ||||
| 	if err != nil { | ||||
|  | @ -46,11 +46,11 @@ func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.Lo | |||
| 	} | ||||
| 
 | ||||
| 	var r struct { | ||||
| 		Data  *model.LocationProvinceResponse `json:"data"'` | ||||
| 		Data  *model.LocationProvinceResponse `json:"data"` | ||||
| 		Error string                          `json:"error"` | ||||
| 	} | ||||
| 
 | ||||
| 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
|  | @ -71,7 +71,7 @@ func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.Lo | |||
| 		Error string                          `json:"error"` | ||||
| 	} | ||||
| 
 | ||||
| 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
|  | @ -94,7 +94,7 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa | |||
| 		Error string                      `json:"error"` | ||||
| 	} | ||||
| 
 | ||||
| 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
|  | @ -104,3 +104,211 @@ func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWa | |||
| 
 | ||||
| 	return r.Data, nil | ||||
| } | ||||
| 
 | ||||
| // GetProvinceByCondition ...
 | ||||
| func (l Location) GetProvinceByCondition(p model.ProvinceRequestCondition) (*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.ProvinceRequestCondition) ([]*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.DistrictRequestCondition) (*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.DistrictRequestCondition) ([]*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.WardRequestCondition) (*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.WardRequestCondition) ([]*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.ProvinceRequestCondition) (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.DistrictRequestCondition) (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.WardRequestCondition) (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 | ||||
| } | ||||
|  |  | |||
|  | @ -98,3 +98,24 @@ func (o Order) ORNotUpdateStatus(p model.OrderORsNotUpdateStatus) error { | |||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // GetSupplierOrders ...
 | ||||
| func (o Order) GetSupplierOrders(p model.OrderSupplierQuery) (*model.SupplierOrderList, error) { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Order.GetSupplierOrders, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	var ( | ||||
| 		r struct { | ||||
| 			Data  model.SupplierOrderList `json:"data"` | ||||
| 			Error string                  `json:"error"` | ||||
| 		} | ||||
| 	) | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	if r.Error != "" { | ||||
| 		return nil, errors.New(r.Error) | ||||
| 	} | ||||
| 	return &r.Data, nil | ||||
| } | ||||
|  |  | |||
|  | @ -79,3 +79,39 @@ func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.Suppl | |||
| 
 | ||||
| 	return r.Data, nil | ||||
| } | ||||
| 
 | ||||
| // CreateWarehouseIntoServiceSupplier ...
 | ||||
| func (s Supplier) CreateWarehouseIntoServiceSupplier(p model.CreateSupplierWarehousePayload) error { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Warehouse.CreateWarehouseIntoServiceSupplier, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	var r struct { | ||||
| 		Error string `json:"error"` | ||||
| 	} | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if r.Error != "" { | ||||
| 		return errors.New(r.Error) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // UpdateWarehouseIntoServiceSupplier ...
 | ||||
| func (s Supplier) UpdateWarehouseIntoServiceSupplier(p model.UpdateSupplierWarehousePayload) error { | ||||
| 	msg, err := natsio.GetServer().Request(subject.Warehouse.UpdateWarehouseIntoServiceSupplier, toBytes(p)) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	var r struct { | ||||
| 		Error string `json:"error"` | ||||
| 	} | ||||
| 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if r.Error != "" { | ||||
| 		return errors.New(r.Error) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,11 @@ | |||
| package model | ||||
| 
 | ||||
| // BankBranchBrief ...
 | ||||
| type BankBranchBrief struct { | ||||
| 	ID       string `json:"_id"` | ||||
| 	City     string `json:"city"` | ||||
| 	BankCode string `json:"bankCode"` | ||||
| 	Bank     string `json:"bank"` | ||||
| 	Active   bool   `json:"active"` | ||||
| 	Name     string `json:"name"` | ||||
| } | ||||
|  | @ -0,0 +1,6 @@ | |||
| package model | ||||
| 
 | ||||
| type BankBranchRequest struct { | ||||
| 	BankID   string `json:"bankId"` | ||||
| 	BranchID string `json:"branchId"` | ||||
| } | ||||
|  | @ -0,0 +1,21 @@ | |||
| package model | ||||
| 
 | ||||
| // MultiLang ...
 | ||||
| type MultiLang struct { | ||||
| 	En string `json:"en"` | ||||
| 	Vi string `json:"vi"` | ||||
| } | ||||
| 
 | ||||
| // BankBrief ...
 | ||||
| type BankBrief struct { | ||||
| 	ID                       string    `json:"_id"` | ||||
| 	Name                     MultiLang `json:"name"` | ||||
| 	ShortName                string    `json:"shortName"` | ||||
| 	Active                   bool      `json:"active"` | ||||
| 	BenBankName              string    `json:"benBankName"` | ||||
| 	BankCode                 int       `json:"bankCode"` | ||||
| 	IsBranchRequired         bool      `json:"isBranchRequired"` | ||||
| 	SearchString             string    `json:"searchString"` | ||||
| 	BeneficiaryForVietinbank string    `json:"beneficiaryForVietinbank"` | ||||
| 	CreatedBy                string    `json:"createdBy,omitempty"` | ||||
| } | ||||
|  | @ -1,23 +1,64 @@ | |||
| package model | ||||
| 
 | ||||
| // LocationRequestPayload ...
 | ||||
| type LocationRequestPayload struct { | ||||
| 	Province int `json:"province"` | ||||
| 	District int `json:"district"` | ||||
| 	Ward     int `json:"ward"` | ||||
| } | ||||
| type ( | ||||
| 	LocationRequestPayload struct { | ||||
| 		Province int `json:"province"` | ||||
| 		District int `json:"district"` | ||||
| 		Ward     int `json:"ward"` | ||||
| 	} | ||||
| 
 | ||||
| // ProvinceRequestPayload ...
 | ||||
| type ProvinceRequestPayload struct { | ||||
| 	Codes []int `json:"codes"` | ||||
| } | ||||
| 	// ProvinceRequestPayload ...
 | ||||
| 	ProvinceRequestPayload struct { | ||||
| 		Codes []int `json:"codes"` | ||||
| 	} | ||||
| 
 | ||||
| // DistrictRequestPayload ...
 | ||||
| type DistrictRequestPayload struct { | ||||
| 	Codes []int `json:"codes"` | ||||
| } | ||||
| 	// ProvinceRequestCondition ...
 | ||||
| 	ProvinceRequestCondition struct { | ||||
| 		Code    int      `json:"code"` | ||||
| 		Codes   []int    `json:"codes"` | ||||
| 		Slug    string   `json:"slug"` | ||||
| 		Slugs   []string `json:"slugs"` | ||||
| 		Keyword string   `json:"keyword"` | ||||
| 		Region  string   `json:"region"` | ||||
| 	} | ||||
| 
 | ||||
| // WardRequestPayload ...
 | ||||
| type WardRequestPayload struct { | ||||
| 	Codes []int `json:"codes"` | ||||
| } | ||||
| 	// DistrictRequestPayload ...
 | ||||
| 	DistrictRequestPayload struct { | ||||
| 		Codes []int `json:"codes"` | ||||
| 	} | ||||
| 
 | ||||
| 	// DistrictRequestCondition ...
 | ||||
| 	DistrictRequestCondition struct { | ||||
| 		Code         int    `json:"code"` | ||||
| 		Codes        []int  `json:"codes"` | ||||
| 		ProvinceCode int    `json:"provinceCode"` | ||||
| 		Slug         string `json:"slug"` | ||||
| 		ProvinceSlug string `json:"provinceSlug"` | ||||
| 		Keyword      string `json:"keyword"` | ||||
| 	} | ||||
| 
 | ||||
| 	// WardRequestPayload ...
 | ||||
| 	WardRequestPayload struct { | ||||
| 		Codes []int `json:"codes"` | ||||
| 	} | ||||
| 
 | ||||
| 	// WardRequestCondition ...
 | ||||
| 	WardRequestCondition struct { | ||||
| 		Code         int    `json:"code"` | ||||
| 		Codes        []int  `json:"codes"` | ||||
| 		DistrictCode int    `json:"districtCode"` | ||||
| 		ProvinceCode int    `json:"provinceCode"` | ||||
| 		Slug         string `json:"slug"` | ||||
| 		DistrictSlug string `json:"districtSlug"` | ||||
| 		ProvinceSlug string `json:"provinceSlug"` | ||||
| 	} | ||||
| 
 | ||||
| 	// ProvinceDistinctWithField ...
 | ||||
| 	ProvinceDistinctWithField struct { | ||||
| 		Conditions struct { | ||||
| 			Region string `json:"region"` | ||||
| 		} `json:"conditions"` | ||||
| 		Field string `json:"filed"` | ||||
| 	} | ||||
| ) | ||||
|  |  | |||
|  | @ -1,43 +1,96 @@ | |||
| package model | ||||
| 
 | ||||
| type ResponseLocationAddress struct { | ||||
| 	Province LocationProvince `json:"province"` | ||||
| 	District LocationDistrict `json:"district"` | ||||
| 	Ward     LocationWard     `json:"ward"` | ||||
| } | ||||
| import "time" | ||||
| 
 | ||||
| // LocationProvince ...
 | ||||
| type LocationProvince struct { | ||||
| 	ID   string `json:"id"` | ||||
| 	Name string `json:"name"` | ||||
| 	Code int    `json:"code"` | ||||
| } | ||||
| type ( | ||||
| 	// ResponseLocationAddress ...
 | ||||
| 	ResponseLocationAddress struct { | ||||
| 		Province LocationProvince `json:"province"` | ||||
| 		District LocationDistrict `json:"district"` | ||||
| 		Ward     LocationWard     `json:"ward"` | ||||
| 	} | ||||
| 
 | ||||
| // LocationDistrict ...
 | ||||
| type LocationDistrict struct { | ||||
| 	ID   string `json:"id"` | ||||
| 	Name string `json:"name"` | ||||
| 	Code int    `json:"code"` | ||||
| } | ||||
| 	// LocationProvince ...
 | ||||
| 	LocationProvince struct { | ||||
| 		ID             string `json:"id"` | ||||
| 		Name           string `json:"name"` | ||||
| 		Code           int    `json:"code"` | ||||
| 		RegionCode     string `json:"regionCode"` | ||||
| 		MainRegionCode string `json:"mainRegionCode"` | ||||
| 	} | ||||
| 
 | ||||
| // LocationWard ...
 | ||||
| type LocationWard struct { | ||||
| 	ID   string `json:"id"` | ||||
| 	Name string `json:"name"` | ||||
| 	Code int    `json:"code"` | ||||
| } | ||||
| 	// LocationDistrict ...
 | ||||
| 	LocationDistrict struct { | ||||
| 		ID   string `json:"id"` | ||||
| 		Name string `json:"name"` | ||||
| 		Code int    `json:"code"` | ||||
| 	} | ||||
| 
 | ||||
| // LocationProvinceResponse ...
 | ||||
| type LocationProvinceResponse struct { | ||||
| 	Provinces []LocationProvince `json:"provinces"` | ||||
| } | ||||
| 	// LocationWard ...
 | ||||
| 	LocationWard struct { | ||||
| 		ID   string `json:"id"` | ||||
| 		Name string `json:"name"` | ||||
| 		Code int    `json:"code"` | ||||
| 	} | ||||
| 
 | ||||
| // LocationDistrictResponse ...
 | ||||
| type LocationDistrictResponse struct { | ||||
| 	Districts []LocationDistrict `json:"districts"` | ||||
| } | ||||
| 	// LocationProvinceResponse ...
 | ||||
| 	LocationProvinceResponse struct { | ||||
| 		Provinces []LocationProvince `json:"provinces"` | ||||
| 	} | ||||
| 
 | ||||
| // LocationWardResponse ...
 | ||||
| type LocationWardResponse struct { | ||||
| 	Wards []LocationWard `json:"wards"` | ||||
| } | ||||
| 	// LocationDistrictResponse ...
 | ||||
| 	LocationDistrictResponse struct { | ||||
| 		Districts []LocationDistrict `json:"districts"` | ||||
| 	} | ||||
| 
 | ||||
| 	// LocationWardResponse ...
 | ||||
| 	LocationWardResponse struct { | ||||
| 		Wards []LocationWard `json:"wards"` | ||||
| 	} | ||||
| 
 | ||||
| 	// LocationProvinceDetailResponse ...
 | ||||
| 	LocationProvinceDetailResponse struct { | ||||
| 		ID             string    `json:"_id"` | ||||
| 		Name           string    `json:"name"` | ||||
| 		SearchString   string    `json:"searchString"` | ||||
| 		Slug           string    `json:"slug"` | ||||
| 		OldSlug        string    `json:"oldSlug"` | ||||
| 		Code           int       `json:"code"` | ||||
| 		CountryCode    string    `json:"countryCode"` | ||||
| 		RegionCode     string    `json:"regionCode"` | ||||
| 		MainRegionCode string    `json:"mainRegionCode"` | ||||
| 		TotalDistricts int       `json:"totalDistricts"` | ||||
| 		TotalWards     int       `json:"totalWards"` | ||||
| 		CreatedAt      time.Time `json:"createdAt"` | ||||
| 		UpdatedAt      time.Time `json:"updatedAt"` | ||||
| 	} | ||||
| 
 | ||||
| 	// LocationDistrictDetailResponse ...
 | ||||
| 	LocationDistrictDetailResponse struct { | ||||
| 		ID           string    `json:"_id"` | ||||
| 		Name         string    `json:"name"` | ||||
| 		SearchString string    `json:"searchString"` | ||||
| 		Slug         string    `json:"slug"` | ||||
| 		OldSlug      string    `json:"oldSlug"` | ||||
| 		Code         int       `json:"code"` | ||||
| 		ProvinceCode int       `json:"provinceCode"` | ||||
| 		Area         int       `json:"area"` | ||||
| 		TotalWards   int       `json:"totalWards"` | ||||
| 		CreatedAt    time.Time `json:"createdAt"` | ||||
| 		UpdatedAt    time.Time `json:"updatedAt"` | ||||
| 	} | ||||
| 
 | ||||
| 	// LocationWardDetailResponse ...
 | ||||
| 	LocationWardDetailResponse struct { | ||||
| 		ID           string    `json:"_id"` | ||||
| 		Name         string    `json:"name"` | ||||
| 		SearchString string    `json:"searchString"` | ||||
| 		Slug         string    `json:"slug"` | ||||
| 		OldSlugs     []string  `json:"oldSlugs"` | ||||
| 		Code         int       `json:"code"` | ||||
| 		DistrictCode int       `json:"districtCode"` | ||||
| 		ProvinceCode int       `json:"provinceCode"` | ||||
| 		CreatedAt    time.Time `json:"createdAt"` | ||||
| 		UpdatedAt    time.Time `json:"updatedAt"` | ||||
| 	} | ||||
| ) | ||||
|  |  | |||
|  | @ -38,3 +38,13 @@ type OrderUpdateLogisticInfoFailed struct { | |||
| type OrderORsNotUpdateStatus struct { | ||||
| 	ORCodes []string `json:"orCodes"` | ||||
| } | ||||
| 
 | ||||
| // OrderSupplierQuery ...
 | ||||
| type OrderSupplierQuery struct { | ||||
| 	Limit        int64    `json:"limit"` | ||||
| 	Page         int64    `json:"page"` | ||||
| 	FromDate     string   `json:"fromDate"` | ||||
| 	ToDate       string   `json:"toDate"` | ||||
| 	SupplierID   string   `json:"supplierId"` | ||||
| 	WarehouseIDs []string `json:"warehouseIDs"` | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,35 @@ | |||
| package model | ||||
| 
 | ||||
| import "time" | ||||
| 
 | ||||
| // SupplierOrderList ...
 | ||||
| type SupplierOrderList struct { | ||||
| 	List  []SupplierOrder `json:"list"` | ||||
| 	Total int64           `json:"total" example:"100"` | ||||
| 	Limit int64           `json:"limit" example:"20"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrder ...
 | ||||
| type SupplierOrder struct { | ||||
| 	ID              string                `json:"_id"` | ||||
| 	Code            string                `json:"code"` | ||||
| 	CreatedAt       time.Time             `json:"createdAt"` | ||||
| 	Status          string                `json:"status"` | ||||
| 	WarehouseStatus string                `json:"warehouseStatus"` | ||||
| 	Items           []SupplierOrderItem   `json:"items"` | ||||
| 	Delivery        SupplierOrderDelivery `json:"delivery"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrderItem ...
 | ||||
| type SupplierOrderItem struct { | ||||
| 	ID          string `json:"_id" example:"1231"` | ||||
| 	SupplierSKU string `json:"supplierSku" example:"SUPPLIER_SKU"` | ||||
| 	Quantity    int64  `json:"quantity" example:"2"` | ||||
| } | ||||
| 
 | ||||
| // SupplierOrderDelivery ...
 | ||||
| type SupplierOrderDelivery struct { | ||||
| 	Code    string `json:"code" example:"123187287"` | ||||
| 	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"` | ||||
| } | ||||
|  | @ -21,16 +21,25 @@ type ResponseListSellerInfoSupportChat struct { | |||
| 
 | ||||
| // ResponseSellerInfoSupportChat ...
 | ||||
| type ResponseSellerInfoSupportChat struct { | ||||
| 	ID           string               `json:"_id"` | ||||
| 	Name         string               `json:"name"` | ||||
| 	Code         string               `json:"code"` | ||||
| 	Membership   SellerMembershipInfo `json:"membership"` | ||||
| 	Info         SellerContactInfo    `json:"info"` | ||||
| 	Team         *TeamInfo            `json:"team,omitempty"` | ||||
| 	Statistic    SellerStatistic      `json:"statistic"` | ||||
| 	TrackingTime *SellerTrackingTime  `json:"trackingTime"` | ||||
| 	Invitee      *InviteeInfo         `json:"invitee"` | ||||
| 	CreatedAt    time.Time            `json:"createdAt"` | ||||
| 	ID           string                 `json:"_id"` | ||||
| 	Name         string                 `json:"name"` | ||||
| 	Code         string                 `json:"code"` | ||||
| 	Membership   SellerMembershipInfo   `json:"membership"` | ||||
| 	Info         SellerContactInfo      `json:"info"` | ||||
| 	Team         *TeamInfo              `json:"team,omitempty"` | ||||
| 	Statistic    SellerStatistic        `json:"statistic"` | ||||
| 	TrackingTime *SellerTrackingTime    `json:"trackingTime"` | ||||
| 	Invitee      *InviteeInfo           `json:"invitee"` | ||||
| 	CreatedAt    time.Time              `json:"createdAt"` | ||||
| 	PlanPackage  *SellerPlanPackageInfo `json:"planPackage"` | ||||
| } | ||||
| 
 | ||||
| // SellerPlanPackageInfo ...
 | ||||
| type SellerPlanPackageInfo struct { | ||||
| 	ID        string    `json:"_id"` | ||||
| 	Name      string    `json:"name"` | ||||
| 	Level     int       `json:"level"` | ||||
| 	CreatedAt time.Time `json:"createdAt"` | ||||
| } | ||||
| 
 | ||||
| // SellerTrackingTime ...
 | ||||
|  |  | |||
|  | @ -22,3 +22,19 @@ type SupplierRequestPayload struct { | |||
| 	PIC            string | ||||
| 	ContractStatus string | ||||
| } | ||||
| 
 | ||||
| type CreateSupplierWarehousePayload struct { | ||||
| 	Supplier     string `json:"supplier"` | ||||
| 	Warehouse    string `json:"warehouse"` | ||||
| 	ProvinceCode int    `json:"provinceCode"` | ||||
| 	DistrictCode int    `json:"districtCode"` | ||||
| 	WardCode     int    `json:"wardCode"` | ||||
| } | ||||
| 
 | ||||
| type UpdateSupplierWarehousePayload struct { | ||||
| 	Supplier     string `json:"supplier"` | ||||
| 	Warehouse    string `json:"warehouse"` | ||||
| 	ProvinceCode int    `json:"provinceCode"` | ||||
| 	DistrictCode int    `json:"districtCode"` | ||||
| 	WardCode     int    `json:"wardCode"` | ||||
| } | ||||
|  |  | |||
|  | @ -36,9 +36,11 @@ type InsuranceOpts struct { | |||
| 
 | ||||
| // OutboundRequestItem ...
 | ||||
| type OutboundRequestItem struct { | ||||
| 	SupplierSKU string `json:"supplierSKU"` | ||||
| 	Quantity    int64  `json:"quantity"` | ||||
| 	UnitCode    string `json:"unitCode"` | ||||
| 	SupplierSKU string  `json:"supplierSKU"` | ||||
| 	Quantity    int64   `json:"quantity"` | ||||
| 	UnitCode    string  `json:"unitCode"` | ||||
| 	Price       float64 `json:"price"` | ||||
| 	Name        string  `json:"name"` | ||||
| } | ||||
| 
 | ||||
| // CustomerInfo ...
 | ||||
|  | @ -63,6 +65,7 @@ type UpdateOutboundRequestLogisticInfoPayload struct { | |||
| 	ShippingLabel string `json:"shippingLabel"` | ||||
| 	TrackingCode  string `json:"trackingCode"` | ||||
| 	ORCode        string `json:"orCode"` | ||||
| 	TPLCode       string `json:"tplCode"` | ||||
| } | ||||
| 
 | ||||
| // CancelOutboundRequest ...
 | ||||
|  |  | |||
|  | @ -0,0 +1,17 @@ | |||
| package subject | ||||
| 
 | ||||
| import "fmt" | ||||
| 
 | ||||
| func getBankValue(val string) string { | ||||
| 	return fmt.Sprintf("%s.%s", prefixes.Bank, val) | ||||
| } | ||||
| 
 | ||||
| var Bank = struct { | ||||
| 	GetBankById            string | ||||
| 	GetBankBranchById      string | ||||
| 	CheckBankAndBranchByID string | ||||
| }{ | ||||
| 	GetBankById:            getBankValue("get_bank_by_id"), | ||||
| 	GetBankBranchById:      getBankValue("get_bank_branch_by_id"), | ||||
| 	CheckBankAndBranchByID: getBankValue("check_bank_and_brach_by_id"), | ||||
| } | ||||
|  | @ -6,6 +6,7 @@ var prefixes = struct { | |||
| 	News          string | ||||
| 	Warehouse     string | ||||
| 	Location      string | ||||
| 	Bank          string | ||||
| 	Supplier      string | ||||
| 	Seller        string | ||||
| }{ | ||||
|  | @ -15,5 +16,6 @@ var prefixes = struct { | |||
| 	Warehouse:     "warehouse", | ||||
| 	Location:      "location", | ||||
| 	Supplier:      "supplier", | ||||
| 	Bank:          "bank", | ||||
| 	Seller:        "seller", | ||||
| } | ||||
|  |  | |||
|  | @ -7,13 +7,33 @@ func getLocationValue(val string) string { | |||
| } | ||||
| 
 | ||||
| var Location = struct { | ||||
| 	GetLocationByCode   string | ||||
| 	GetProvincesByCodes string | ||||
| 	GetDistrictsByCodes string | ||||
| 	GetWardsByCodes     string | ||||
| 	GetLocationByCode         string | ||||
| 	GetProvincesByCodes       string | ||||
| 	GetDistrictsByCodes       string | ||||
| 	GetWardsByCodes           string | ||||
| 	GetProvinceByCondition    string | ||||
| 	GetProvincesByCondition   string | ||||
| 	GetDistrictByCondition    string | ||||
| 	GetDistrictsByCondition   string | ||||
| 	GetWardByCondition        string | ||||
| 	GetWardsByCondition       string | ||||
| 	CountProvinceByCondition  string | ||||
| 	CountDistrictByCondition  string | ||||
| 	CountWardByCondition      string | ||||
| 	ProvinceDistinctWithField string | ||||
| }{ | ||||
| 	GetLocationByCode:   getLocationValue("get_location_warehouse"), | ||||
| 	GetProvincesByCodes: getLocationValue("get_provinces_by_codes"), | ||||
| 	GetDistrictsByCodes: getLocationValue("get_districts_by_codes"), | ||||
| 	GetWardsByCodes:     getLocationValue("get_wards_by_codes"), | ||||
| 	GetLocationByCode:         getLocationValue("get_location_warehouse"), | ||||
| 	GetProvincesByCodes:       getLocationValue("get_provinces_by_codes"), | ||||
| 	GetDistrictsByCodes:       getLocationValue("get_districts_by_codes"), | ||||
| 	GetWardsByCodes:           getLocationValue("get_wards_by_codes"), | ||||
| 	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"), | ||||
| } | ||||
|  |  | |||
|  | @ -12,10 +12,12 @@ var Order = struct { | |||
| 	ChangeDeliveryStatus     string | ||||
| 	UpdateLogisticInfoFailed string | ||||
| 	ORNotUpdateStatus        string | ||||
| 	GetSupplierOrders        string | ||||
| }{ | ||||
| 	UpdateORStatus:           getOrderValue("update_outbound_request_status"), | ||||
| 	CancelDelivery:           getOrderValue("cancel_delivery"), | ||||
| 	ChangeDeliveryStatus:     getOrderValue("change_delivery_status"), | ||||
| 	UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), | ||||
| 	ORNotUpdateStatus:        getOrderValue("outbound_request_not_update_status"), | ||||
| 	GetSupplierOrders:        getOrderValue("get_supplier_orders"), | ||||
| } | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ var Warehouse = struct { | |||
| 	SyncORStatus                  string | ||||
| 	WebhookTNC                    string | ||||
| 	WebhookGlobalCare             string | ||||
| 	WebhookOnPoint                string | ||||
| 	FindOne                       string | ||||
| 	FindByCondition               string | ||||
| 	Distinct                      string | ||||
|  | @ -21,6 +22,8 @@ var Warehouse = struct { | |||
| 	AfterUpdateWarehouse          string | ||||
| 	AfterCreateWarehouse          string | ||||
| 	UpdateIsClosedSupplier        string | ||||
| 	CreateWarehouseIntoServiceSupplier string | ||||
| 	UpdateWarehouseIntoServiceSupplier string | ||||
| 	GetWarehouses                 string | ||||
| }{ | ||||
| 	AfterCreateWarehouse:          getWarehouseValue("after_create_warehouse"), | ||||
|  | @ -32,10 +35,13 @@ var Warehouse = struct { | |||
| 	SyncORStatus:                  getWarehouseValue("sync_or_status"), | ||||
| 	WebhookTNC:                    getWarehouseValue("webhook_tnc"), | ||||
| 	WebhookGlobalCare:             getWarehouseValue("webhook_global_care"), | ||||
| 	WebhookOnPoint:                getWarehouseValue("webhook_on_point"), | ||||
| 	FindOne:                       getWarehouseValue("find_one"), | ||||
| 	FindByCondition:               getWarehouseValue("find_all_by_condition"), | ||||
| 	Distinct:                      getWarehouseValue("distinct"), | ||||
| 	Count:                         getWarehouseValue("count"), | ||||
| 	UpdateIsClosedSupplier:        getWarehouseValue("update_is_closed_supplier"), | ||||
| 	CreateWarehouseIntoServiceSupplier: getWarehouseValue("create_warehouse_into_service_supplier"), | ||||
| 	UpdateWarehouseIntoServiceSupplier: getWarehouseValue("update_warehouse_into_service_supplier"), | ||||
| 	GetWarehouses:                 getWarehouseValue("get_warehouses"), | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue