From 4983adc4d20798a980025be4cd45c77558c74265 Mon Sep 17 00:00:00 2001
From: gigibox <gigibox@163.com>
Date: 星期二, 20 六月 2023 02:27:01 +0800
Subject: [PATCH] 完成查询接口

---
 config.json         |    7 +-
 config/config.go    |    2 
 .gitignore          |    5 -
 go.sum              |   16 ++---
 gui/gui.go          |    4 +
 report/loop.go      |   10 ++-
 go.mod              |   12 ++--
 kingdee/query.go    |   64 ++++++++++++++++++++
 main.go             |    9 +-
 report/tasks.go     |    2 
 nsqclient/client.go |   12 ++--
 kingdee/db.go       |   25 ++++++-
 12 files changed, 124 insertions(+), 44 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3be0811..a105b2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
 .idea
 .vscode
-kingdee-dbapi.exe
-*.tmp
-kingdee-api.db
\ No newline at end of file
+kingdee-*
+*.tmp
\ No newline at end of file
diff --git a/config.json b/config.json
index 9c1ddc8..4a7c8af 100644
--- a/config.json
+++ b/config.json
@@ -1,14 +1,15 @@
 {
     "web_port": "10210",
-    "sql_addr": "10.6.201.7",
+    "sql_addr": "os.smartai.com",
     "sql_db_name": "LZGS",
-    "sql_username": "webapi",
-    "sql_password": "api2023",
+    "sql_username": "sa",
+    "sql_password": "basic@2023",
     "nsq_server": "fai365.com:4150",
     "nsq_webapi": "http://121.31.232.83:9080/api/nsq/pub?topic=your_topic",
     "order_topic": "aps.wangpengfei.erp.seorder",
     "inventory_topic": "aps.wangpengfei.erp.inventory",
     "query_topic": "aps.wangpengfei.erp.k3resource",
+    "reply_topic": "aps.wangpengfei.erp.k3repley",
     "interval": 60,
     "debug": false
 }
\ No newline at end of file
diff --git a/config/config.go b/config/config.go
index 4d731e0..1627c5b 100644
--- a/config/config.go
+++ b/config/config.go
@@ -19,6 +19,7 @@
 	OrderTopic     string `json:"order_topic"`     // 璁㈠崟涓婃姤鐨則opic
 	InventoryTopic string `json:"inventory_topic"` // 搴撳瓨涓婃姤鐨則opic
 	QueryTopic     string `json:"query_topic"`     // 閲戣澏鏌ヨ鎺ュ彛鐨則opic
+	ReplyTopic     string `json:"reply_topic"`     // 閲戣澏鍝嶅簲鏌ヨ鎺ュ彛鐨則opic
 	SyncInterval   int    `json:"interval"`        // 鍚屾鐨勬椂闂撮棿闅�, 鍗曚綅/绉�
 	Debug          bool   `json:"debug"`           // 鏈湴璋冭瘯, 鍙栨湰鍦版暟鎹�
 }
@@ -38,6 +39,7 @@
 	Options.OrderTopic = "aps.factory.erp.seorder"
 	Options.InventoryTopic = "aps.factory.erp.inventory"
 	Options.QueryTopic = "aps.factory.erp.k3resource"
+	Options.ReplyTopic = "aps.factory.erp.k3reply"
 	Options.SyncInterval = 60
 	Options.Debug = false
 }
diff --git a/go.mod b/go.mod
index 356a1dc..e9c37ac 100644
--- a/go.mod
+++ b/go.mod
@@ -3,11 +3,11 @@
 go 1.14
 
 require (
-	fyne.io/fyne v1.4.3 // indirect
+	fyne.io/fyne v1.4.3
 	fyne.io/fyne/v2 v2.3.4
-	github.com/fatedier/beego v1.7.2 // indirect
-	github.com/flopp/go-findfont v0.1.0 // indirect
-	github.com/gin-gonic/gin v1.7.0 // indirect
-	github.com/jinzhu/gorm v1.9.16 // indirect
-	github.com/nsqio/go-nsq v1.1.0 // indirect
+	github.com/fatedier/beego v1.7.2
+	github.com/flopp/go-findfont v0.1.0
+	github.com/gin-gonic/gin v1.7.0
+	github.com/jinzhu/gorm v1.9.16
+	github.com/nsqio/go-nsq v1.1.0
 )
