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