From 8f750b461a4f442825e516016bf78d05ed66afcb Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期一, 14 八月 2023 18:14:50 +0800
Subject: [PATCH] 添加bom查询
---
config.json | 6
/dev/null | 177 ----------------------
config/config.go | 8
kingdee/icInventory.go | 2
report/send.go | 185 +++++++++++++++++++++++
report/task.go | 24 +-
kingdee/bom.go | 63 +++++++
gui/gui.go | 6
kingdee/query.go | 2
main.go | 2
kingdee/cst.go | 4
11 files changed, 282 insertions(+), 197 deletions(-)
diff --git a/config.json b/config.json
index 36ab7dc..c3c3482 100644
--- a/config.json
+++ b/config.json
@@ -7,12 +7,14 @@
"nsq_server": "121.31.232.83:4150",
"nsq_webapi": "http://121.31.232.83:9080/api/nsq/pub?topic=your_topic",
"order_topic": "aps.wangpengfei.erp.seorder",
+ "bom_topic": "aps.wangpengfei.erp.icBom",
+ "bom_query_topic": "",
+ "bom_child_topic": "",
"inventory_topic": "aps.wangpengfei.erp.inventory",
"query_topic": "aps.wangpengfei.erp.k3resource",
"reply_topic": "aps.wangpengfei.erp.k3reply",
"cst_webapi": "http://192.168.20.249/cst/local_post.ashx",
"cst_query_topic": "aps.wangpengfei.erp.cstApply",
"cst_reply_topic": "aps.wangpengfei.erp.cstReply",
- "interval": 60,
- "debug": false
+ "interval": 60
}
\ No newline at end of file
diff --git a/config/config.go b/config/config.go
index fbeb267..3994d37 100644
--- a/config/config.go
+++ b/config/config.go
@@ -17,6 +17,9 @@
NsqServer string `json:"nsq_server"` // nsq TCP鏈嶅姟绔湴鍧�
NsqWebApi string `json:"nsq_webapi"` // nsq HTTP鎺ュ彛鍦板潃
OrderTopic string `json:"order_topic"` // 璁㈠崟涓婃姤鐨則opic
+ BomTopic string `json:"bom_topic"` // bom涓婃姤鐨則opic
+ BomQueryTopic string `json:"bom_query_topic"` // bom涓婃姤鐨則opic
+ BomChildTopic string `json:"bom_child_topic"` // bom瀛愰」涓婃姤鐨則opic
InventoryTopic string `json:"inventory_topic"` // 搴撳瓨涓婃姤鐨則opic
SqlQueryTopic string `json:"query_topic"` // 閲戣澏鏌ヨ鎺ュ彛鐨則opic
SqlReplyTopic string `json:"reply_topic"` // 閲戣澏鍝嶅簲鏌ヨ鎺ュ彛鐨則opic
@@ -24,7 +27,6 @@
CSTQueryTopic string `json:"cst_query_topic"` // 鎻愪氦鐢熶骇浠诲姟鍗曚富棰�
CSTReplyTopic string `json:"cst_reply_topic"` // 鍝嶅簲鐢熶骇浠诲姟鍗曚富棰�
SyncInterval int `json:"interval"` // 鍚屾鐨勬椂闂撮棿闅�, 鍗曚綅/绉�
- Debug bool `json:"debug"` // 鏈湴璋冭瘯, 鍙栨湰鍦版暟鎹�
}
const configPath = "config.json"
@@ -40,13 +42,15 @@
Options.NsqServer = "fai365.com:4150"
Options.NsqWebApi = "http://121.31.232.83:9080/api/nsq/pub?topic=your_topic"
Options.OrderTopic = "aps.factory.erp.seorder"
+ Options.BomTopic = "aps.factory.erp.icBom"
+ Options.BomChildTopic = "aps.factory.erp.icBomChild"
+ Options.BomQueryTopic = "aps.factory.erp.icBomQuery"
Options.InventoryTopic = "aps.factory.erp.inventory"
Options.SqlQueryTopic = "aps.factory.erp.k3resource"
Options.SqlReplyTopic = "aps.factory.erp.k3reply"
Options.CSTQueryTopic = "aps.factory.erp.cstApply"
Options.CSTReplyTopic = "aps.factory.erp.cstReply"
Options.SyncInterval = 60
- Options.Debug = false
}
func Load() {
diff --git a/gui/gui.go b/gui/gui.go
index fcaa3b5..94048e8 100644
--- a/gui/gui.go
+++ b/gui/gui.go
@@ -81,17 +81,13 @@
if err != nil {
logger.Error("db init error:%s", err.Error())
dialog.ShowError(err, w)
-
- if !config.Options.Debug {
- return
- }
}
form.Disable()
submitBtn.Text = "宸插惎鍔�"
submitBtn.Disable()
- report.StartReport()
+ report.Start()
// 寮�鍚闃匰QL鏌ヨ
go nsqclient.InitNsqConsumer(config.Options.SqlQueryTopic, "sensor01", kingdee.SqlQueryHandle)
diff --git a/kingdee/bom.go b/kingdee/bom.go
new file mode 100644
index 0000000..9b276bf
--- /dev/null
+++ b/kingdee/bom.go
@@ -0,0 +1,63 @@
+package kingdee
+
+type ICBom struct {
+ FInterID int // 鍐呯爜
+ FBOMNumber string // BOM鍗曠紪鍙�
+ FUseStatus int // 浣跨敤鐘舵�佺爜
+ FUseStatusName string // 浣跨敤鐘舵��
+ FItemIDNumber string // 鐗╂枡浠g爜
+ FItemIDName string // 鐗╂枡鍚嶇О
+ FModel string // 瑙勬牸鍨嬪彿
+ FErpClsID string // 鐗╂枡灞炴��
+ FQty float64 // 鏁伴噺
+ FUnitName string // 鍗曚綅
+ FYield float64 // 鎴愬搧鐜�
+ FRoutingIDNumber string // 宸ヨ壓璺嚎浠g爜
+ FRoutingIDName string // 宸ヨ壓璺嚎鍚嶇О
+ FNote string // 澶囨敞
+ FBomType int // BOM绫诲瀷
+ FAudDate string // 鏇存柊鏃堕棿
+ FPDMImportDate string // 瀵煎叆鏃堕棿
+ FStatus int // 鐘舵��
+}
+
+func BomList(fData bool) []ICBom {
+ sql := `
+ SELECT
+ ICBom.FInterID,
+ ICBom.FBOMNumber,
+ ICBom.FUseStatus,
+ t_SubMessage.FName as FUseStatusName,
+ t_ICItem.FNumber as FItemIDNumber,
+ t_ICItem.FName as FItemIDName,
+ t_ICItem.FModel as FModel,
+ (SELECT FName FROM t_SubMessage WHERE t_ICItem.FErpClsID=FInterID) as FErpClsID,
+ ICBom.FQty,
+ t_MeasureUnit.FName as FUnitName,
+ ICBom.FYield,
+ t_Routing.FBillNO as FRoutingIDNumber,
+ t_Routing.FRoutingName as FRoutingIDName,
+ ICBom.FNote,
+ ICBom.FBomType,
+ ICBom.FAudDate,
+ ICBom.FPDMImportDate,
+ ICBom.FStatus
+ FROM ICBom
+ left join t_SubMessage on ICBom.FUseStatus = t_SubMessage.FInterID AND t_SubMessage.FInterID <> 0
+ join t_ICItem on ICBom.FItemID= t_ICItem.FItemID AND t_ICItem.FItemID <> 0
+ left join t_MeasureUnit on ICBom.FUnitID = t_MeasureUnit.FItemID AND t_MeasureUnit.FItemID <> 0
+ left join t_Routing on ICBom.FRoutingID = t_Routing.FInterID AND t_Routing.FInterID <> 0
+ `
+
+ // 濡傛灉涓嶆槸璇锋眰鍏ㄩ儴鏁版嵁, 浠呮煡璇㈠綋澶╂洿鏂扮殑, 榛樿鏌ュ綋澶�
+ if !fData {
+ sql = sql + " Where DateDiff(dd,FAudDate,getdate())=1"
+ }
+
+ var result []ICBom
+
+ db.Raw(sql).Scan(&result)
+ //db.Raw(sql).Debug().Scan(&result)
+
+ return result
+}
diff --git a/kingdee/cst.go b/kingdee/cst.go
index 9d9e1ab..17621bb 100644
--- a/kingdee/cst.go
+++ b/kingdee/cst.go
@@ -1,5 +1,9 @@
package kingdee
+/*
+璇锋眰鍐欏叆鐢熶骇浠诲姟鍗曠殑鎺ュ彛
+鎺ユ敹aps鐨勮姹�, 璋冪敤鏈湴鐨勭敓浜т换鍔″崟鏈嶅姟, 骞跺搷搴旂粨鏋�
+*/
import (
"bytes"
"encoding/json"
diff --git a/kingdee/icInventory.go b/kingdee/icInventory.go
index eb1129b..14f35cf 100644
--- a/kingdee/icInventory.go
+++ b/kingdee/icInventory.go
@@ -1,5 +1,7 @@
package kingdee
+// 搴撳瓨鏌ヨ
+
type Inventory struct {
FNumber string `gorm:"column:FNumber" json:"FNumber"` // 鐗╂枡浠g爜
FName string `gorm:"column:FName" json:"FName"` // 鐗╂枡鍚嶇О
diff --git a/kingdee/query.go b/kingdee/query.go
index 37e75c0..e905a4a 100644
--- a/kingdee/query.go
+++ b/kingdee/query.go
@@ -10,6 +10,8 @@
"kingdee-dbapi/nsqclient"
)
+// 閫氱敤sql鏌ヨ鎺ュ彛
+
type SqlQueryMsg struct {
Key string // 璇锋眰
Command string
diff --git a/main.go b/main.go
index a98858d..8e31c56 100644
--- a/main.go
+++ b/main.go
@@ -16,7 +16,7 @@
)
func main() {
- logger.InitLog("kingdee-dbapi.log", "debug", 15, false)
+ logger.InitLog("log/kingdee-dbapi.log", "debug", 15, false)
logger.Info("kingdee-dbapi start!")
config.Load()
diff --git a/report/send.go b/report/send.go
new file mode 100644
index 0000000..770f53c
--- /dev/null
+++ b/report/send.go
@@ -0,0 +1,185 @@
+package report
+
+import (
+ "encoding/json"
+ "time"
+
+ "kingdee-dbapi/cache"
+ "kingdee-dbapi/config"
+ "kingdee-dbapi/kingdee"
+ "kingdee-dbapi/logger"
+ "kingdee-dbapi/models"
+ "kingdee-dbapi/nsqclient"
+)
+
+// 涓婃姤閿�鍞鍗�, 澧為噺, 鏈湴浼氬瓨鍌ㄥ凡缁忎笂鎶ヨ繃鐨�. 璁㈠崟涓嶅瓨鍦ㄤ慨鏀�
+func SendOrder() {
+ list := kingdee.SeOrderList()
+ logger.Debug("鏌ヨ鍒�%d鏉¤鍗曚俊鎭�", len(list))
+
+ var completedOrderNo = make(map[string]struct{})
+
+ for i := 0; i < len(list); {
+ if cache.Exists(list[i].FBillNo) {
+ list = append(list[:i], list[i+1:]...)
+ } else {
+ completedOrderNo[list[i].FBillNo] = struct{}{}
+ i++
+ }
+ }
+
+ b, _ := json.Marshal(list)
+
+ // http鍗忚涓婃姤, 宸蹭慨鏀逛负TCP
+ //ok := nsqclient.HttpPost(config.Options.OrderTopic, b)
+
+ if len(list) == 0 {
+ logger.Debug("娌℃湁鏂扮殑璁㈠崟鏁版嵁")
+ return
+ }
+
+ // TCP鍗忚涓婃姤
+ ok := nsqclient.Produce(config.Options.OrderTopic, b)
+ if ok {
+ // 鍐欏叆鏁版嵁搴�, 鏍囪宸茬粡涓婃姤杩囦簡,閬垮厤閲嶅涓婃姤
+ for orderNo, _ := range completedOrderNo {
+ cursor := models.Order{
+ OrderNo: orderNo,
+ }
+
+ cursor.Insert()
+ cache.WriteCache(orderNo)
+ }
+
+ logger.Debug("宸蹭笂鎶�%d涓鍗曚俊鎭�", len(list))
+ } else {
+ logger.Warn("璁㈠崟鏁版嵁涓婃姤澶辫触")
+ }
+}
+
+var invReportedCache = make(map[string]float64, 0)
+var bomReportedCache = make(map[string]struct{}, 0)
+var fullInvData bool
+
+// 涓婃姤搴撳瓨
+func SendInventory() {
+ // 璁剧疆姣忓ぉ鍑屾櫒1鐐逛笂鎶ヤ竴娆″叏閲忔暟鎹�
+ hour := time.Now().Hour()
+ if hour == 1 {
+ if fullInvData == false {
+ invReportedCache = make(map[string]float64, 0)
+ // 椤轰究娓呯悊涓媌om鐨勫綋澶╃紦瀛�
+ bomReportedCache = make(map[string]struct{})
+ fullInvData = true
+ }
+ } else {
+ fullInvData = false
+ }
+
+ list := kingdee.ICInventory()
+
+ logger.Debug("鏌ヨ鍒�%d鏉″簱瀛樻暟鎹�", len(list))
+
+ // 鍏堣繃婊や竴閬嶆暟鎹�, 鏍肩憺绫冲彂鐜版湁鍚屼竴涓骇鍝佸悓鎵瑰彿鍚屼粨搴�, 鏈夊鏉″簱瀛樿褰曠殑鎯呭喌
+ // 灏嗙被浼肩殑鏁版嵁搴撳瓨鏁扮疮璁″埌涓�璧�
+ var filterMap = make(map[string]float64, 0)
+ for i := 0; i < len(list); {
+ cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
+ if qty, ok := filterMap[cacheKey]; ok {
+ filterMap[cacheKey] = list[i].FUnitQty + qty
+ list = append(list[:i], list[i+1:]...)
+ } else {
+ filterMap[cacheKey] = list[i].FUnitQty
+ i++
+ }
+ }
+
+ // 杩囨护鏁版嵁, 鍒ゆ柇鏄惁宸茬粡涓婃姤杩�
+ for i := 0; i < len(list); {
+ cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
+ if qty, ok := invReportedCache[cacheKey]; ok && qty == list[i].FUnitQty {
+ list = append(list[:i], list[i+1:]...)
+ } else {
+ invReportedCache[cacheKey] = list[i].FUnitQty
+ i++
+ }
+ }
+
+ if len(list) == 0 {
+ logger.Debug("娌℃湁瑕佹洿鏂扮殑搴撳瓨鏁版嵁.")
+ return
+ }
+
+ // 姣忔鍙� 1000 鏉�
+ successCnt := 0
+ for i := 0; i < len(list); i += 1000 {
+ end := i + 1000
+ if end > len(list) {
+ end = len(list)
+ }
+
+ b, _ := json.Marshal(list[i:end])
+
+ // HTTP鍗忚涓婃姤,宸蹭慨鏀逛负TCP
+ //nsqclient.HttpPost(config.Options.InventoryTopic, b)
+
+ // TCP鍗忚涓婃姤
+ ok := nsqclient.Produce(config.Options.InventoryTopic, b)
+ if !ok {
+ logger.Warn("搴撳瓨鏁版嵁涓婃姤澶辫触")
+
+ //涓婃姤澶辫触, 缂撳瓨娓呯┖
+ invReportedCache = make(map[string]float64, 0)
+ } else {
+ successCnt = end
+ }
+ }
+
+ logger.Debug("宸蹭笂鎶�%d鏉″簱瀛樻暟鎹�", successCnt)
+}
+
+func SendBom(fData bool) {
+ // 涓婃姤bom
+ bomList := kingdee.BomList(fData)
+ // 杩囨护鏁版嵁, 鍒ゆ柇鏄惁宸茬粡涓婃姤杩�, 璇锋眰鍏ㄩ噺鏁版嵁涓嶈繃婊�, 鐩存帴涓婃姤
+ if fData {
+ for i := 0; i < len(bomList); {
+ cacheKey := bomList[i].FBOMNumber + bomList[i].FAudDate
+ if _, ok := bomReportedCache[cacheKey]; ok {
+ bomList = append(bomList[:i], bomList[i+1:]...)
+ } else {
+ bomReportedCache[cacheKey] = struct{}{}
+ i++
+ }
+ }
+ }
+
+ if len(bomList) == 0 {
+ logger.Debug("娌℃湁瑕佹洿鏂扮殑Bom鏁版嵁.")
+ } else {
+ // 姣忔鍙� 1000 鏉�
+ successCnt := 0
+ for i := 0; i < len(bomList); i += 1000 {
+ end := i + 1000
+ if end > len(bomList) {
+ end = len(bomList)
+ }
+
+ b, _ := json.Marshal(bomList[i:end])
+
+ // TCP鍗忚涓婃姤
+ ok := nsqclient.Produce(config.Options.BomTopic, b)
+ if !ok {
+ logger.Warn("BOM鏁版嵁涓婃姤澶辫触")
+
+ //涓婃姤澶辫触, 缂撳瓨娓呯┖
+ bomReportedCache = make(map[string]struct{}, 0)
+ } else {
+ successCnt = end
+ }
+ }
+ logger.Debug("宸蹭笂鎶�%d鏉OM鏁版嵁", successCnt)
+ }
+
+ // 涓婃姤bom瀛愰」
+}
diff --git a/report/loop.go b/report/task.go
similarity index 61%
rename from report/loop.go
rename to report/task.go
index 4fddf91..f0011d1 100644
--- a/report/loop.go
+++ b/report/task.go
@@ -11,18 +11,18 @@
var ctx context.Context
var cancel context.CancelFunc
-func StartReport() {
+func Start() {
ctx, cancel = context.WithCancel(context.Background())
- go Loop(ctx)
+ go queryTasks(ctx)
}
func RestartReport() {
cancel()
- StartReport()
+ Start()
}
-func Loop(c context.Context) {
+func queryTasks(c context.Context) {
logger.Debug("鍚姩鏁版嵁涓婃姤浠诲姟")
for {
select {
@@ -31,15 +31,19 @@
return
default:
// 涓婃姤璁㈠崟
- SendOrder()
+ if config.Options.OrderTopic != "" {
+ SendOrder()
+ }
// 涓婃姤鍗虫椂搴撳瓨
- SendInventory()
+ if config.Options.InventoryTopic != "" {
+ SendInventory()
+ }
- // 娴嬭瘯鏌ヨ璇锋眰
- //sql := []byte("select * from t_icitem where FItemID=3316")
- //ok := nsqclient.Produce(config.Options.SqlQueryTopic, sql)
- //logger.Debug("娴嬭瘯璇锋眰鎺ュ彛, %v", ok)
+ // 涓婃姤bom
+ if config.Options.BomTopic != "" {
+ SendBom(true)
+ }
time.Sleep(time.Duration(config.Options.SyncInterval) * time.Second)
}
diff --git a/report/tasks.go b/report/tasks.go
deleted file mode 100644
index f735c2d..0000000
--- a/report/tasks.go
+++ /dev/null
@@ -1,177 +0,0 @@
-package report
-
-import (
- "encoding/json"
- "io/ioutil"
- "time"
-
- "kingdee-dbapi/cache"
- "kingdee-dbapi/config"
- "kingdee-dbapi/kingdee"
- "kingdee-dbapi/logger"
- "kingdee-dbapi/models"
- "kingdee-dbapi/nsqclient"
-)
-
-const orderLocalStore = "order.tmp"
-const inventoryLocalStore = "inventory.tmp"
-
-func SendOrder() {
- var list []kingdee.SEOrder
-
- if config.Options.Debug {
- data, err := ioutil.ReadFile(orderLocalStore)
- if err != nil {
- logger.Error("鏂囦欢璇诲彇澶辫触, %s", err.Error())
- return
- }
- err = json.Unmarshal(data, &list)
- if err != nil {
- logger.Error("鏂囦欢鍐呭瑙f瀽澶辫触, %s", err.Error())
- return
- }
- } else {
- list = kingdee.SeOrderList()
- logger.Debug("鏌ヨ鍒�%d鏉¤鍗曚俊鎭�", len(list))
- }
-
- var completedOrderNo = make(map[string]struct{})
-
- for i := 0; i < len(list); {
- if cache.Exists(list[i].FBillNo) {
- list = append(list[:i], list[i+1:]...)
- } else {
- completedOrderNo[list[i].FBillNo] = struct{}{}
- i++
- }
- }
-
- b, _ := json.Marshal(list)
-
- if !config.Options.Debug {
- ioutil.WriteFile(orderLocalStore, b, 0644)
- }
-
- // http鍗忚涓婃姤, 宸蹭慨鏀逛负TCP
- //ok := nsqclient.HttpPost(config.Options.OrderTopic, b)
-
- if len(list) == 0 {
- logger.Debug("娌℃湁鏂扮殑璁㈠崟鏁版嵁")
- return
- }
-
- // TCP鍗忚涓婃姤
- ok := nsqclient.Produce(config.Options.OrderTopic, b)
- if ok {
- // 鍐欏叆鏁版嵁搴�, 鏍囪宸茬粡涓婃姤杩囦簡,閬垮厤閲嶅涓婃姤
- for orderNo, _ := range completedOrderNo {
- cursor := models.Order{
- OrderNo: orderNo,
- }
-
- cursor.Insert()
- cache.WriteCache(orderNo)
- }
-
- logger.Debug("宸蹭笂鎶�%d涓鍗曚俊鎭�", len(list))
- } else {
- logger.Warn("璁㈠崟鏁版嵁涓婃姤澶辫触")
- }
-}
-
-var invReportedCache = make(map[string]float64, 0)
-var fullLoad bool
-
-func SendInventory() {
- var list []kingdee.Inventory
-
- // 璁剧疆姣忓ぉ鍑屾櫒1鐐逛笂鎶ヤ竴娆″叏閲忔暟鎹�
- hour := time.Now().Hour()
- if hour == 1 {
- if fullLoad == false {
- invReportedCache = make(map[string]float64, 0)
- fullLoad = true
- }
- } else {
- fullLoad = false
- }
-
- if config.Options.Debug {
- data, err := ioutil.ReadFile(inventoryLocalStore)
- if err != nil {
- logger.Error("鏂囦欢璇诲彇澶辫触, %s", err.Error())
- return
- }
-
- err = json.Unmarshal(data, &list)
- if err != nil {
- logger.Error("鏂囦欢鍐呭瑙f瀽澶辫触, %s", err.Error())
- return
- }
- } else {
- list = kingdee.ICInventory()
-
- logger.Debug("鏌ヨ鍒�%d鏉″簱瀛樻暟鎹�", len(list))
-
- // 鍏堣繃婊や竴閬嶆暟鎹�, 鏍肩憺绫冲彂鐜版湁鍚屼竴涓骇鍝佸悓鎵瑰彿鍚屼粨搴�, 鏈夊鏉″簱瀛樿褰曠殑鎯呭喌
- // 灏嗙被浼肩殑鏁版嵁搴撳瓨鏁扮疮璁″埌涓�璧�
- var filterMap = make(map[string]float64, 0)
- for i := 0; i < len(list); {
- cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
- if qty, ok := filterMap[cacheKey]; ok {
- filterMap[cacheKey] = list[i].FUnitQty + qty
- list = append(list[:i], list[i+1:]...)
- } else {
- filterMap[cacheKey] = list[i].FUnitQty
- i++
- }
- }
-
- // 杩囨护鏁版嵁, 鍒ゆ柇鏄惁宸茬粡涓婃姤杩�
- for i := 0; i < len(list); {
- cacheKey := list[i].FNumber + list[i].FBatchNo + list[i].FStockNo
- if qty, ok := invReportedCache[cacheKey]; ok && qty == list[i].FUnitQty {
- list = append(list[:i], list[i+1:]...)
- } else {
- invReportedCache[cacheKey] = list[i].FUnitQty
- i++
- }
- }
-
- if len(list) == 0 {
- logger.Debug("娌℃湁瑕佹洿鏂扮殑搴撳瓨鏁版嵁.")
- return
- }
- }
-
- // 姣忔鍙� 1000 鏉�
- successCnt := 0
- for i := 0; i < len(list); i += 1000 {
- end := i + 1000
- if end > len(list) {
- end = len(list)
- }
-
- b, _ := json.Marshal(list[i:end])
-
- if !config.Options.Debug {
- ioutil.WriteFile(inventoryLocalStore, b, 0644)
- }
-
- // HTTP鍗忚涓婃姤,宸蹭慨鏀逛负TCP
- //nsqclient.HttpPost(config.Options.InventoryTopic, b)
-
- // TCP鍗忚涓婃姤
- ok := nsqclient.Produce(config.Options.InventoryTopic, b)
- if !ok {
- logger.Warn("搴撳瓨鏁版嵁涓婃姤澶辫触")
-
- //涓婃姤澶辫触, 缂撳瓨娓呯┖
- invReportedCache = make(map[string]float64, 0)
- } else {
- successCnt = end
- }
- }
-
- logger.Debug("宸蹭笂鎶�%d鏉″簱瀛樻暟鎹�", successCnt)
-}
--
Gitblit v1.8.0