diff --git a/go.sum b/go.sum
index ffda01b..6389e4e 100644
--- a/go.sum
+++ b/go.sum
@@ -46,11 +46,9 @@
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9 h1:1ltqoej5GtaWF8jaiA49HwsZD459jqm9YFz9ZtMFpQA=
 github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9/go.mod h1:7uhhqiBaR4CpN0k9rMjOtjpcfGd6DG2m04zQxKnWQ0I=
 github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
 github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
-github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw=
 github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
 github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
@@ -83,6 +81,7 @@
 github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
 github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
 github.com/fatedier/beego v1.7.2 h1:kVw3oKiXccInqG+Z/7l8zyRQXrsCQEfcUxgzfGK+R8g=
 github.com/fatedier/beego v1.7.2/go.mod h1:wx3gB6dbIfBRcucp94PI9Bt3I0F2c/MyNEWuhzpWiwk=
@@ -118,6 +117,7 @@
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b h1:GgabKamyOYguHqHjSkDACcgoPIz3w0Dis/zJ1wyHHHU=
 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
+github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
 github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
 github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
@@ -125,6 +125,7 @@
 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
 github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE=
 github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4=
+github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-text/typesetting v0.0.0-20230405155246-bf9c697c6e16 h1:DvHeDNqK8cxdZ7C6y88pt3uE7euZH7/LluzyfnUfH/Q=
 github.com/go-text/typesetting v0.0.0-20230405155246-bf9c697c6e16/go.mod h1:zvWM81wAVW6QfVDI6yxfbCuoLnobSYTuMsrXU/u11y8=
@@ -185,6 +186,7 @@
 github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
@@ -235,16 +237,15 @@
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jackmordaunt/icns v0.0.0-20181231085925-4f16af745526 h1:NfuKjkj/Xc2z1xZIj+EmNCm5p1nKJPyw3F4E20usXvg=
 github.com/jackmordaunt/icns v0.0.0-20181231085925-4f16af745526/go.mod h1:UQkeMHVoNcyXYq9otUupF7/h/2tmHlhrS2zw7ZVvUqc=
 github.com/jackmordaunt/icns/v2 v2.2.1/go.mod h1:6aYIB9eSzyfHHMKqDf17Xrs1zetQPReAkiUSHzdw4cI=
 github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o=
 github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs=
 github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
 github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
+github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M=
 github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
 github.com/josephspurrier/goversioninfo v0.0.0-20200309025242-14b0ab84c6ca/go.mod h1:eJTEwMjXb7kZ633hO3Ln9mBUCOjX2+FlTljvpl9SYdE=
-github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8=
 github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY=
 github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
@@ -263,9 +264,9 @@
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
 github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
+github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
 github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lucor/goinfo v0.0.0-20200401173949-526b5363a13a/go.mod h1:ORP3/rB5IsulLEBwQZCJyyV6niqmI7P4EWSmkug+1Ng=
-github.com/lucor/goinfo v0.0.0-20210802170112-c078a2b0f08b h1:tLSDWcFhT0WRlnsFszh4iaFTexWF8mmccGTk88Siq7Q=
 github.com/lucor/goinfo v0.0.0-20210802170112-c078a2b0f08b/go.mod h1:PRq09yoB+Q2OJReAmwzKivcYyremnibWGbK7WfftHzc=
 github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
 github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@@ -291,7 +292,6 @@
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
 github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
-github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
 github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
 github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
@@ -301,7 +301,6 @@
 github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
 github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -429,7 +428,6 @@
 golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -620,11 +618,11 @@
 golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
-golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
 google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
diff --git a/gui/gui.go b/gui/gui.go
index 1dfdb39..048655f 100644
--- a/gui/gui.go
+++ b/gui/gui.go
@@ -2,6 +2,7 @@
 
 import (
 	"kingdee-dbapi/logger"
+	"kingdee-dbapi/nsqclient"
 	"strings"
 
 	"kingdee-dbapi/config"
@@ -91,6 +92,9 @@
 
 		report.StartReport()
 
+		// 寮�鍚闃�
+		go nsqclient.InitNsqConsumer(config.Options.QueryTopic, "sensor01", kingdee.QueryMsgHandle)
+
 		go webserver.Serve(serverPort.Text)
 	})
 
