diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 32255c58a..01dbaf25b 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -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("打印机离线!") diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go index 14998e439..05e4b3b73 100644 --- a/business/jxstore/event/event_tcp_utils.go +++ b/business/jxstore/event/event_tcp_utils.go @@ -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转不了,先替换一下 diff --git a/business/model/print.go b/business/model/print.go index 01ad8e5c1..336886aa1 100644 --- a/business/model/print.go +++ b/business/model/print.go @@ -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 {