aa
This commit is contained in:
@@ -2,6 +2,7 @@ package jxprintapi
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi"
|
||||
@@ -83,7 +84,7 @@ func (a *API) signParams(apiParams map[string]interface{}) string {
|
||||
return fmt.Sprintf("%x", md5.Sum([]byte(a.appID+a.appKey+apiParams["timestamp"].(string))))
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI(apiName string, apiParams map[string]interface{}) (retVal interface{}, err error) {
|
||||
func (a *API) AccessAPI(apiName string, apiParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
||||
params := utils.MergeMaps(map[string]interface{}{
|
||||
"app_id": a.appID,
|
||||
"method": apiName,
|
||||
@@ -96,6 +97,7 @@ func (a *API) AccessAPI(apiName string, apiParams map[string]interface{}) (retVa
|
||||
params[signKey] = sign
|
||||
fullURL := prodURL
|
||||
request, _ := http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
request.Header.Set("charset", "UTF-8")
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
return request
|
||||
},
|
||||
@@ -104,31 +106,97 @@ func (a *API) AccessAPI(apiName string, apiParams map[string]interface{}) (retVa
|
||||
if jsonResult1 == nil {
|
||||
return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil")
|
||||
}
|
||||
code := int(utils.Interface2Int64WithDefault(jsonResult1["ret"], ResponseCodeSuccess))
|
||||
code := int(utils.Interface2Int64WithDefault(jsonResult1["code"], ResponseCodeSuccess))
|
||||
if code == ResponseCodeSuccess {
|
||||
retVal = jsonResult1["data"]
|
||||
retVal = jsonResult1
|
||||
return platformapi.ErrLevelSuccess, nil
|
||||
}
|
||||
newErr := utils.NewErrorIntCode(jsonResult1["msg"].(string), code)
|
||||
if _, ok := exceedLimitCodes[code]; ok {
|
||||
return platformapi.ErrLevelExceedLimit, newErr
|
||||
} else if _, ok := canRetryCodes[code]; ok {
|
||||
return platformapi.ErrLevelRecoverableErr, newErr
|
||||
} else {
|
||||
baseapi.SugarLogger.Debugf("feie AccessAPI failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true))
|
||||
return platformapi.ErrLevelCodeIsNotOK, newErr
|
||||
}
|
||||
newErr := utils.NewErrorIntCode(jsonResult1["desc"].(string), code)
|
||||
baseapi.SugarLogger.Debugf("jxprint AccessAPI failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true))
|
||||
return platformapi.ErrLevelCodeIsNotOK, newErr
|
||||
})
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) UpdatePrinter(print_no, name, sim, sound string, volume int) (err error) {
|
||||
_, err = a.AccessAPI("UpdatePrinter", map[string]interface{}{
|
||||
"print_no": print_no,
|
||||
"name": name,
|
||||
"sim": sim,
|
||||
"sound": sound,
|
||||
"volume": volume,
|
||||
type AddPrinterParam struct {
|
||||
PrintNo string `json:"print_no"` //打印机编号
|
||||
Name string `json:"name"` //打印机备注名
|
||||
SIM string `json:"sim"` //sim卡号
|
||||
}
|
||||
|
||||
func (a *API) AddPrinter(addPrinterParams []*AddPrinterParam) (err error) {
|
||||
data, _ := json.Marshal(addPrinterParams)
|
||||
_, err = a.AccessAPI("AddPrinter", map[string]interface{}{
|
||||
"prints": string(data),
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) DelPrinter(printNos []string) (err error) {
|
||||
data, _ := json.Marshal(printNos)
|
||||
_, err = a.AccessAPI("DelPrinter", map[string]interface{}{
|
||||
"print_nos": string(data),
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
type UpdatePrinterParam struct {
|
||||
PrintNo string `json:"print_no"` //打印机编号
|
||||
Name string `json:"name,omitempty"` //打印机备注名
|
||||
//SIM string `json:"sim,omitempty"` //sim卡号
|
||||
Sound string `json:"sound,omitempty"`
|
||||
Volume int `json:"volume,omitempty"`
|
||||
}
|
||||
|
||||
func (a *API) UpdatePrinter(updatePrinterParam *UpdatePrinterParam) (err error) {
|
||||
_, err = a.AccessAPI("UpdatePrinter", utils.Struct2FlatMap(updatePrinterParam))
|
||||
return err
|
||||
}
|
||||
|
||||
func (a *API) DelPrinterSeq(printNo string) (err error) {
|
||||
_, err = a.AccessAPI("DelPrinterSeq", map[string]interface{}{
|
||||
"print_no": printNo,
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
type GetPrintMsgResult struct {
|
||||
MsgID string `json:"msg_id"`
|
||||
PrintNo string `json:"print_no"`
|
||||
OrderNo int `json:"order_no"`
|
||||
Content string `json:"content"`
|
||||
Status int `json:"status"`
|
||||
Comment string `json:"comment"`
|
||||
}
|
||||
|
||||
func (a *API) GetPrintMsg(msgID string) (getPrintMsgResult *GetPrintMsgResult, err error) {
|
||||
result, err := a.AccessAPI("GetPrintMsg", map[string]interface{}{
|
||||
"msg_id": msgID,
|
||||
})
|
||||
if err == nil {
|
||||
utils.Map2StructByJson(result["data"].(map[string]interface{}), &getPrintMsgResult, false)
|
||||
}
|
||||
return getPrintMsgResult, err
|
||||
}
|
||||
|
||||
func (a *API) GetPrinterStatus(printNo string) (status int64, err error) {
|
||||
result, err := a.AccessAPI("GetPrinterStatus", map[string]interface{}{
|
||||
"print_no": printNo,
|
||||
})
|
||||
if err == nil {
|
||||
status = utils.Interface2Int64WithDefault(result["data"], 0)
|
||||
}
|
||||
return status, err
|
||||
}
|
||||
|
||||
func (a *API) DoPrint(printNo, content string, orderNo int) (msgID string, err error) {
|
||||
result, err := a.AccessAPI("DoPrint", map[string]interface{}{
|
||||
"print_no": printNo,
|
||||
"content": content,
|
||||
"order_no": orderNo,
|
||||
})
|
||||
if err == nil {
|
||||
msgID = result["data"].(string)
|
||||
}
|
||||
return msgID, err
|
||||
}
|
||||
|
||||
@@ -19,10 +19,65 @@ func init() {
|
||||
api = New("1000", "rfBd56ti2SMtYvSg")
|
||||
}
|
||||
|
||||
func TestUpdatePrinter(t *testing.T) {
|
||||
err := api.UpdatePrinter("20210615000011", "", "", "", 0)
|
||||
func TestAddPrinter(t *testing.T) {
|
||||
err := api.AddPrinter([]*AddPrinterParam{
|
||||
&AddPrinterParam{
|
||||
PrintNo: "20210615000012",
|
||||
Name: "test1",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("PrintMsg return error:%v", err)
|
||||
}
|
||||
//baseapi.SugarLogger.Debug(result)
|
||||
}
|
||||
|
||||
func TestDelPrinter(t *testing.T) {
|
||||
err := api.DelPrinter([]string{"20210615000012"})
|
||||
if err != nil {
|
||||
t.Fatalf("PrintMsg return error:%v", err)
|
||||
}
|
||||
//baseapi.SugarLogger.Debug(result)
|
||||
}
|
||||
|
||||
func TestUpdatePrinter(t *testing.T) {
|
||||
err := api.UpdatePrinter(&UpdatePrinterParam{
|
||||
PrintNo: "20210615000011",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("PrintMsg return error:%v", err)
|
||||
}
|
||||
//baseapi.SugarLogger.Debug(result)
|
||||
}
|
||||
|
||||
func TestDelPrinterSeq(t *testing.T) {
|
||||
err := api.DelPrinterSeq("20210615000012")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
//t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestGetPrintMsg(t *testing.T) {
|
||||
result, err := api.GetPrintMsg("20210715104649_F3Z2JXyj")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(result)
|
||||
}
|
||||
|
||||
func TestGetPrinterStatus(t *testing.T) {
|
||||
result, err := api.GetPrinterStatus("20210615000010")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(result)
|
||||
}
|
||||
|
||||
func TestDoPrint(t *testing.T) {
|
||||
result, err := api.DoPrint("20210615000010", "<center>测试一下</center>", 1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(result)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user