diff --git a/kingdee/db.go b/kingdee/db.go
index 5637219..d932284 100644
--- a/kingdee/db.go
+++ b/kingdee/db.go
@@ -2,8 +2,13 @@
 
 import (
 	"fmt"
-	"github.com/jinzhu/gorm"
 
+	"kingdee-dbapi/logger"
+
+	//"gorm.io/driver/sqlserver"
+	//"gorm.io/gorm"
+
+	"github.com/jinzhu/gorm"
 	_ "github.com/jinzhu/gorm/dialects/mssql"
 )
 
@@ -17,8 +22,11 @@
 	sqlServer := fmt.Sprintf("sqlserver://%s:%s@%s:1433?database=%s;encrypt=disable;",
 		username, password, addr, dbName)
 
+	logger.Debug("sqlServer鍦板潃:%s", sqlServer)
 	// 鎵撳紑鏁版嵁搴撹繛鎺�
 	db, err = gorm.Open("mssql", sqlServer)
+	// gorm 2.0
+	//db, err = gorm.Open(sqlserver.Open(sqlServer), &gorm.Config{})
 	if err != nil {
 		return err
 	}
@@ -30,9 +38,16 @@
 	return db
 }
 
-// CloseDB .
+// 2.0 CloseDB .
+//func CloseDB() {
+//	sqlDB, err := db.DB()
+//	if err != nil {
+//		return
+//	}
+//
+//	sqlDB.Close()
+//}
+
 func CloseDB() {
-	if db != nil {
-		db.Close()
-	}
+	db.Close()
 }
diff --git a/kingdee/query.go b/kingdee/query.go
index 9242abf..3926f88 100644
--- a/kingdee/query.go
+++ b/kingdee/query.go
@@ -1,8 +1,68 @@
 package kingdee
 
-import "fmt"
+import (
+	"encoding/json"
+
+	"kingdee-dbapi/config"
+	"kingdee-dbapi/logger"
+	"kingdee-dbapi/nsqclient"
+)
 
 func QueryMsgHandle(data []byte) error {
-	fmt.Println("recv msg ", string(data))
+	var result []interface{}
+
+	var sql = string(data)
+
+	logger.Debug("鎺ユ敹鍒版煡璇㈣姹�,%s", sql)
+
+	if db == nil {
+		logger.Debug("鏁版嵁搴撴湭杩炴帴")
+
+		return nil
+	}
+
+	rows, err := db.Raw(`select * from users`).Rows()
+	if err != nil {
+		result = append(result, err.Error())
+		return err
+	}
+
+	var colums []string
+	for rows.Next() {
+		//鍏堣幏鍙栨墍鏈夌殑column
+		if colums == nil {
+			colums, _ = rows.Columns()
+		}
+
+		//寤虹珛淇╀釜interface鏁扮粍锛宑olumnPointers涓瓨鍦╟olumns鐨勫湴鍧�
+		columns := make([]interface{}, len(colums))
+		columnPointers := make([]interface{}, len(colums))
+		for i, _ := range columns {
+			//璧嬪�煎湴鍧�
+			columnPointers[i] = &columns[i]
+		}
+
+		//鎵弿缁撴灉
+		rows.Scan(columnPointers...)
+		m := make(map[string]interface{})
+		for i, colName := range colums {
+			val := columnPointers[i].(*interface{})
+			m[colName] = *val
+		}
+
+		result = append(result, m)
+		//result = append(result, row)
+	}
+
+	logger.Debug("鏁版嵁搴撹繑鍥炴暟鎹�%+v", result)
+	b, _ := json.Marshal(result)
+
+	ok := nsqclient.Produce(config.Options.ReplyTopic, b)
+	if !ok {
+		logger.Warn("搴旂瓟鏌ヨ璇锋眰澶辫触.")
+	} else {
+		logger.Debug("搴旂瓟鏌ヨ璇锋眰鎴愬姛. 鏁版嵁:%s", string(b))
+	}
+
 	return nil
 }
