diff --git a/business/model/const.go b/business/model/const.go index db1047a82..00bbc8e4d 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -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", + "打印机密钥", + }, } ) diff --git a/business/partner/printer/xiaowm/xiaowm.go b/business/partner/printer/xiaowm/xiaowm.go index b4c42f4f2..6a9696a45 100644 --- a/business/partner/printer/xiaowm/xiaowm.go +++ b/business/partner/printer/xiaowm/xiaowm.go @@ -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, "", "") diff --git a/business/partner/printer/zhongwu/zhongwu.go b/business/partner/printer/zhongwu/zhongwu.go index aba72c40b..9f76b2796 100644 --- a/business/partner/printer/zhongwu/zhongwu.go +++ b/business/partner/printer/zhongwu/zhongwu.go @@ -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 +} diff --git a/main.go b/main.go index 6d3a49403..55f8e3120 100644 --- a/main.go +++ b/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" )