- 重构打印机流程,添加“外卖管家”打印

This commit is contained in:
gazebo
2019-04-09 11:35:27 +08:00
parent 358257c70d
commit 8c6b1bc067
14 changed files with 500 additions and 132 deletions

View File

@@ -53,6 +53,7 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) {
"opRequestStatusName": model.RequestStatusName,
"storeMsgSendStatusName": model.StoreMsgSendStatusName,
"shopChineseNames": model.ShopChineseNames,
"printerVendorInfo": model.PrinterVendorInfo,
},
}
Init()

View File

@@ -13,6 +13,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"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/netprinter"
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
@@ -374,20 +375,30 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
syncStatus |= model.SyncFlagStoreName
}
// 网络打印机处理
if valid["printerSN"] != nil || valid["printerKey"] != nil {
originalPrinterSN := store.PrinterSN
if valid["printerSN"] != nil {
store.PrinterSN = valid["printerSN"].(string)
}
if valid["printerKey"] != nil {
store.PrinterKey = valid["printerKey"].(string)
}
if store.PrinterSN != "" {
if err = addNetPrinter(store.PrinterSN, store.PrinterKey, store.Name); err != nil {
return 0, err
if valid["printerVendorID"] != nil {
printerVendorID := valid["printerVendorID"].(int)
if printerVendorID != store.PrinterVendorID {
if handler := partner.GetPrinterPlatformFromVendorID(store.PrinterVendorID); handler != nil {
handler.UnregisterPrinter(ctx, store)
}
} else if originalPrinterSN != "" {
api.FeieAPI.PrinterDelList([]string{originalPrinterSN})
store.PrinterSN = ""
store.PrinterKey = ""
store.PrinterVendorID = printerVendorID
}
}
if valid["printerSN"] != nil || valid["printerKey"] != nil {
if valid["printerKey"] != nil && valid["printerSN"] == nil {
valid["printerSN"] = store.PrinterSN
}
if valid["printerSN"] != nil && valid["printerKey"] == nil {
valid["printerKey"] = store.PrinterKey
}
var handler partner.IPrinterHandler
if handler, err = netprinter.GetHandlerFromStore(store); err != nil {
return 0, err
}
if err = handler.RegisterPrinter(ctx, store, valid["printerSN"].(string), valid["printerKey"].(string)); err != nil {
return 0, err
}
}

View File

@@ -884,3 +884,11 @@ func RefreshEbaiBadComment(ctx *jxcontext.Context, fromTime, toTime time.Time, i
}
return hint, err
}
func PrintMsg(ctx *jxcontext.Context, vendorID int, id1, id2, msg string) (printerStatus *partner.PrinterStatus, err error) {
handler := partner.GetPrinterPlatformFromVendorID(vendorID)
if handler == nil {
return nil, fmt.Errorf("打印机厂商:%d当前不被支持请检查vendorID", vendorID)
}
return handler.PrintMsg(ctx, id1, id2, msg)
}