This commit is contained in:
邹宗楠
2022-07-28 14:50:04 +08:00
parent 5e2c0e035e
commit 334eaef18e
3 changed files with 30 additions and 29 deletions

View File

@@ -222,6 +222,7 @@ func (t *TcpClient) doPrint(key string) (err error) {
case printerStatusOnline:
if c = t.getPrintConn(printMsg.PrintNo); c != nil {
data, err = buildMsg(printMsg)
dao.UpdateEntity(db, printMsg, "ContentEncryption")
}
case printerStatusOffline:
err = fmt.Errorf("打印机离线!")

View File

@@ -360,29 +360,28 @@ func changePrinterStatus(printNo string, status int) {
//按打印机方提供的文档来的
func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) {
//var (
// content = printMsg.Content
// orderNo = printMsg.OrderNo
// str = "1e"
// const1 = "0200ff50"
// printInit = "1b40" //打印机初始化
// //voice = "1d6b401dfd001a01015b7631365d736f756e64622cc4fad3d0d0c2b6a9b5a5c0b1" //语音,中国
// //qr = "1d58021b5a0001061600747470733a2f2f7777772e62616964752e636f6d2f1b000A0A0A1B40"
// orderNoHexH, orderNoHexL, printData string
//)
////写入数据
//orderNoHexH, orderNoHexL = int2h8l8(int64(orderNo))
//
//// 将数据与模板组装
//printDataGBK, _ := jxutils.Utf8ToGbk([]byte(replaceContentOther(content)))
//printData = hex.EncodeToString(printDataGBK)
//printData = replaceContent(printData, printMsg)
//lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + 2 + 4 + len(printData))
//x1, x2 := int2h8l8(lenData / 2)
//dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + printData
//check := getCheckSum(dataStr)
//return jxutils.Hextob(dataStr + check), err
return jxutils.Hextob("1e00160200ff5000011b401B5941553d1B5941553e15"), err
var (
content = printMsg.Content
orderNo = printMsg.OrderNo
str = "1e"
const1 = "0200ff50"
printInit = "1b40" //打印机初始化
//voice = "1d6b401dfd001a01015b7631365d736f756e64622cc4fad3d0d0c2b6a9b5a5c0b1" //语音,中国
//qr = "1d58021b5a0001061600747470733a2f2f7777772e62616964752e636f6d2f1b000A0A0A1B40"
orderNoHexH, orderNoHexL, printData string
)
//写入数据
orderNoHexH, orderNoHexL = int2h8l8(int64(orderNo))
// 将数据与模板组装
printDataGBK, _ := jxutils.Utf8ToGbk([]byte(replaceContentOther(content)))
printData = hex.EncodeToString(printDataGBK)
printData = replaceContent(printData, printMsg)
lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + 2 + 4 + len(printData))
x1, x2 := int2h8l8(lenData / 2)
dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + printData
check := getCheckSum(dataStr)
return jxutils.Hextob(dataStr + check), err
}
//替换特殊字符上面那个hextob转不了先替换一下

View File

@@ -3,12 +3,13 @@ package model
type PrintMsg struct {
ModelIDCULD
PrintNo string `json:"print_no"` //打印机编号
Content string `orm:"type(text)" json:"content"` //订单内容
OrderNo int `json:"order_no"` //订单序号
Status int `json:"status"` //打印状态
Comment string `json:"comment"` //失败原因
MsgID string `orm:"column(msg_id)" json:"msgID"`
PrintNo string `json:"print_no"` //打印机编号
Content string `orm:"type(text)" json:"content"` //订单内容
OrderNo int `json:"order_no"` //订单序号
Status int `json:"status"` //打印状态
Comment string `json:"comment"` //失败原因
MsgID string `orm:"column(msg_id)" json:"msgID"`
ContentEncryption string `orm:"type(text)" json:"content_encryption"` //订单类容进制文件
}
type Printer struct {