1
This commit is contained in:
@@ -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用户
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|||||||
Reference in New Issue
Block a user