diff --git a/main.go b/main.go
index 5f73f19..08d8070 100644
--- a/main.go
+++ b/main.go
@@ -16,8 +16,10 @@
 )
 
 func main() {
-	logger.InitLog("kdingdee-dbapi.log", "debug", 15, false)
-	logger.Info("playletServer start!")
+	logger.InitLog("kingdee-dbapi.log", "debug", 15, false)
+	logger.Info("kdingdee-dbapi start!")
+
+	os.Setenv("GODEBUG", "tls10default=1")
 
 	config.Load()
 
@@ -29,9 +31,6 @@
 
 	// 鍒濆鍖杗sq
 	nsqclient.InitNsqProducer()
-
-	// 寮�鍚闃�
-	go nsqclient.InitNsqConsumer(config.Options.QueryTopic, "sensor01", kingdee.QueryMsgHandle)
 
 	// 璁剧疆涓枃瀛椾綋
 	setFont()
diff --git a/nsqclient/client.go b/nsqclient/client.go
index 46f5911..19e7210 100644
--- a/nsqclient/client.go
+++ b/nsqclient/client.go
@@ -2,7 +2,7 @@
 
 import (
 	"context"
-	"fmt"
+	"kingdee-dbapi/logger"
 
 	"kingdee-dbapi/config"
 )
@@ -14,7 +14,7 @@
 	var err error
 	producerCli, err = NewProducer(config.Options.NsqServer)
 	if err != nil {
-		fmt.Println(err.Error())
+		logger.Error("鍒涘缓nsq鐢熶骇瀹㈡埛绔け璐�, %s", err.Error())
 	}
 
 	return err
@@ -24,14 +24,14 @@
 	if producerCli == nil {
 		err := InitNsqProducer()
 		if err != nil {
-			fmt.Println("Init Nsq Client error:" + err.Error())
+			logger.Error("鍒涘缓nsq鐢熶骇瀹㈡埛绔け璐�, %s", err.Error())
 			return false
 		}
 	}
 
 	err := producerCli.Publish(topic, msg)
 	if err != nil {
-		fmt.Println("Publish error:" + err.Error())
+		logger.Error("nsp鍙戝竷娑堟伅澶辫触,涓婚:%s, %s", topic, err.Error())
 	}
 
 	return err == nil
@@ -39,12 +39,12 @@
 
 func InitNsqConsumer(topic, channel string, handle func(data []byte) error) {
 	if c, err := NewNsqConsumer(context.Background(), topic, channel); err != nil {
-		fmt.Println("NewNsqConsumer failed", err)
+		logger.Error("鍒涘缓nsq娑堣垂瀹㈡埛绔け璐�, %s", err.Error())
 		return
 	} else {
 		c.AddHandler(handle)
 		if err := c.Run(config.Options.NsqServer, 1); err != nil {
-			fmt.Println("run consumer failed", err)
+			logger.Error("杩愯nsq娑堣垂瀹㈡埛绔け璐�, %s", err.Error())
 		}
 
 	}
diff --git a/report/report.go b/report/loop.go
similarity index 64%
rename from report/report.go
rename to report/loop.go
index 583732e..b2dbff3 100644
--- a/report/report.go
+++ b/report/loop.go
@@ -3,9 +3,6 @@
 import (
 	"context"
 	"kingdee-dbapi/logger"
-	"time"
-
-	"kingdee-dbapi/config"
 )
 
 var ctx context.Context
@@ -36,7 +33,12 @@
 			// 涓婃姤鍗虫椂搴撳瓨
 			SendInventory()
 
-			time.Sleep(time.Duration(config.Options.SyncInterval) * time.Second)
+			// 娴嬭瘯鏌ヨ璇锋眰
+			//sql := []byte("select * from t_icitem where FItemID=3316")
+			//ok := nsqclient.Produce(config.Options.QueryTopic, sql)
+			//logger.Debug("娴嬭瘯璇锋眰鎺ュ彛, %v", ok)
+			//
+			//time.Sleep(time.Duration(config.Options.SyncInterval) * time.Second)
 		}
 	}
 }
diff --git a/report/task.go b/report/tasks.go
similarity index 98%
rename from report/task.go
rename to report/tasks.go
index 96380e2..de930dc 100644
--- a/report/task.go
+++ b/report/tasks.go
@@ -120,7 +120,7 @@
 		if !ok {
 			logger.Warn("搴撳瓨鏁版嵁涓婃姤澶辫触")
 		} else {
-			successCnt += end
+			successCnt = end
 		}
 	}
 	logger.Debug("宸蹭笂鎶�%d鏉″簱瀛樻暟鎹�", successCnt)

--
Gitblit v1.8.0