fix get supplier #9

Merged
anbuiselly merged 2 commits from get-location-warehouse into develop 2022-08-29 07:38:31 +00:00
4 changed files with 42 additions and 7 deletions

View File

@ -17,15 +17,36 @@ func GetSupplier() Supplier {
return Supplier{} return Supplier{}
} }
func (s Supplier) GetSupplierInfo(supplierID model.GetSupplierRequest) (*model.ResponseSupplierInfo, error) { func (s Supplier) GetListSupplierInfo(p model.GetSupplierRequest) ([]*model.ResponseSupplierInfo, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierInfo, toBytes(supplierID)) msg, err := natsio.GetServer().Request(subject.Supplier.GetListSupplierInfo, toBytes(p))
if err != nil { if err != nil {
return nil, err return nil, err
} }
var r struct { var r struct {
Data *model.ResponseSupplierInfo `json:"data"` Data []*model.ResponseSupplierInfo `json:"data"`
Error string `json:"error"` 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) GetSupplierContractBySupplierID(p model.GetSupplierContractRequest) (*model.ResponseSupplierContract, error) {
msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierContractBySupplierID, toBytes(p))
if err != nil {
return nil, err
}
var r struct {
Data *model.ResponseSupplierContract `json:"data"`
Error string `json:"error"`
} }
if err := json.Unmarshal(msg.Data, &r); err != nil { if err := json.Unmarshal(msg.Data, &r); err != nil {

View File

@ -6,5 +6,9 @@ import (
// GetSupplierRequest ... // GetSupplierRequest ...
type GetSupplierRequest struct { type GetSupplierRequest struct {
ID primitive.ObjectID `json:"_id"` ListID []primitive.ObjectID `json:"listID"`
}
type GetSupplierContractRequest struct {
SupplierID primitive.ObjectID `json:"supplierID"`
} }

View File

@ -5,3 +5,11 @@ type ResponseSupplierInfo struct {
ID string `json:"id"` ID string `json:"id"`
Name string `json:"name"` Name string `json:"name"`
} }
// ResponseSupplierContract ...
type ResponseSupplierContract struct {
ID string `json:"id"`
Supplier string `json:"supplier"`
Name string `json:"name"`
Status string `json:"status"`
}

View File

@ -7,7 +7,9 @@ func getSupplierValue(val string) string {
} }
var Supplier = struct { var Supplier = struct {
GetSupplierInfo string GetListSupplierInfo string
GetSupplierContractBySupplierID string
}{ }{
GetSupplierInfo: getSupplierValue("get_supplier_info"), GetListSupplierInfo: getSupplierValue("get_list_supplier_info"),
GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"),
} }