diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 34c0e2b31..89262ea32 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -23,7 +23,8 @@ const ( printMsgSuccess = 1 //打印成功 printMsgWait = 0 //待打印 - printMsgFail = -1 //打印失败 + printMsgFail = -1 //打印失败(打印机报出) + printMsgErr = -2 //京西报出 ) var ( @@ -138,6 +139,8 @@ func handleTcpMessages() { var ( db = dao.GetDB() offset, pageSize = 0, 10 + c net.Conn + data []byte ) db.Db = orm.NewOrmUsingDB("api") //读写这个库 for { @@ -147,15 +150,35 @@ func handleTcpMessages() { for _, printMsg := range prints { if printMsg != nil { if err = checkPrintMsg(printMsg); err == nil { - + if tcpClient.Clients[printMsg.PrintNo] != nil { + c = tcpClient.Clients[printMsg.PrintNo] + data, err = buildMsg(printMsg) + } else { + err = fmt.Errorf("打印机已掉线!") + } } } else { err = fmt.Errorf("未查询到此printMsg") } + if err != nil { + printMsg.Status = printMsgErr + printMsg.Comment = err.Error() + dao.UpdateEntity(db, printMsg, "Status", "Comment") + } else { + c.Write(data) + } } } } +func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) { + var ( + //content = printMsg.Content + //orderNo = printMsg.OrderNo + ) + return data, err +} + func checkPrintMsg(printMsg *model.PrintMsg) (err error) { if printMsg.Content == "" { return fmt.Errorf("此打印信息内容为空!printMsg printNo:[%v], orderNo :[%v]", printMsg.PrintNo, printMsg.OrderNo)