diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 134676752..39767b23d 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -102,22 +102,22 @@ func handleConn(c net.Conn, t *TcpClient) error { } var printNo string //打印机编号 - var heartbeat bool = false - if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) { - printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) - printNo = string(printNoData) - heartbeat = true - } else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调 - _, printNo = getCallbackMsgInfo(data) - heartbeat = true - } + //var heartbeat bool = false + //if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) { + // printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) + // printNo = string(printNoData) + // heartbeat = true + //} else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调 + // _, printNo = getCallbackMsgInfo(data) + // heartbeat = true + //} //obj, ok := PrintPool[printNo] //证明是心跳 - if heartbeat { - //printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) - //printNo = string(printNoData) + if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) { + printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8]) + printNo = string(printNoData) status := printStatus2JxStatus(data[len(data)-8 : len(data)-6]) //如果没在连接池里 //1、加到连接池中,不同的打印机no开不同的goroutine @@ -149,10 +149,10 @@ func handleConn(c net.Conn, t *TcpClient) error { //状态不一致再更新状态(可能缺纸了,过热了等) t.setPrintStatus(printNo, status) changePrinterStatus(printNo, status) - } else if heartbeat { //打印回调 + } else if strings.Contains(data, printText) || strings.Contains(data, printTextNew) { //打印回调 //打印消息发送后,打印机会回调该条打印消息的状态(打印成功or失败,失败原因..) //将回调的信息放到回调channel中,打印成功后再打印下一条消息 - //_, printNo = getCallbackMsgInfo(data) + _, printNo = getCallbackMsgInfo(data) //更新打印机心跳时间(打印机本身不会在打印的同时,或回调的同时发心跳消息,会导致心跳判断超时,这里更新一下) t.setPrintStatusTime(printNo) t.addCallbackChan(printNo, data)