From 48c36173bbf8327ea7c3ce4c9c37ee0a12c584eb Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 9 Apr 2019 12:03:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?-=20=E5=A4=96=E5=8D=96=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=9C=BA=E6=B7=BB=E5=8A=A0=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/printer/feie/feie.go | 15 ++++---- business/partner/printer/xiaowm/xiaowm.go | 46 ++++++++++++++++------- 2 files changed, 39 insertions(+), 22 deletions(-) diff --git a/business/partner/printer/feie/feie.go b/business/partner/printer/feie/feie.go index b938ed298..2a3fe4e99 100644 --- a/business/partner/printer/feie/feie.go +++ b/business/partner/printer/feie/feie.go @@ -115,15 +115,14 @@ func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, id1, id2, msg string) return printerStatus, err } -func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, id1, id2 string) (printerStatus *partner.PrinterStatus, err error) { - sn := id1 - printerStatus = &partner.PrinterStatus{ - PrintResult: partner.PrintResultSuccess, +func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerSN, printerKey string) (printerStatus *partner.PrinterStatus, err error) { + if printerStatus.PrinterStatus, err = api.FeieAPI.QueryPrinterStatus(printerSN); err == nil { + printerStatus = &partner.PrinterStatus{ + PrintResult: partner.PrintResultSuccess, + } + printerStatus.Printed, printerStatus.Waiting, err = api.FeieAPI.QueryOrderInfoByDate(printerSN, time.Now()) } - if printerStatus.PrinterStatus, err = api.FeieAPI.QueryPrinterStatus(sn); err == nil { - printerStatus.Printed, printerStatus.Waiting, err = api.FeieAPI.QueryOrderInfoByDate(sn, time.Now()) - } - return printerStatus, nil + return printerStatus, err } func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) { diff --git a/business/partner/printer/xiaowm/xiaowm.go b/business/partner/printer/xiaowm/xiaowm.go index bb2573ad1..bf65933d5 100644 --- a/business/partner/printer/xiaowm/xiaowm.go +++ b/business/partner/printer/xiaowm/xiaowm.go @@ -5,6 +5,8 @@ import ( "strings" "time" + "git.rosy.net.cn/baseapi/platformapi/xiaowmapi" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" @@ -100,11 +102,11 @@ func (c *PrinterHandler) GetVendorID() int { return model.VendorIDXiaoWM } -func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, id1, id2, msg string) (printerStatus *partner.PrinterStatus, err error) { - globals.SugarLogger.Debugf("PrintMsg id1:%s", id1) - if id1 != "" { - if _, err = api.XiaoWMAPI.SendMsg(id1, id2, msg); err == nil { - printerStatus, err = c.GetPrinterStatus(ctx, id1, id2) +func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, printerNumber, printerToken, msg string) (printerStatus *partner.PrinterStatus, err error) { + globals.SugarLogger.Debugf("PrintMsg printerNumber:%s", printerNumber) + if printerNumber != "" { + if _, err = api.XiaoWMAPI.SendMsg(printerNumber, printerToken, msg); err == nil { + printerStatus, err = c.GetPrinterStatus(ctx, printerNumber, printerToken) } } else { printerStatus = &partner.PrinterStatus{ @@ -114,7 +116,22 @@ func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, id1, id2, msg string) return printerStatus, err } -func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, id1, id2 string) (printerStatus *partner.PrinterStatus, err error) { +func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerNumber, printerToken string) (printerStatus *partner.PrinterStatus, err error) { + runningState, paperState, err := api.XiaoWMAPI.GetPrinterStatus(printerNumber, printerToken) + if err == nil { + printerStatus = &partner.PrinterStatus{ + PrintResult: partner.PrintResultSuccess, + } + if runningState == xiaowmapi.RunningStateOffline { + printerStatus.PrinterStatus = partner.PrinterStatusOffline + } else { + if paperState == xiaowmapi.PaperStateLackPaper { + printerStatus.PrinterStatus = partner.PrinterStatusOnlineAbnormal + } else { + printerStatus.PrinterStatus = partner.PrinterStatusOnlineOK + } + } + } return printerStatus, err } @@ -124,16 +141,17 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, content) } -func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, store *model.Store, id1, id2 string) (err error) { - if store.PrinterSN != "" && (store.PrinterSN != id1 || store.PrinterKey != id2) { +func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, store *model.Store, printerNumber, notUsed string) (err error) { + if store.PrinterSN != "" && store.PrinterSN != printerNumber { err = c.UnregisterPrinter(ctx, store) } if true { //err == nil { - if id1 != "" { - // if err = addNetPrinter(id1, id2, store.Name); err == nil { - // store.PrinterSN = id1 - // store.PrinterKey = id2 - // } + if printerNumber != "" { + var printerToken string + if printerToken, err = api.XiaoWMAPI.AuthPrinter(printerNumber, "", ""); err == nil { + store.PrinterSN = printerNumber + store.PrinterKey = printerToken + } } } return err @@ -141,7 +159,7 @@ func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, store *model.St func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, store *model.Store) (err error) { if store.PrinterSN != "" { - // _, _, err = api.FeieAPI.PrinterDelList([]string{store.PrinterSN}) + err = api.XiaoWMAPI.DelPrinter(store.PrinterSN, store.PrinterKey) } return err } From af1dbe225c53805874ae581a7c1a9100fce52aaf Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 9 Apr 2019 13:41:41 +0800 Subject: [PATCH 2/2] =?UTF-8?q?-=20=E5=9B=A0=E4=B8=BA=E5=9C=A8UpdateStore?= =?UTF-8?q?=E6=98=AF=E5=AD=98=E7=9A=84valid=EF=BC=8C=E6=89=80=E4=BB=A5?= =?UTF-8?q?=E5=9C=A8=E8=B0=83=E7=94=A8=E6=89=93=E5=8D=B0=E6=9C=BA=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=9B=B8=E5=85=B3=E7=9A=84=E5=87=BD=E6=95=B0=E5=90=8E?= =?UTF-8?q?=E6=8C=89store=E6=9B=B4=E6=96=B0valid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index c83a9657c..264c2decb 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -384,6 +384,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa store.PrinterSN = "" store.PrinterKey = "" store.PrinterVendorID = printerVendorID + valid["printerSN"], valid["printerKey"] = store.PrinterSN, store.PrinterKey } } if valid["printerSN"] != nil || valid["printerKey"] != nil { @@ -400,6 +401,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa if err = handler.RegisterPrinter(ctx, store, valid["printerSN"].(string), valid["printerKey"].(string)); err != nil { return 0, err } + valid["printerSN"], valid["printerKey"] = store.PrinterSN, store.PrinterKey } for _, v := range []string{