diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go
index c0355e982..d71554eb9 100644
--- a/business/jxstore/event/event_tcp_utils.go
+++ b/business/jxstore/event/event_tcp_utils.go
@@ -41,57 +41,58 @@ const (
//标签
const (
- signBR = "
" //换行
- signCenter = "
" //居中
- signLeft = "" //居左
- signRight = "" //居右
- signBig = "" //字体放大
- signHighBig = "" //字体纵向放大
- signWideBig = "" //字体横向放大
- signQrCenter = "" //二维码居中
- signQrLeft = "" //二维码居左
- signQrRight = "" //二维码居右
- signSound, signSoundEnd = "", ""
+ signBR = "
" //换行
+ signCenter = "" //居中
+ signLeft = "" //居左
+ signRight = "" //居右
+ signBig = "" //字体放大
+ signHighBig = "" //字体纵向放大
+ signWideBig = "" //字体横向放大
+ signQrCenter = "" //二维码居中
+ signQrLeft = "" //二维码居左
+ signQrRight = "" //二维码居右
+ signSound, signSoundEnd = "", "" // 声音结束标签
+ // GPRS通讯说明,打印机识别二进制码
hexSignBROrEXE = "0a"
- hexSignCenter = "1b6101"
- hexSignLeft = "1b6100"
- hexSignRight = "1b6102"
+ hexSignCenter = "1b6101" // 居中打印
+ hexSignLeft = "1b6100" // 恢复居左打印
+ hexSignRight = "1b6102" // 居右打印
hexSignNormal = "1b2100"
- hexSignBig = "1b2130"
- hexSignHighBig = "1b2110"
- hexSignWideBig = "1b2120"
- hexSignQrCenter = "1d5802"
- hexSignQrLeft = "1d5800"
- hexSignQrRight = "1d5804"
- hexSignQr = "1b5a000106" //"1b5a000106" 0600 : 后面二维码的字节数
- hexSignQrEnd = "000a1b40" //000a0a0a1b40
- hexSignSound = "1d6b40"
+ hexSignBig = "1b2130" // 横向及纵向都放大
+ hexSignHighBig = "1b2110" // 倍高
+ hexSignWideBig = "1b2120" // 倍宽
+ hexSignQrCenter = "1d5802" // 二维码居中
+ hexSignQrLeft = "1d5800" // 二维码居左
+ hexSignQrRight = "1d5804" // 二维码居右
+ hexSignQr = "1b5a000106" // "1b5a000106" 0600 : 后面二维码的字节数
+ hexSignQrEnd = "000a1b40" // 000a0a0a1b40
+ hexSignSound = "1d6b40" // 音频指令
- //起始标签
- byteSignBR = "3c62723e" //换行
- byteSignCenter = "3c63656e7465723e" //居中
- byteSignLeft = "3c6c6566743e" //居左
- byteSignRight = "3c72696768743e" //居右
- byteSignBig = "3c623e" //字体放大
- byteSignHighBig = "3c68623e" //字体纵向放大
- byteSignWideBig = "3c77623e" //字体横向放大
- byteSignQrCenter = "3c7172633e"
- byteSignQrLeft = "3c71726c3e"
- byteSignQrRight = "3c7172723e"
- byteSignSound = "3c736f756e643e"
+ //起始标签 -- 自定义标签utf8转码为gbk字符集
+ byteSignBR = "3c62723e" // 换行
+ byteSignCenter = "3c63656e7465723e" // 居中
+ byteSignLeft = "3c6c6566743e" // 居左
+ byteSignRight = "3c72696768743e" // 居右
+ byteSignBig = "3c623e" // 字体放大
+ byteSignHighBig = "3c68623e" // 字体纵向放大
+ byteSignWideBig = "3c77623e" // 字体横向放大
+ byteSignQrCenter = "3c7172633e" // 二维码居中
+ byteSignQrLeft = "3c71726c3e" // 二维码居左
+ byteSignQrRight = "3c7172723e" // 二维码居右
+ byteSignSound = "3c736f756e643e" // 声音
//结束标签
- byteSignCenterE = "3c2f63656e7465723e" //居中
- byteSignLeftE = "3c2f6c6566743e" //居左
- byteSignRightE = "3c2f72696768743e" //居右
- byteSignBigE = "3c2f623e" //字体放大
- byteSignHighBigE = "3c2f68623e" //字体纵向放大
- byteSignWideBigE = "3c2f77623e" //字体横向放大
- byteSignQrCenterE = "3c2f7172633e"
- byteSignQrLeftE = "3c2f71726c3e"
- byteSignQrRightE = "3c2f7172723e"
- byteSignSoundE = "3c2f736f756e643e"
+ byteSignCenterE = "3c2f63656e7465723e" // 居中
+ byteSignLeftE = "3c2f6c6566743e" // 居左
+ byteSignRightE = "3c2f72696768743e" // 居右
+ byteSignBigE = "3c2f623e" // 字体放大
+ byteSignHighBigE = "3c2f68623e" // 字体纵向放大
+ byteSignWideBigE = "3c2f77623e" // 字体横向放大
+ byteSignQrCenterE = "3c2f7172633e" // 二维码居中
+ byteSignQrLeftE = "3c2f71726c3e" // 二维码居左
+ byteSignQrRightE = "3c2f7172723e" // 二维码居右
+ byteSignSoundE = "3c2f736f756e643e" // 声音
)
var (
@@ -405,30 +406,37 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
result = strings.ReplaceAll(result, k, v)
}
}
+ // 居中标签
if strings.Contains(result, byteSignCenter) && strings.Contains(result, byteSignCenterE) {
result = strings.ReplaceAll(result, byteSignCenter, hexSignCenter)
result = strings.ReplaceAll(result, byteSignCenterE, hexSignBROrEXE+hexSignLeft)
}
+ // 居左标签
if strings.Contains(result, byteSignLeft) && strings.Contains(result, byteSignLeftE) {
result = strings.ReplaceAll(result, byteSignLeft, hexSignLeft)
result = strings.ReplaceAll(result, byteSignLeftE, hexSignBROrEXE+hexSignLeft)
}
+ // 居右标签
if strings.Contains(result, byteSignRight) && strings.Contains(result, byteSignRightE) {
result = strings.ReplaceAll(result, byteSignRight, hexSignRight)
result = strings.ReplaceAll(result, byteSignRightE, hexSignBROrEXE+hexSignLeft)
}
+ // 字体放大
if strings.Contains(result, byteSignBig) && strings.Contains(result, byteSignBigE) {
result = strings.ReplaceAll(result, byteSignBig, hexSignBig)
result = strings.ReplaceAll(result, byteSignBigE, hexSignBROrEXE+hexSignNormal)
}
+ // 字体高大
if strings.Contains(result, byteSignHighBig) && strings.Contains(result, byteSignHighBigE) {
result = strings.ReplaceAll(result, byteSignHighBig, hexSignHighBig)
result = strings.ReplaceAll(result, byteSignHighBigE, hexSignBROrEXE+hexSignNormal)
}
+ // 字体宽大
if strings.Contains(result, byteSignWideBig) && strings.Contains(result, byteSignWideBigE) {
result = strings.ReplaceAll(result, byteSignWideBig, hexSignWideBig)
result = strings.ReplaceAll(result, byteSignWideBigE, hexSignBROrEXE+hexSignNormal)
}
+ // 二维码居中
if strings.Contains(result, byteSignQrCenter) && strings.Contains(result, byteSignQrCenterE) {
if qrs := regexpQrc.FindStringSubmatch(result); len(qrs) > 0 {
lenqr = len(qrs[1]) / 2
@@ -440,6 +448,7 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
result = strings.ReplaceAll(result, byteSignQrCenter, hexSignQrCenter+hexSignQr+hexLenqr+"00")
result = strings.ReplaceAll(result, byteSignQrCenterE, hexSignQrEnd)
}
+ // 二维码局左
if strings.Contains(result, byteSignQrLeft) && strings.Contains(result, byteSignQrLeftE) {
if qrs := regexpQrl.FindStringSubmatch(result); len(qrs) > 0 {
lenqr = len(qrs[1]) / 2
@@ -451,6 +460,7 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
result = strings.ReplaceAll(result, byteSignQrLeft, hexSignQrLeft+hexSignQr+hexLenqr+"00")
result = strings.ReplaceAll(result, byteSignQrLeftE, hexSignQrEnd)
}
+ // 二维码居右
if strings.Contains(result, byteSignQrRight) && strings.Contains(result, byteSignQrRightE) {
if qrs := regexpQrr.FindStringSubmatch(result); len(qrs) > 0 {
lenqr = len(qrs[1])
@@ -462,6 +472,7 @@ func replaceContent(content string, printMsg *model.PrintMsg) (result string) {
result = strings.ReplaceAll(result, byteSignQrRight, hexSignQrRight+hexSignQr+hexLenqr+"00")
result = strings.ReplaceAll(result, byteSignQrRightE, hexSignQrEnd)
}
+ // 声音
if strings.Contains(result, byteSignSound) && strings.Contains(result, byteSignSoundE) {
if sounds := regexpSound.FindStringSubmatch(result); len(sounds) > 0 {
sound := sounds[1]
diff --git a/business/jxstore/event/print_test.go b/business/jxstore/event/print_test.go
new file mode 100644
index 000000000..194d0159d
--- /dev/null
+++ b/business/jxstore/event/print_test.go
@@ -0,0 +1,24 @@
+package event
+
+import (
+ "fmt"
+ "git.rosy.net.cn/jx-callback/business/model"
+ "testing"
+)
+
+func TestPrintMsg(t *testing.T) {
+
+ msg := &model.PrintMsg{
+ ModelIDCULD: model.ModelIDCULD{},
+ PrintNo: "1111",
+ Content: "\t您有新订单啦!\t\t京西果园
\t\t手机买菜上京西
极速到家送惊喜
--------------------------------
下单时间: 2021-08-27 21:57:26
预计送达: 2021-08-27 22:57:26
订单编号: 93154441730211100
美团外卖#19
93154441730211100
客户: 李大梦(先生)
电话: 15987200340
地址: 北浦伟业广场-2号楼 (伟业广场B区)@#云南省楚雄彝族自治州楚雄市鹿城镇伟业广场
客户备注:
【如遇缺货】: 缺货时电话与我沟通
商品明细:
品名 数量 单价 小计
--------------------------------
【自由拼】洗净红提160g/盒
x1 ¥9.20 ¥9.20
【果切】 牛奶木瓜约300g/份
x1 ¥9.70 ¥9.70
【自由拼】严选香蕉果切180g/盒
x1 ¥8.80 ¥8.80
[网红果切]乌梅小番茄25g/个
x10 ¥0.80 ¥8.00
[现剥]甜石榴籽约250g/份(1个)
x1 ¥3.50 ¥3.50
【爆品特惠】新鲜脆甜半斤哈密瓜 哈蜜瓜果切一盒250g/盒(230~260g)
x1 ¥0.01 ¥0.01
【爆品特惠】新鲜脆甜半斤哈密瓜 哈蜜瓜果切一盒250g/盒(230~260g)
x1 ¥8.60 ¥8.60
共7种16件商品
--------------------------------
商品质量问题请联系:
京西果园·果切·水果捞(果果屋店):15841011397
更多信息请关注官方微信: 京西菜市
--------------------------------
--------------------------------
\n",
+ OrderNo: 2022071109,
+ Status: 0,
+ Comment: "",
+ MsgID: "1",
+ }
+
+ data, err := buildMsg(msg)
+ fmt.Println("data=", string(data))
+ fmt.Println("err=", err)
+}
diff --git a/business/jxutils/jxutils_test.go b/business/jxutils/jxutils_test.go
index 5290acd36..2852010fe 100644
--- a/business/jxutils/jxutils_test.go
+++ b/business/jxutils/jxutils_test.go
@@ -90,7 +90,6 @@ func TestSplitUniversalOrderID(t *testing.T) {
[]interface{}{
"3022716176275221584",
"3022716176275221584",
- model.VendorIDELM,
},
[]interface{}{
"15380342248732",
@@ -105,7 +104,6 @@ func TestSplitUniversalOrderID(t *testing.T) {
[]interface{}{
"5287873015048",
"5287873015048",
- model.VendorIDWSC,
},
}
for _, v := range testData {
@@ -151,7 +149,6 @@ func TestGetPossibleVendorIDFromVendorOrderID(t *testing.T) {
},
[]interface{}{
"5287873015048",
- model.VendorIDWSC,
},
}
for _, v := range testData {