1
This commit is contained in:
@@ -42,7 +42,6 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
for {
|
for {
|
||||||
var (
|
var (
|
||||||
printNo string //打印机编号
|
printNo string //打印机编号
|
||||||
//printStatus *GetPrintStatus
|
|
||||||
buffer = make([]byte, 1024)
|
buffer = make([]byte, 1024)
|
||||||
)
|
)
|
||||||
n, err := c.Read(buffer)
|
n, err := c.Read(buffer)
|
||||||
@@ -54,15 +53,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//也可能是查状态的(openAPI外部查询,一次性的)
|
|
||||||
//if err = json.Unmarshal(buffer[:n], &printStatus); err == nil {
|
|
||||||
// fmt.Println("handleConn msg: ", string(buffer[:n]))
|
|
||||||
// if printStatus != nil {
|
|
||||||
// status := t.getPrintStatus(printStatus.PrintNo)
|
|
||||||
// c.Write([]byte(utils.Int2Str(status)))
|
|
||||||
// c.Close()
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//看是心跳还是打印回调
|
//看是心跳还是打印回调
|
||||||
data := hex.EncodeToString(buffer[:n])
|
data := hex.EncodeToString(buffer[:n])
|
||||||
//证明是心跳
|
//证明是心跳
|
||||||
@@ -70,6 +61,7 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
|
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
|
||||||
printNo = string(printNoData)
|
printNo = string(printNoData)
|
||||||
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
|
status := printStatus2JxStatus(data[len(data)-8 : len(data)-6])
|
||||||
|
globals.SugarLogger.Debugf("输出打印机编号printNo:[%s],和状态printStatus[%d],打印时间time:[%v]", printNo, status, time.Now())
|
||||||
//如果没在连接池里
|
//如果没在连接池里
|
||||||
//1、加到连接池中,不同的打印机no开不同的goroutine
|
//1、加到连接池中,不同的打印机no开不同的goroutine
|
||||||
//2、初始化channel,每个打印机一个,放打印消息和打印回调消息
|
//2、初始化channel,每个打印机一个,放打印消息和打印回调消息
|
||||||
@@ -97,7 +89,9 @@ func (t *TcpClient) handleConn(c net.Conn) {
|
|||||||
t.setPrintStatusTime(printNo)
|
t.setPrintStatusTime(printNo)
|
||||||
}
|
}
|
||||||
//状态不一致再更新状态(可能缺纸了,过热了等)
|
//状态不一致再更新状态(可能缺纸了,过热了等)
|
||||||
|
globals.SugarLogger.Debugf("比较缓存状态和真实状态缓存状态[%d],真实状态[%d]", t.getPrintStatus(printNo), status)
|
||||||
if t.getPrintStatus(printNo) != status {
|
if t.getPrintStatus(printNo) != status {
|
||||||
|
globals.SugarLogger.Debugf("更新打印机状态到数据库和缓存[%s:%d]", printNo, status)
|
||||||
t.setPrintStatus(printNo, status)
|
t.setPrintStatus(printNo, status)
|
||||||
changePrinterStatus(printNo, status)
|
changePrinterStatus(printNo, status)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user