diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go
index e9fbd52e3..7846bd193 100644
--- a/business/jxstore/event/event_tcp_utils.go
+++ b/business/jxstore/event/event_tcp_utils.go
@@ -478,44 +478,49 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
if strings.Contains(result, byteSignSound) && strings.Contains(result, byteSignSoundE) {
if sounds := regexpSound.FindStringSubmatch(result); len(sounds) > 0 {
sound := sounds[1]
- if printer, _ := dao.GetPrinter(dao.GetDB(), printMsg.PrintNo); printer != nil {
- //先把结束标签消了
- result = strings.ReplaceAll(result, byteSignSoundE, "")
- //fd 固定
- //001a (声音数据长度高八位低八位)
- //0101 固定
- soundPrefix := ""
- if printer.Sound != "" {
- soundPrefix = "[v" + utils.Int2Str(printer.Volume*2) + "]" + printer.Sound
- } else {
- soundPrefix = "[v" + utils.Int2Str(printer.Volume*2) + "]"
- }
- hexPrefix, _ := jxutils.Utf8ToGbk([]byte(soundPrefix))
- hexPrefixStr := hex.EncodeToString(hexPrefix)
-
- // 将语音包转换为十六进制
- voice := ""
- for _, v := range strings.Split(sound, "2c") {
- soundNum, _ := hex.DecodeString(v) // 十六进制转字符串
- intSound, _ := strconv.ParseInt(string(soundNum), 10, 64)
- int16Sound := strconv.FormatInt(intSound, 16)
- voice += int16Sound
- }
- globals.SugarLogger.Debug("voice============", voice)
-
- realSound := hexPrefixStr + voice
- allLen := fmt.Sprintf("%x", (len("fd001a0101")+len(realSound))/2)
- if len(allLen) < 2 {
- allLen = "0" + allLen
- }
- globals.SugarLogger.Debug("realSound============", realSound)
- globals.SugarLogger.Debug("allLen============", allLen)
-
- soundLenH, soundLenX := int2h8l8(int64((len(realSound) + len("0101")) / 2))
- globals.SugarLogger.Debug("result1============", result)
- result = strings.ReplaceAll(result, byteSignSound, hexSignSound+allLen+"fd"+soundLenH+soundLenX+"0100"+hexPrefixStr)
- globals.SugarLogger.Debug("result2============", result)
+ printer := model.Printer{}
+ printer.Volume = 4
+ printer.Sound = "sounda"
+ //if printer, _ := dao.GetPrinter(dao.GetDB(), printMsg.PrintNo); printer != nil {
+ //先把结束标签消了
+ result = strings.ReplaceAll(result, byteSignSoundE, "")
+ //fd 固定
+ //001a (声音数据长度高八位低八位)
+ //0101 固定
+ soundPrefix := ""
+ if printer.Sound != "" {
+ soundPrefix = "[v" + utils.Int2Str(printer.Volume*2) + "]" + printer.Sound
+ } else {
+ soundPrefix = "[v" + utils.Int2Str(printer.Volume*2) + "]"
}
+ hexPrefix, _ := jxutils.Utf8ToGbk([]byte(soundPrefix))
+ hexPrefixStr := hex.EncodeToString(hexPrefix)
+
+ // 将语音包转换为十六进制
+ voice := ""
+ for _, v := range strings.Split(sound, "2c") {
+ soundNum, _ := hex.DecodeString(v) // 十六进制转字符串
+ intSound, _ := strconv.ParseInt(string(soundNum), 10, 64)
+ int16Sound := strconv.FormatInt(intSound, 16)
+ voice += int16Sound
+ }
+ voiceDataGBK, _ := jxutils.Utf8ToGbk([]byte(replaceContentOther(voice)))
+ voiceData := hex.EncodeToString(voiceDataGBK)
+ globals.SugarLogger.Debug("voice============", voiceData)
+
+ realSound := hexPrefixStr + voiceData
+ allLen := fmt.Sprintf("%x", (len("fd001a0101")+len(realSound))/2)
+ if len(allLen) < 2 {
+ allLen = "0" + allLen
+ }
+ globals.SugarLogger.Debug("realSound============", realSound)
+ globals.SugarLogger.Debug("allLen============", allLen)
+
+ soundLenH, soundLenX := int2h8l8(int64((len(realSound) + len("0101")) / 2))
+ globals.SugarLogger.Debug("result1============", result)
+ result = strings.ReplaceAll(result, byteSignSound, hexSignSound+allLen+"fd"+soundLenH+soundLenX+"0100"+hexPrefixStr)
+ globals.SugarLogger.Debug("result2============", result)
+ //}
}
}
// 自动合成语音功能
@@ -525,9 +530,6 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
// if printer, _ := dao.GetPrinter(dao.GetDB(), printMsg.PrintNo); printer != nil {
// //先把结束标签消了
// result = strings.ReplaceAll(result, byteSignSoundE, "")
- // //fd 固定
- // //001a (声音数据长度高八位低八位)
- // //0101 固定
// soundPrefix := ""
// if printer.Sound != "" {
// soundPrefix = "[v" + utils.Int2Str(printer.Volume*2) + "]" + printer.Sound
diff --git a/business/jxstore/event/print_test.go b/business/jxstore/event/print_test.go
index 9ad290f72..424f5c709 100644
--- a/business/jxstore/event/print_test.go
+++ b/business/jxstore/event/print_test.go
@@ -13,7 +13,7 @@ func TestPrintMsg(t *testing.T) {
msg := &model.PrintMsg{
ModelIDCULD: model.ModelIDCULD{},
PrintNo: "20220707000002",
- Content: "\t