- 中午云打印
This commit is contained in:
@@ -22,7 +22,8 @@ const (
|
||||
VendorIDFeiE = 201 // 飞鹅打印机
|
||||
VendorIDXiaoWM = 202 // 外卖管家打印机
|
||||
VendorIDYiLianYun = 203 // 易联云
|
||||
VendorIDPrinterEnd = 203
|
||||
VendorIDZhongWu = 204 // 中午云打印
|
||||
VendorIDPrinterEnd = 204
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -39,6 +40,7 @@ var (
|
||||
VendorIDFeiE: "Feie",
|
||||
VendorIDXiaoWM: "XiaoWM",
|
||||
VendorIDYiLianYun: "Yilianyun",
|
||||
VendorIDZhongWu: "ZhongWu",
|
||||
}
|
||||
VendorChineseNames = map[int]string{
|
||||
VendorIDJD: "京东到家",
|
||||
@@ -53,6 +55,7 @@ var (
|
||||
VendorIDFeiE: "飞鹅",
|
||||
VendorIDXiaoWM: "外卖管家",
|
||||
VendorIDYiLianYun: "易联云",
|
||||
VendorIDZhongWu: "中午云",
|
||||
}
|
||||
|
||||
ShopChineseNames = map[int]string{
|
||||
@@ -125,6 +128,11 @@ var (
|
||||
"终端号",
|
||||
"密钥",
|
||||
},
|
||||
VendorIDZhongWu: []string{
|
||||
VendorChineseNames[VendorIDZhongWu],
|
||||
"打印机ID",
|
||||
"打印机密钥",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, printerNumber, notUsed, printerName string) (newID1, printerToken string, err error) {
|
||||
if len(printerNumber) != len("7JizmSyiXNzkggaqU") {
|
||||
if printerNumber == "" { //len(printerNumber) != len("7JizmSyiXNzkggaqU") {
|
||||
err = fmt.Errorf("外卖管家打印机设备编号:%s长度不合法", printerNumber)
|
||||
} else {
|
||||
printerToken, err = api.XiaoWMAPI.AuthPrinter(printerNumber, "", "")
|
||||
|
||||
@@ -5,7 +5,8 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/yilianyunapi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/zhongwuapi"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
@@ -98,14 +99,16 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) GetVendorID() int {
|
||||
return model.VendorIDYiLianYun
|
||||
return model.VendorIDZhongWu
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, machineCode, notUsed, msgTitle, msgContent string) (printerStatus *partner.PrinterStatus, err error) {
|
||||
globals.SugarLogger.Debugf("PrintMsg machineCode:%s", machineCode)
|
||||
if machineCode != "" {
|
||||
if err = api.YilianyunAPI.PrintMsg(machineCode, msgTitle, msgContent); err == nil {
|
||||
printerStatus, err = c.GetPrinterStatus(ctx, machineCode, "")
|
||||
func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, deviceID, deviceSecret, msgTitle, msgContent string) (printerStatus *partner.PrinterStatus, err error) {
|
||||
globals.SugarLogger.Debugf("PrintMsg deviceID:%s", deviceID)
|
||||
if deviceID != "" {
|
||||
var status int
|
||||
_, status, err = api.ZhongwuAPI.PrintMsg(deviceID, deviceSecret, msgContent)
|
||||
if err == nil {
|
||||
printerStatus = c.translateStatus(status)
|
||||
}
|
||||
} else {
|
||||
printerStatus = &partner.PrinterStatus{
|
||||
@@ -115,35 +118,43 @@ func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, machineCode, notUsed,
|
||||
return printerStatus, err
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, machineCode, notUsed string) (printerStatus *partner.PrinterStatus, err error) {
|
||||
status, err := api.YilianyunAPI.GetPrintStatus(machineCode)
|
||||
func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, deviceID, deviceSecret string) (printerStatus *partner.PrinterStatus, err error) {
|
||||
status, err := api.ZhongwuAPI.GetPrinterStatus(deviceID, deviceSecret)
|
||||
if err == nil {
|
||||
printerStatus = &partner.PrinterStatus{
|
||||
PrintResult: partner.PrintResultSuccess,
|
||||
}
|
||||
if status == yilianyunapi.PrintStatusOffline {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOffline
|
||||
} else if status == yilianyunapi.PrintStatusOnline {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOnlineOK
|
||||
} else {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOnlineAbnormal
|
||||
}
|
||||
printerStatus = c.translateStatus(status)
|
||||
}
|
||||
return printerStatus, err
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
|
||||
globals.SugarLogger.Debugf("yilianyun PrintOrderByOrder orderID:%s", order.VendorOrderID)
|
||||
globals.SugarLogger.Debugf("zhongwu PrintOrderByOrder orderID:%s", order.VendorOrderID)
|
||||
content := c.getOrderContent(order, store.Tel1)
|
||||
return c.PrintMsg(ctx, store.PrinterSN, "", order.VendorOrderID, content)
|
||||
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, machineCode, secret, printerName string) (notUsed1, notUsed2 string, err error) {
|
||||
err = api.YilianyunAPI.AddPrinter(machineCode, secret, printerName)
|
||||
func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, deviceID, deviceSecret, printerName string) (notUsed1, notUsed2 string, err error) {
|
||||
if deviceID == "" || deviceSecret == "" {
|
||||
err = fmt.Errorf("打印机ID与打印机密钥都不能为空")
|
||||
}
|
||||
// 中午云不需要注册
|
||||
return "", "", err
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, machineCode, notUsed string) (err error) {
|
||||
err = api.YilianyunAPI.DeletePrinter(machineCode)
|
||||
func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, deviceID, deviceSecret string) (err error) {
|
||||
// 中午云不需要注册
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *PrinterHandler) translateStatus(status int) (printerStatus *partner.PrinterStatus) {
|
||||
printerStatus = &partner.PrinterStatus{
|
||||
PrintResult: partner.PrintResultNoPrinter,
|
||||
}
|
||||
if status == zhongwuapi.PrinterStatusOnline {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOnlineOK
|
||||
} else if status == zhongwuapi.PrinterStatusLackPaper {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOnlineAbnormal
|
||||
} else {
|
||||
printerStatus.PrinterStatus = partner.PrinterStatusOffline
|
||||
}
|
||||
return printerStatus
|
||||
}
|
||||
|
||||
1
main.go
1
main.go
@@ -23,6 +23,7 @@ import (
|
||||
_ "git.rosy.net.cn/jx-callback/business/partner/printer/feie"
|
||||
_ "git.rosy.net.cn/jx-callback/business/partner/printer/xiaowm"
|
||||
_ "git.rosy.net.cn/jx-callback/business/partner/printer/yilianyun"
|
||||
_ "git.rosy.net.cn/jx-callback/business/partner/printer/zhongwu"
|
||||
"github.com/astaxie/beego"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user