diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index ec78f45ec..52f944102 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -762,7 +762,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa delete(valid, "printerKey") } // 网络打印机处理 - if valid["printerVendorID"] != nil || valid["printerSN"] != nil || valid["printerKey"] != nil || valid["soundPercentage"] != nil { + if valid["printerVendorID"] != nil || valid["printerSN"] != nil || valid["printerKey"] != nil { if valid["printerVendorID"] == nil { valid["printerVendorID"] = store.PrinterVendorID } @@ -788,12 +788,6 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa if newID2 != "" { valid["printerKey"] = newID2 } - if valid["soundPercentage"] != nil { - err = handler.SetSound(ctx, store.PrinterSN, store.PrinterKey, jxutils.TranslateSoundSize(printerVendorID, valid["soundPercentage"].(int))) - if err != nil { - return 0, err - } - } } else { valid["printerVendorID"] = 0 valid["printerSN"] = "" @@ -804,6 +798,16 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa handler.UnregisterPrinter(ctx, store.PrinterSN, store.PrinterKey) } } + if valid["soundPercentage"] != nil { + handler := partner.GetPrinterPlatformFromVendorID(printerVendorID) + if handler == nil { + return 0, fmt.Errorf("不支持的打印机厂商ID:%d", printerVendorID) + } + err = handler.SetSound(ctx, store.PrinterSN, store.PrinterKey, jxutils.TranslateSoundSize(printerVendorID, valid["soundPercentage"].(int))) + if err != nil { + return 0, err + } + } if valid["linkStoreID"] != nil { linkStoreID := int(utils.Interface2Int64WithDefault(valid["linkStoreID"], 0)) linkStoreID, err = dao.GetRealLinkStoreID(db, linkStoreID)