This commit is contained in:
suyl
2021-07-14 15:47:13 +08:00
parent c4061d4c2d
commit d192847ae9

View File

@@ -193,20 +193,22 @@ func handleConn(c net.Conn) {
printNo = string(printNoData) printNo = string(printNoData)
globals.SugarLogger.Debugf("handleConn printno :[%v]", printNo) globals.SugarLogger.Debugf("handleConn printno :[%v]", printNo)
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6]) status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
tcpClient.s.Lock()
if tcpClient.Clients[printNo] == nil { if tcpClient.Clients[printNo] == nil {
printInfo := &PrintInfo{ printInfo := &PrintInfo{
C: c, C: c,
Status: printStatus2JxStatus(data[len(data)-8 : len(data)-6]), Status: printStatus2JxStatus(data[len(data)-8 : len(data)-6]),
StatusTime: time.Now(), StatusTime: time.Now(),
} }
tcpClient.s.Lock()
tcpClient.Clients[printNo] = printInfo tcpClient.Clients[printNo] = printInfo
tcpClient.s.Unlock()
changePrinterStatus(printNo, status) changePrinterStatus(printNo, status)
if status > 0 { if status > 0 {
printFail() printFail()
} }
} else { } else {
//改变打印机状态 //改变打印机状态
tcpClient.s.Lock()
changePrinterStatus(printNo, status) changePrinterStatus(printNo, status)
if tcpClient.Clients[printNo] != nil { if tcpClient.Clients[printNo] != nil {
if tcpClient.Clients[printNo].Status != status { if tcpClient.Clients[printNo].Status != status {
@@ -214,8 +216,8 @@ func handleConn(c net.Conn) {
} }
tcpClient.Clients[printNo].StatusTime = time.Now() tcpClient.Clients[printNo].StatusTime = time.Now()
} }
}
tcpClient.s.Unlock() tcpClient.s.Unlock()
}
} else if strings.Contains(data, printText) { } else if strings.Contains(data, printText) {
globals.SugarLogger.Debugf("handleConn print: %v", data) globals.SugarLogger.Debugf("handleConn print: %v", data)
changePrintMsg(data) changePrintMsg(data)
@@ -407,9 +409,11 @@ func HandleCheckTcpHeart() {
tcpClient.s.Unlock() tcpClient.s.Unlock()
for _, v := range keys { for _, v := range keys {
changePrinterStatus(v, printerStatusOffline) changePrinterStatus(v, printerStatusOffline)
if tcpClient.Clients[v] != nil {
delete(tcpClient.Clients, v) delete(tcpClient.Clients, v)
} }
} }
}
} }
func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) { func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) {