Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -146,6 +146,9 @@ func (c *EventController) TestWebsocket() {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer ws.Close()
|
||||
|
||||
//var clientID = c.GetString("clientID")
|
||||
//fmt.Printf("clientID=%s", clientID)
|
||||
var (
|
||||
vendorOrderID = c.GetString("vendorOrderID")
|
||||
msgMap = make(map[string]*model.ImMessageRecord)
|
||||
|
||||
@@ -1,106 +1,122 @@
|
||||
package controllers
|
||||
|
||||
//
|
||||
//import (
|
||||
// "encoding/json"
|
||||
// "net/http"
|
||||
//
|
||||
// "git.rosy.net.cn/jx-callback/globals"
|
||||
//
|
||||
// "git.rosy.net.cn/jx-callback/business/partner/purchase/im"
|
||||
// "github.com/astaxie/beego/server/web"
|
||||
//)
|
||||
//
|
||||
//type IMController struct {
|
||||
// web.Controller
|
||||
//}
|
||||
//
|
||||
//// @Title IM初始化长链接
|
||||
//// @Description IM初始化长链接
|
||||
//// @Success 200 {object} controllers.CallResult
|
||||
//// @Failure 200 {object} controllers.CallResult
|
||||
//// @router /StartWebSocket [get]
|
||||
//func (c *IMController) StartWebSocket() {
|
||||
// upgrader.CheckOrigin = func(r *http.Request) bool {
|
||||
// return true
|
||||
// }
|
||||
// ws, err := upgrader.Upgrade(c.Ctx.ResponseWriter, c.Ctx.Request, nil)
|
||||
// if err != nil {
|
||||
// globals.SugarLogger.Errorf("upgrade error: %v", err)
|
||||
// return
|
||||
// }
|
||||
// defer ws.Close()
|
||||
//
|
||||
// clientID := c.GetString("clientID")
|
||||
// globals.SugarLogger.Debugf("clientID=%s", clientID)
|
||||
//
|
||||
// im.StartWebSocket(ws, clientID, err)
|
||||
//}
|
||||
//
|
||||
//// @Title IM获取门店用户聊天列表
|
||||
//// @Description IM获取门店用户聊天列表
|
||||
//// @Param token header string true "认证token"
|
||||
//// @Param payLoad formData string true "平台应用映射关系"
|
||||
//// @Success 200 {object} controllers.CallResult
|
||||
//// @Failure 200 {object} controllers.CallResult
|
||||
//// @router /GetIMUserList [get]
|
||||
//func (c *IMController) GetIMUserList() {
|
||||
// c.callGetIMUserList(func(params *tImGetIMUserListParams) (retVal interface{}, errCode string, err error) {
|
||||
// var relInfo []im.RelInfo
|
||||
// if err = json.Unmarshal([]byte(params.PayLoad), &relInfo); err != nil {
|
||||
// retVal, err = im.GetImUserList(relInfo)
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/im"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
)
|
||||
|
||||
type IMController struct {
|
||||
web.Controller
|
||||
}
|
||||
|
||||
var maxMessageSize = int64(8192) // 最大的消息大小
|
||||
|
||||
// @Title IM初始化长链接
|
||||
// @Description IM初始化长链接
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /StartWebSocket [get]
|
||||
func (c *IMController) StartWebSocket() {
|
||||
|
||||
im.Run(c.Ctx.ResponseWriter, c.Ctx.Request)
|
||||
//
|
||||
//upgrader.CheckOrigin = func(r *http.Request) bool {
|
||||
// return true
|
||||
//}
|
||||
//conn, err := upgrader.Upgrade(c.Ctx.ResponseWriter, c.Ctx.Request, nil)
|
||||
//if err != nil {
|
||||
// globals.SugarLogger.Errorf("upgrade error: %v", err)
|
||||
// return
|
||||
//}
|
||||
//defer conn.Close()
|
||||
//
|
||||
//clientID := c.GetString("clientID")
|
||||
//globals.SugarLogger.Debugf("clientID=%s", clientID)
|
||||
//
|
||||
////设置读取消息大小上线
|
||||
//conn.SetReadLimit(maxMessageSize)
|
||||
//
|
||||
//clientSocket := im.NewClient(clientID, conn)
|
||||
//
|
||||
////读取客户端消息
|
||||
//clientSocket.Read()
|
||||
//
|
||||
//if err = im.ConnRender(conn, im.RetData{Data: clientID}); err != nil {
|
||||
// _ = conn.Close()
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//// 用户连接事件
|
||||
//im.Manager.Connect <- clientSocket
|
||||
|
||||
}
|
||||
|
||||
// @Title IM获取门店用户聊天列表
|
||||
// @Description IM获取门店用户聊天列表
|
||||
// @Param token header string true "认证token"
|
||||
// @Param payLoad formData string true "平台应用映射关系"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetIMUserList [get]
|
||||
func (c *IMController) GetIMUserList() {
|
||||
c.callGetIMUserList(func(params *tImGetIMUserListParams) (retVal interface{}, errCode string, err error) {
|
||||
var relInfo []im.RelInfo
|
||||
if err = json.Unmarshal([]byte(params.PayLoad), &relInfo); err != nil {
|
||||
retVal, err = im.GetImUserList(relInfo)
|
||||
}
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title IM获取单个用户聊天详情
|
||||
// @Description IM获取单个用户聊天详情
|
||||
// @Param token header string true "认证token"
|
||||
// @Param payLoad formData string true "平台用户应用映射关系"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetImChatDetail [get]
|
||||
func (c *IMController) GetImChatDetail() {
|
||||
c.callGetImChatDetail(func(params *tImGetImChatDetailParams) (retVal interface{}, errCode string, err error) {
|
||||
var temp []im.UserRelInfo
|
||||
if err = json.Unmarshal([]byte(params.PayLoad), &temp); err == nil {
|
||||
retVal, err = im.GetImChatDetail(temp)
|
||||
}
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title IM设置门店与单个用户已读
|
||||
// @Description IM设置门店与单个用户已读
|
||||
// @Param token header string true "认证token"
|
||||
// @Param appID formData string true "应用id"
|
||||
// @Param vendorStoreID formData string true "平台门店id"
|
||||
// @Param vendorID formData string true "平台id"
|
||||
// @Param userID formData string true "用户id/会话id"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /SetImMsgRead [post]
|
||||
func (c *IMController) SetImMsgRead() {
|
||||
c.callSetImMsgRead(func(params *tImSetImMsgReadParams) (retVal interface{}, errCode string, err error) {
|
||||
err = im.SetJxMsgRead(params.AppID, params.VendorStoreID, params.VendorID, params.UserID)
|
||||
return nil, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 向平台商发送信息
|
||||
// @Description 向平台商发送信息
|
||||
// @Param token header string true "认证token"
|
||||
// @Param sendData formData string true "平台商消息结构体"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /SendToVendor [post]
|
||||
//func (c *IMController) SendToVendor() {
|
||||
// c.callSendToVendor(func(params *tImSendToVendorParams) (retVal interface{}, errCode string, err error) {
|
||||
// var sendData im.SendData
|
||||
// if err = json.Unmarshal([]byte(params.SendData), &sendData); err == nil {
|
||||
// im.SendToVendor(sendData)
|
||||
// }
|
||||
// return retVal, "", err
|
||||
// })
|
||||
//}
|
||||
//
|
||||
//// @Title IM获取单个用户聊天详情
|
||||
//// @Description IM获取单个用户聊天详情
|
||||
//// @Param token header string true "认证token"
|
||||
//// @Param payLoad formData string true "平台用户应用映射关系"
|
||||
//// @Success 200 {object} controllers.CallResult
|
||||
//// @Failure 200 {object} controllers.CallResult
|
||||
//// @router /GetImChatDetail [get]
|
||||
//func (c *IMController) GetImChatDetail() {
|
||||
// c.callGetImChatDetail(func(params *tImGetImChatDetailParams) (retVal interface{}, errCode string, err error) {
|
||||
// var temp []im.UserRelInfo
|
||||
// if err = json.Unmarshal([]byte(params.PayLoad), &temp); err == nil {
|
||||
// retVal, err = im.GetImChatDetail(temp)
|
||||
// }
|
||||
// return retVal, "", err
|
||||
// })
|
||||
//}
|
||||
//
|
||||
//// @Title IM设置门店与单个用户已读
|
||||
//// @Description IM设置门店与单个用户已读
|
||||
//// @Param token header string true "认证token"
|
||||
//// @Param appID formData string true "应用id"
|
||||
//// @Param vendorStoreID formData string true "平台门店id"
|
||||
//// @Param vendorID formData string true "平台id"
|
||||
//// @Param userID formData string true "用户id/会话id"
|
||||
//// @Success 200 {object} controllers.CallResult
|
||||
//// @Failure 200 {object} controllers.CallResult
|
||||
//// @router /SetImMsgRead [post]
|
||||
//func (c *IMController) SetImMsgRead() {
|
||||
// c.callSetImMsgRead(func(params *tImSetImMsgReadParams) (retVal interface{}, errCode string, err error) {
|
||||
// err = im.SetJxMsgRead(params.AppID, params.VendorStoreID, params.VendorID, params.UserID)
|
||||
// return nil, "", err
|
||||
// })
|
||||
//}
|
||||
//
|
||||
//// @Title 向平台商发送信息
|
||||
//// @Description 向平台商发送信息
|
||||
//// @Param token header string true "认证token"
|
||||
//// @Param sendData formData string true "平台商消息结构体"
|
||||
//// @Success 200 {object} controllers.CallResult
|
||||
//// @Failure 200 {object} controllers.CallResult
|
||||
//// @router /SendToVendor [post]
|
||||
////func (c *IMController) SendToVendor() {
|
||||
//// c.callSendToVendor(func(params *tImSendToVendorParams) (retVal interface{}, errCode string, err error) {
|
||||
//// var sendData im.SendData
|
||||
//// if err = json.Unmarshal([]byte(params.SendData), &sendData); err == nil {
|
||||
//// im.SendToVendor(sendData)
|
||||
//// }
|
||||
//// return nil, "", err
|
||||
//// })
|
||||
////}
|
||||
|
||||
Reference in New Issue
Block a user