From 1873461012c99801f364bd07fae2c218d245048e Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期一, 11 九月 2023 19:42:39 +0800 Subject: [PATCH] 修复bom第一启动时的全量上报 --- kingdee/cst.go | 43 +++++++++++++++++++++++++++++++------------ 1 files changed, 31 insertions(+), 12 deletions(-) diff --git a/kingdee/cst.go b/kingdee/cst.go index 076286a..17621bb 100644 --- a/kingdee/cst.go +++ b/kingdee/cst.go @@ -1,17 +1,22 @@ package kingdee +/* +璇锋眰鍐欏叆鐢熶骇浠诲姟鍗曠殑鎺ュ彛 +鎺ユ敹aps鐨勮姹�, 璋冪敤鏈湴鐨勭敓浜т换鍔″崟鏈嶅姟, 骞跺搷搴旂粨鏋� +*/ import ( "bytes" "encoding/json" "fmt" "io/ioutil" - "kingdee-dbapi/config" - "kingdee-dbapi/logger" - "kingdee-dbapi/nsqclient" "mime/multipart" "net/http" "strconv" "time" + + "kingdee-dbapi/config" + "kingdee-dbapi/logger" + "kingdee-dbapi/nsqclient" ) var JoHeadTemplate = ` @@ -64,9 +69,11 @@ } type CSTNsqReply struct { - FBillNo string `json:"fBillNo"` // 璁㈠崟缂栧彿 - Code int `json:"code"` // CST鎺ュ彛杩斿洖鐨刢ode - Message string `json:"message"` // 鎴愬姛鍒欒繑鍥炲崟鍙�, 澶辫触杩斿洖 + FBillNo string `json:"FBillNo"` // 璁㈠崟缂栧彿 + FNumber string `json:"FNumber"` // 鐗╂枡浠g爜 + ICMONo string `json:"ICMONo"` // 閲戣澏绯荤粺鐨勭敓浜т换鍔″崟缂栧彿 + Code int `json:"code"` // CST鎺ュ彛杩斿洖鐨刢ode, 鎴愬姛200 + Message string `json:"message"` // 澶辫触鐨勯敊璇俊鎭� } type CSTServiceResponse struct { @@ -88,6 +95,7 @@ logger.Warn("瑙f瀽璇锋眰澶辫触, %s", err.Error()) return err } + logger.Debug("鎺ユ敹鍒板垱寤虹敓浜т换鍔″崟璇锋眰, 鍏�%d鏉¤鍗�", len(query)) for _, q := range query { ret := Commit2CSTService(q) @@ -102,8 +110,14 @@ } func Commit2CSTService(order CSTNsqQuery) (result CSTNsqReply) { - fmt.Println(order) result.Code = -1 + result.FBillNo = order.FBillNo + result.FNumber = order.FNumber + + if result.FBillNo == "" || result.FNumber == "" { + result.Message = "璁㈠崟缂栧彿鎴栫墿鏂欑紪鍙蜂笉鑳戒负绌�" + return + } today := time.Now().Format("2006-01-02") joHead := fmt.Sprintf(JoHeadTemplate, @@ -119,7 +133,7 @@ int(order.UseAmount), // 瀹屽伐鍏ュ簱涓婇檺 int(order.UseAmount), // 瀹屽伐鍏ュ簱涓嬮檺 ) - fmt.Println(joHead) + //fmt.Println(joHead) params := map[string]string{ "action": "鐢熶骇浠诲姟鍗�.鏂板", "fuserid": "16394", @@ -156,8 +170,8 @@ } if rspMsg.ErrCode == 0 { - result.Code = 0 - result.Message = rspMsg.Data.FBillNo + result.Code = 200 + result.ICMONo = rspMsg.Data.FBillNo } else { result.Code = rspMsg.ErrCode result.Message = rspMsg.ErrMsg @@ -169,11 +183,12 @@ func newMultipartRequest(url string, params map[string]string) (*http.Request, error) { body := &bytes.Buffer{} writer := multipart.NewWriter(body) + // 璁剧疆Boundary, 鎺ュ彛楠岃瘉浜嗗叚涓�- - err := writer.SetBoundary("------basicHttpClient" + strconv.Itoa(int(time.Now().Unix()))) - if err != nil { + if err := writer.SetBoundary("------basicHttpClient" + strconv.Itoa(int(time.Now().Unix()))); err != nil { fmt.Println(err.Error()) } + for key, val := range params { _ = writer.WriteField(key, val) } @@ -181,6 +196,10 @@ writer.Close() req, err := http.NewRequest("POST", url, body) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", writer.FormDataContentType()) req.Header.Set("User-Agent", "basicHttpClient/0.0.1") req.Header.Set("Connection", "keep-alive") -- Gitblit v1.8.0