- 中午云打印
This commit is contained in:
@@ -22,7 +22,8 @@ const (
|
|||||||
VendorIDFeiE = 201 // 飞鹅打印机
|
VendorIDFeiE = 201 // 飞鹅打印机
|
||||||
VendorIDXiaoWM = 202 // 外卖管家打印机
|
VendorIDXiaoWM = 202 // 外卖管家打印机
|
||||||
VendorIDYiLianYun = 203 // 易联云
|
VendorIDYiLianYun = 203 // 易联云
|
||||||
VendorIDPrinterEnd = 203
|
VendorIDZhongWu = 204 // 中午云打印
|
||||||
|
VendorIDPrinterEnd = 204
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -39,6 +40,7 @@ var (
|
|||||||
VendorIDFeiE: "Feie",
|
VendorIDFeiE: "Feie",
|
||||||
VendorIDXiaoWM: "XiaoWM",
|
VendorIDXiaoWM: "XiaoWM",
|
||||||
VendorIDYiLianYun: "Yilianyun",
|
VendorIDYiLianYun: "Yilianyun",
|
||||||
|
VendorIDZhongWu: "ZhongWu",
|
||||||
}
|
}
|
||||||
VendorChineseNames = map[int]string{
|
VendorChineseNames = map[int]string{
|
||||||
VendorIDJD: "京东到家",
|
VendorIDJD: "京东到家",
|
||||||
@@ -53,6 +55,7 @@ var (
|
|||||||
VendorIDFeiE: "飞鹅",
|
VendorIDFeiE: "飞鹅",
|
||||||
VendorIDXiaoWM: "外卖管家",
|
VendorIDXiaoWM: "外卖管家",
|
||||||
VendorIDYiLianYun: "易联云",
|
VendorIDYiLianYun: "易联云",
|
||||||
|
VendorIDZhongWu: "中午云",
|
||||||
}
|
}
|
||||||
|
|
||||||
ShopChineseNames = map[int]string{
|
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) {
|
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)
|
err = fmt.Errorf("外卖管家打印机设备编号:%s长度不合法", printerNumber)
|
||||||
} else {
|
} else {
|
||||||
printerToken, err = api.XiaoWMAPI.AuthPrinter(printerNumber, "", "")
|
printerToken, err = api.XiaoWMAPI.AuthPrinter(printerNumber, "", "")
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"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/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"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 {
|
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) {
|
func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, deviceID, deviceSecret, msgTitle, msgContent string) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
globals.SugarLogger.Debugf("PrintMsg machineCode:%s", machineCode)
|
globals.SugarLogger.Debugf("PrintMsg deviceID:%s", deviceID)
|
||||||
if machineCode != "" {
|
if deviceID != "" {
|
||||||
if err = api.YilianyunAPI.PrintMsg(machineCode, msgTitle, msgContent); err == nil {
|
var status int
|
||||||
printerStatus, err = c.GetPrinterStatus(ctx, machineCode, "")
|
_, status, err = api.ZhongwuAPI.PrintMsg(deviceID, deviceSecret, msgContent)
|
||||||
|
if err == nil {
|
||||||
|
printerStatus = c.translateStatus(status)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
printerStatus = &partner.PrinterStatus{
|
printerStatus = &partner.PrinterStatus{
|
||||||
@@ -115,35 +118,43 @@ func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, machineCode, notUsed,
|
|||||||
return printerStatus, err
|
return printerStatus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, machineCode, notUsed string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, deviceID, deviceSecret string) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
status, err := api.YilianyunAPI.GetPrintStatus(machineCode)
|
status, err := api.ZhongwuAPI.GetPrinterStatus(deviceID, deviceSecret)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
printerStatus = &partner.PrinterStatus{
|
printerStatus = c.translateStatus(status)
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return printerStatus, err
|
return printerStatus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
|
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)
|
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) {
|
func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, deviceID, deviceSecret, printerName string) (notUsed1, notUsed2 string, err error) {
|
||||||
err = api.YilianyunAPI.AddPrinter(machineCode, secret, printerName)
|
if deviceID == "" || deviceSecret == "" {
|
||||||
|
err = fmt.Errorf("打印机ID与打印机密钥都不能为空")
|
||||||
|
}
|
||||||
|
// 中午云不需要注册
|
||||||
return "", "", err
|
return "", "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, machineCode, notUsed string) (err error) {
|
func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, deviceID, deviceSecret string) (err error) {
|
||||||
err = api.YilianyunAPI.DeletePrinter(machineCode)
|
// 中午云不需要注册
|
||||||
return err
|
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/feie"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/partner/printer/xiaowm"
|
_ "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/yilianyun"
|
||||||
|
_ "git.rosy.net.cn/jx-callback/business/partner/printer/zhongwu"
|
||||||
"github.com/astaxie/beego"
|
"github.com/astaxie/beego"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user