diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index e8e3fb81c..19d95d01d 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -319,100 +319,6 @@ func doPrint(t *TcpClient, key string) (err error) { } } Poll.AddJob(fn) - // - //go func() { - // for { - // if t.TimeoutMap[key] == true { - // select { - // case printMsg, ok := <-t.MsgMap[key]: - // if !ok { - // globals.SugarLogger.Debugf("doPrint err !ok ...") - // return - // } - // var ( - // data []byte - // c net.Conn - // ) - // if printMsg != nil { - // if err = checkPrintMsg(db, printMsg); err == nil { - // status := t.getPrintStatus(printMsg.PrintNo) - // switch status { - // //只有在线才打印内容 - // case printerStatusOnline: - // if c = t.getPrintConn(printMsg.PrintNo); c != nil { - // data, err = buildMsg(printMsg) - // } - // case printerStatusOffline: - // err = fmt.Errorf("打印机离线!") - // case printerStatusOnlineWithoutPaper: - // err = fmt.Errorf("打印机缺纸!") - // default: - // err = fmt.Errorf("打印机状态未知!") - // } - // } - // if err != nil { - // printMsg.Status = printMsgErr - // printMsg.Comment = err.Error() - // dao.UpdateEntity(db, printMsg, "Status", "Comment") - // delete(t.TimeoutMap, key) - // } else { - // if c != nil { - // if _, err = c.Write(data); err != nil { - // globals.SugarLogger.Debugf("handleTcpMessages err [%v]", err) - // //close(t.TimeoutMap[key]) - // delete(t.TimeoutMap, key) - // } else { - // //等待回调 - // dataStr := <-t.CallBackMap[key] - // if dataStr != "" { - // a, b := getCallbackMsgInfo(dataStr) - // t.changePrintMsg(dataStr, a, b) - // // 查询打印机是否扣费,未扣费就扣费,已经扣费不做处理 - // have, err := dao.QueryOrderDeductionRecord(db, b, utils.Int64ToStr(a)) - // if err != nil && !have { - // // 扣除打印机账号金额 - // if err = dao.DeductionPrintBalance(db, b); err != nil { - // globals.SugarLogger.Debugf("扣除用户打印机金额错误 %s", err) - // } else { - // // 添加打印记录(支出记录) - // if err = dao.AddPrintRecord(db, &model.PrintBillRecord{ - // CreatedAt: time.Now(), - // UpdatedAt: time.Now(), - // PrintNo: b, - // PayType: 2, - // PayMoney: 1, // 固定支出一分钱 - // OrderId: utils.Int64ToStr(a), - // UserId: "", - // }); err != nil { - // globals.SugarLogger.Debugf("添加打印机订单支付记录错误 %s", err) - // } - // } - // } else { - // globals.SugarLogger.Debugf("查询打印机扣费记录错误 %s", err) - // } - // //判断音频暂停? - // //收到打印成功回调后,如果消息中有音频,需要等待一下,等上一个音频播完 - // //暂停时间就暂时取的sound标签内内容长度/2 - // if sounds := regexpSoundSpan.FindStringSubmatch(printMsg.Content); len(sounds) > 0 { - // sound := sounds[1] - // lenTime := time.Duration(utf8.RuneCountInString(sound)) * time.Second - // time.Sleep(lenTime / 2) - // } - // } - // } - // } - // } - // } else { - // globals.SugarLogger.Debugf("msgMap is nil") - // } - // } - // } else { - // globals.SugarLogger.Debugf("doPrint timeout") - // return - // } - // - // } - //}() return err } @@ -436,6 +342,7 @@ func HandleCheckTcpHeart(t *TcpClient, key string) { } } } else { + globals.SugarLogger.Debugf("-------close1 := %s", key) t.getClients(key).C.Close() close(t.MsgMap[key]) close(t.CallBackMap[key]) diff --git a/business/jxstore/event/event_tcp_utils.go b/business/jxstore/event/event_tcp_utils.go index 23f5982a8..fc3194674 100644 --- a/business/jxstore/event/event_tcp_utils.go +++ b/business/jxstore/event/event_tcp_utils.go @@ -149,11 +149,25 @@ func (t *TcpClient) delConn(key string) { t.Lock() defer t.Unlock() if t.Clients[key].C != nil { + globals.SugarLogger.Debugf("-------close2 := %s", key) t.Clients[key].C.Close() } delete(t.Clients, key) } +func (t *TcpClient) clear(key string) { + t.Lock() + defer t.Unlock() + t.Clients[key].C.Close() + globals.SugarLogger.Debugf("-------close3 := %s", key) + delete(t.Clients, key) + close(t.MsgMap[key]) + delete(t.MsgMap, key) + close(t.CallBackMap[key]) + delete(t.CallBackMap, key) + delete(t.TimeoutMap, key) +} + //添加到连接池中 func addConn(c net.Conn, t *TcpClient, key string, status int) { t.Lock() @@ -326,18 +340,6 @@ func (t *TcpClient) GetCallbackChan(key string) string { return <-t.CallBackMap[key] } -func (t *TcpClient) clear(key string) { - t.Lock() - defer t.Unlock() - t.Clients[key].C.Close() - delete(t.Clients, key) - close(t.MsgMap[key]) - delete(t.MsgMap, key) - close(t.CallBackMap[key]) - delete(t.CallBackMap, key) - delete(t.TimeoutMap, key) -} - func NewTcpClient() *TcpClient { t := &TcpClient{ Clients: make(map[string]*PrintInfo),