This commit is contained in:
richboo111
2023-04-27 11:55:54 +08:00
parent d775e408eb
commit a2e183b5b9
3 changed files with 20 additions and 13 deletions

View File

@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"net/http"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
@@ -20,7 +19,7 @@ import (
// SendToVendor 向平台发消息 // SendToVendor 向平台发消息
func SendToVendor(msg []byte) { func SendToVendor(msg []byte) {
var ( var (
w http.ResponseWriter //w http.ResponseWriter
sendData SendData sendData SendData
err error err error
elmAppID = api.EbaiAPI.GetSource() elmAppID = api.EbaiAPI.GetSource()
@@ -48,14 +47,16 @@ func SendToVendor(msg []byte) {
} }
if err != nil { if err != nil {
ClientRender(w, Fail, FailMsg, map[string]string{ ClientRender(Fail, FailMsg, map[string]string{
"errMsg": fmt.Sprintf("%v", err), "errMsg": fmt.Sprintf("%v", err),
}) })
return
} else { } else {
ClientRender(w, SuccessCode, SuccessMsg, map[string]interface{}{ ClientRender(SuccessCode, SuccessMsg, map[string]interface{}{
"vendorID": sendData.VendorID, "vendorID": sendData.VendorID,
"msg": "ok", "msg": "ok",
}) })
return
} }
return return
} }
@@ -93,6 +94,7 @@ func Send(data []byte) {
} }
fmt.Printf("%s receive: %s\n", conn.RemoteAddr(), string(msg)) fmt.Printf("%s receive: %s\n", conn.RemoteAddr(), string(msg))
} }
return
} }
// ReadMsgFromClient 存储客户端发送的消息 // ReadMsgFromClient 存储客户端发送的消息
@@ -139,11 +141,13 @@ func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) {
//1 存储详细聊天记录list //1 存储详细聊天记录list
if err = SetMessageDetail(jxMsg, vendorID, elmAppID); err != nil { if err = SetMessageDetail(jxMsg, vendorID, elmAppID); err != nil {
return globals.SugarLogger.Debugf("ReadMsgFromClient SetMessageDetail err:=%v\n", err)
//return
} }
//2 存储展示列表时单条数据 //2 存储展示列表时单条数据
if err = SetUserList(jxMsg, userList, vendorID, elmAppID); err != nil { if err = SetUserList(jxMsg, userList, vendorID, elmAppID); err != nil {
return globals.SugarLogger.Debugf("ReadMsgFromClient SetUserList err:=%v\n", err)
//return
} }
} }
@@ -190,16 +194,19 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) {
//1 存储详细聊天记录list //1 存储详细聊天记录list
if err = SetMessageDetail(jxMsg, vendorID, elmAppID); err != nil { if err = SetMessageDetail(jxMsg, vendorID, elmAppID); err != nil {
return globals.SugarLogger.Debugf("ReadMsgFromVendor SetMessageDetail err:=%v\n", err)
//return
} }
//2 存储展示列表时单条数据 //2 存储展示列表时单条数据
if err = SetUserList(jxMsg, userList, vendorID, elmAppID); err != nil { if err = SetUserList(jxMsg, userList, vendorID, elmAppID); err != nil {
return globals.SugarLogger.Debugf("ReadMsgFromVendor SetUserList err:=%v\n", err)
//return
} }
//3 cid推送新消息 //3 cid推送新消息
err = PushMsgByCid(vendorStoreID, vendorID) err = PushMsgByCid(vendorStoreID, vendorID)
//4 长链接通知给客户端 //4 长链接通知给客户端
ToClientChan <- clientInfo{Code: SuccessCode, Msg: fmt.Sprintf("%v", err), Data: jxMsg} ToClientChan <- clientInfo{Code: SuccessCode, Msg: fmt.Sprintf("%v", err), Data: jxMsg}
return
} }
// PushMsgByCid 通过cid push用户 // PushMsgByCid 通过cid push用户

View File

@@ -177,7 +177,7 @@ func Render(conn *websocket.Conn, messageId string, code int, message string, da
}) })
} }
func ClientRender(w http.ResponseWriter, code int, msg string, data interface{}) (str string) { func ClientRender(code int, msg string, data interface{}) (str string) {
var retData RetData var retData RetData
retData.Code = code retData.Code = code
@@ -187,6 +187,7 @@ func ClientRender(w http.ResponseWriter, code int, msg string, data interface{})
retJson, _ := json.Marshal(retData) retJson, _ := json.Marshal(retData)
str = string(retJson) str = string(retJson)
var w http.ResponseWriter
w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Header().Set("Content-Type", "application/json; charset=utf-8")
_, _ = io.WriteString(w, str) _, _ = io.WriteString(w, str)
return return

View File

@@ -16,11 +16,8 @@ func Init() {
//初始化 //初始化
ToClientChan = make(chan clientInfo, 1000) ToClientChan = make(chan clientInfo, 1000)
//写入全局变量 //写入全局变量
//Default()
Setup() Setup()
//建立长链接 //建立长链接
//StartWebSocket(res, req)
go Send([]byte(HeartCheckMsg)) go Send([]byte(HeartCheckMsg))
//启动定时器 //启动定时器
@@ -51,7 +48,8 @@ func Run(w http.ResponseWriter, r *http.Request) {
//设置读取消息大小上线 //设置读取消息大小上线
conn.SetReadLimit(maxMessageSize) conn.SetReadLimit(maxMessageSize)
clientID := r.FormValue("clientId") //clientID := r.FormValue("clientId")
clientID := r.Header.Get("Clientid")
clientSocket := NewClient(clientID, conn) clientSocket := NewClient(clientID, conn)
//读取客户端消息 //读取客户端消息
@@ -164,6 +162,7 @@ func (c *Client) Read() {
} }
} else { } else {
SendToVendor(msg) SendToVendor(msg)
return
} }
} }
}() }()