1
This commit is contained in:
@@ -76,6 +76,7 @@ func (t *TcpClient) handleConn(c net.Conn) error {
|
||||
c.Write([]byte("ok"))
|
||||
return err
|
||||
}
|
||||
data = "1e001a020001513132303232303931353030313935390000008a"
|
||||
//证明是心跳
|
||||
if strings.Contains(data, heartText) || strings.Contains(data, heartTextNew) {
|
||||
printNoData, _ := hex.DecodeString(data[len(heartText) : len(data)-8])
|
||||
@@ -91,6 +92,7 @@ func (t *TcpClient) handleConn(c net.Conn) error {
|
||||
if t.getClients(printNo) == nil {
|
||||
t.addConn(c, printNo, status)
|
||||
t.buildAllMap(printNo)
|
||||
t.TimeoutMap[printNo] <- true
|
||||
t.HandleTcpMessages(printNo)
|
||||
t.doPrint(printNo)
|
||||
if status == printerStatusOnline {
|
||||
@@ -170,6 +172,7 @@ func (t *TcpClient) changePrintMsg(data string, orderNo int64, printNo string) (
|
||||
}
|
||||
|
||||
func (t *TcpClient) HandleTcpMessages(printNo string) {
|
||||
fmt.Println("============:", t.getTimeOut(printNo))
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
offset, pageSize = 0, 10
|
||||
@@ -318,6 +321,7 @@ func (t *TcpClient) HandleCheckTcpHeart(key string) {
|
||||
globals.SugarLogger.Debugf("HandleCheckTcpHeart begin key: %s", key)
|
||||
go func() {
|
||||
for {
|
||||
fmt.Println("============:", t.getTimeOut(key))
|
||||
select {
|
||||
case <-t.TimeoutMap[key]:
|
||||
t.getClients(key).C.Close()
|
||||
|
||||
@@ -192,7 +192,7 @@ func (t *TcpClient) buildAllMap(key string) {
|
||||
defer t.Unlock()
|
||||
t.MsgMap[key] = make(chan *model.PrintMsg, 1024)
|
||||
t.CallBackMap[key] = make(chan string, 1024)
|
||||
t.TimeoutMap[key] = make(chan bool, 64)
|
||||
t.TimeoutMap[key] = make(chan bool, 1)
|
||||
}
|
||||
|
||||
func (t *TcpClient) getPrintStatus(key string) int {
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
@@ -83,36 +82,3 @@ func TestTen216(t *testing.T) {
|
||||
fmt.Println(gg)
|
||||
fmt.Println(kk)
|
||||
}
|
||||
|
||||
func TestBuildTest(s *testing.T) {
|
||||
l, err := net.Listen("tcp", ":8000")
|
||||
if err != nil {
|
||||
fmt.Println("listen error:", err)
|
||||
return
|
||||
}
|
||||
for {
|
||||
c, err := l.Accept()
|
||||
if err != nil {
|
||||
fmt.Println("accept error:", err)
|
||||
break
|
||||
}
|
||||
go func() {
|
||||
t := NewTcpClient()
|
||||
if err := t.HandleConnTest(c); err != nil {
|
||||
t = nil
|
||||
return
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
}
|
||||
func (t *TcpClient) HandleConnTest(c net.Conn) error {
|
||||
c.Write([]byte(""))
|
||||
t.addConn(c, "1111111", 1)
|
||||
t.buildAllMap("1111111")
|
||||
t.HandleTcpMessages("1111111")
|
||||
t.doPrint("1111111")
|
||||
changePrinterStatus("1111111", 1)
|
||||
t.HandleCheckTcpHeart("1111111")
|
||||
return nil
|
||||
}
|
||||
|
||||
41
main.go
41
main.go
@@ -9,18 +9,13 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasks"
|
||||
|
||||
beego "github.com/astaxie/beego/server/web"
|
||||
|
||||
// 导入缺省订单调度器
|
||||
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"git.rosy.net.cn/jx-callback/globals/beegodb"
|
||||
|
||||
_ "git.rosy.net.cn/jx-callback/business/auth2/authprovider/alipay"
|
||||
@@ -102,21 +97,21 @@ func main() {
|
||||
if !checkCmdFlags() {
|
||||
Init()
|
||||
// 延时的原因是等回调准备好
|
||||
if globals.IsMainProductEnv() || beego.BConfig.RunMode == "beta" {
|
||||
utils.AfterFuncWithRecover(2*time.Second, func() {
|
||||
if err := tasks.RefreshDingDingToken(); err != nil {
|
||||
globals.SugarLogger.Errorf("RefreshDingDingToken failed with error:%s", err)
|
||||
return
|
||||
}
|
||||
if globals.IsProductEnv() {
|
||||
api.DingDingAPI.DeleteCallback()
|
||||
if err := api.DingDingAPI.RegisterCallback([]string{dingdingapi.CBTagUserAddOrg, dingdingapi.CBTagUserModifyOrg, dingdingapi.CBTagUserLeaveOrg}, beego.AppConfig.DefaultString("dingdingCallbackToken", ""), beego.AppConfig.DefaultString("dingdingCallbackAESKey", ""), beego.AppConfig.DefaultString("dingdingCallbackURL", "")); err != nil {
|
||||
globals.SugarLogger.Warnf("dingding RegisterCallback failed with error:%v", err)
|
||||
}
|
||||
}
|
||||
})
|
||||
cms.ResetJobTimers()
|
||||
}
|
||||
//if globals.IsMainProductEnv() || beego.BConfig.RunMode == "beta" {
|
||||
// utils.AfterFuncWithRecover(2*time.Second, func() {
|
||||
// if err := tasks.RefreshDingDingToken(); err != nil {
|
||||
// globals.SugarLogger.Errorf("RefreshDingDingToken failed with error:%s", err)
|
||||
// return
|
||||
// }
|
||||
// if globals.IsProductEnv() {
|
||||
// api.DingDingAPI.DeleteCallback()
|
||||
// if err := api.DingDingAPI.RegisterCallback([]string{dingdingapi.CBTagUserAddOrg, dingdingapi.CBTagUserModifyOrg, dingdingapi.CBTagUserLeaveOrg}, beego.AppConfig.DefaultString("dingdingCallbackToken", ""), beego.AppConfig.DefaultString("dingdingCallbackAESKey", ""), beego.AppConfig.DefaultString("dingdingCallbackURL", "")); err != nil {
|
||||
// globals.SugarLogger.Warnf("dingding RegisterCallback failed with error:%v", err)
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// cms.ResetJobTimers()
|
||||
//}
|
||||
if beego.BConfig.RunMode != "prod" {
|
||||
beego.BConfig.WebConfig.DirectoryIndex = true
|
||||
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
|
||||
@@ -129,9 +124,9 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
if globals.IsPrintEnv() {
|
||||
event.ListenTcp()
|
||||
}
|
||||
//if globals.IsPrintEnv() {
|
||||
event.ListenTcp()
|
||||
//}
|
||||
beego.Run()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user