1
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package lakala
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -20,8 +21,12 @@ func (a *API) MerchantIncoming(incoming *MerchantIncomingReq) (string, string, e
|
||||
|
||||
// GetMerchantInfo 获取商户详细信息
|
||||
func (a *API) GetMerchantInfo(customerNo string) (*MerchantObj, error) {
|
||||
data := map[string]interface{}{"customerNo": customerNo}
|
||||
result, err := a.AccessAPI2(BaseProdChangeUrl, GetMerchantInfo, http.MethodPost, "", data)
|
||||
parameters, _ := json.Marshal(map[string]string{"customerNo": customerNo})
|
||||
encryptParam, err := EncryptByPrivateKey(parameters, PrivateKeyBegin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result, err := a.AccessAPI2(BaseProdChangeUrl, GetMerchantInfo, http.MethodPost, "", map[string]interface{}{"data": encryptParam})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -30,9 +35,48 @@ func (a *API) GetMerchantInfo(customerNo string) (*MerchantObj, error) {
|
||||
return nil, fmt.Errorf(result["message"].(string))
|
||||
}
|
||||
|
||||
decryptData := result["data"].(string)
|
||||
base64DecryData, _ := base64.StdEncoding.DecodeString(decryptData)
|
||||
resultData, err := DecryptByPublicKey(base64DecryData, PublicKeyBegin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
merchant := &MerchantObj{}
|
||||
merchantInfo, _ := json.Marshal(result["data"])
|
||||
json.Unmarshal(merchantInfo, merchant)
|
||||
if err = json.Unmarshal(resultData, merchant); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return merchant, nil
|
||||
}
|
||||
|
||||
// GetTerminalInfo 获取终端信息
|
||||
func (a *API) GetTerminalInfo(posSn string) (*TerminalInfo, error) {
|
||||
parameters, _ := json.Marshal(map[string]string{"posSn": posSn})
|
||||
encryptParam, err := EncryptByPrivateKey(parameters, PrivateKeyBegin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result, err := a.AccessAPI2(BaseProdChangeUrl, GetTerminalInfo, http.MethodPost, "", map[string]interface{}{"data": encryptParam})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result["code"].(string) != Success {
|
||||
return nil, fmt.Errorf(result["message"].(string))
|
||||
}
|
||||
|
||||
decryptData := result["data"].(string)
|
||||
base64DecryData, _ := base64.StdEncoding.DecodeString(decryptData)
|
||||
resultData, err := DecryptByPublicKey(base64DecryData, PublicKeyBegin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
merchant := &TerminalInfo{}
|
||||
if err = json.Unmarshal(resultData, merchant); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return merchant, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user