@@ -0,0 +1,136 @@
|
||||
package web_im
|
||||
|
||||
import (
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/skd/job"
|
||||
"91porn-server/services/srv_im"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type syncIMUsersResp struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
Running bool `json:"running"`
|
||||
Message string `json:"message"`
|
||||
Task job.SyncIMUsersTaskStatus `json:"task"`
|
||||
}
|
||||
|
||||
func SyncIMUsers(ctx *gin.Context) {
|
||||
accepted, status := job.RequestSyncIMUsers()
|
||||
resp := syncIMUsersResp{
|
||||
Accepted: accepted,
|
||||
Running: status.Running,
|
||||
Task: status,
|
||||
}
|
||||
if accepted {
|
||||
resp.Message = "sync task queued"
|
||||
} else if status.Running {
|
||||
resp.Message = "sync task already in progress"
|
||||
} else {
|
||||
resp.Message = "sync task already queued"
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func SyncIMUsersStatus(ctx *gin.Context) {
|
||||
common.ServeJSON(ctx, stderr.Success, job.GetSyncIMUsersStatus())
|
||||
}
|
||||
|
||||
func ListIMUsers(ctx *gin.Context) {
|
||||
var req srv_im.UserListReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.ListUsers(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func SyncIMUsersByIDs(ctx *gin.Context) {
|
||||
var req srv_im.SyncUsersReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.SyncUsers(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func AddIMFriendDirect(ctx *gin.Context) {
|
||||
var req srv_im.FriendAddDirectReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
code, msg := srv_im.AddFriendDirect(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{"ok": true})
|
||||
}
|
||||
|
||||
func BatchIMOnlineStatus(ctx *gin.Context) {
|
||||
var req srv_im.OnlineStatusReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.BatchOnlineStatus(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func SendIMPassthrough(ctx *gin.Context) {
|
||||
var req srv_im.PassthroughReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.SendPassthrough(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func SendIMAdNotify(ctx *gin.Context) {
|
||||
var req srv_im.AdNotifyReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.SendAdNotify(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
|
||||
func SendIMMessage(ctx *gin.Context) {
|
||||
var req srv_im.SendMessageReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
|
||||
return
|
||||
}
|
||||
resp, code, msg := srv_im.SendMessage(req)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, msg)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
Reference in New Issue
Block a user