284 lines
8.9 KiB
Go
284 lines
8.9 KiB
Go
package messagectrl
|
|
|
|
import (
|
|
"91porn-server/app/service/messageser"
|
|
"91porn-server/common"
|
|
"91porn-server/common/log"
|
|
"91porn-server/common/stderr"
|
|
"91porn-server/common/truthutil"
|
|
"91porn-server/models/v/messagemod"
|
|
"91porn-server/models/v/sessionmod"
|
|
"fmt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// List doc
|
|
// @Summary 消息
|
|
// @Description 动态列表
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber formData integer true "查询页码"
|
|
// @Param pageSize formData integer true "页码大小"
|
|
// @Param msgType formData string true "消息类型:comment_msg 评论"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/dynamic/list [get]
|
|
func List(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
var in *messagemod.QueryCond
|
|
if err := ctx.ShouldBind(&in); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
data, has, code := messageser.QueryDynamics(uid, in)
|
|
if code != stderr.Success {
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
resp := make(map[string]interface{})
|
|
resp["list"] = data
|
|
resp["hasNext"] = has
|
|
common.ServeJSON(ctx, stderr.Success, resp)
|
|
}
|
|
|
|
// NoRedNum doc
|
|
// @Summary 消息
|
|
// @Description 动态列表
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber formData integer true "查询页码"
|
|
// @Param pageSize formData integer true "页码大小"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/dynamic/noRedNum [get]
|
|
func NoRedNum(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
data, code := messageser.QueryNoRedDynamicNum(uid)
|
|
if code != stderr.Success {
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, data)
|
|
}
|
|
|
|
// SessionList doc
|
|
// @Summary 消息
|
|
// @Description 会话列表
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber formData integer true "查询页码"
|
|
// @Param pageSize formData integer true "页码大小"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/session/list [get]
|
|
func SessionList(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
var in *sessionmod.QueryCond
|
|
if err := ctx.ShouldBind(&in); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
data, has, code := messageser.QueryPrivateLetterSession(uid, in)
|
|
if code != stderr.Success {
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
resp := make(map[string]interface{})
|
|
resp["list"] = data
|
|
resp["hasNext"] = has
|
|
common.ServeJSON(ctx, stderr.Success, resp)
|
|
}
|
|
|
|
// DelSession doc
|
|
// @Summary 消息
|
|
// @Description 删除会话
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param sessionId formData string true "会话ID"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/session/del [post]
|
|
func DelSession(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
type req struct {
|
|
SessionId string `json:"sessionId" form:"sessionId"` // 会话id
|
|
}
|
|
var in req
|
|
if err := ctx.ShouldBind(&in); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
code := messageser.DelSession(uid, in.SessionId)
|
|
if code != stderr.Success {
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, nil)
|
|
}
|
|
|
|
// GetSessionId doc
|
|
// @Summary 消息
|
|
// @Description 获取sessionId
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber formData integer true "查询页码"
|
|
// @Param pageSize formData integer true "页码大小"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/session/get [get]
|
|
func GetSessionId(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
var in *sessionmod.QuerySessionIdCond
|
|
if err := ctx.ShouldBind(&in); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
if in.TakeUid <= 0 {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
sessionId := messageser.GetSessionId(uid, in.TakeUid)
|
|
if sessionId == "" {
|
|
common.ServeJSON(ctx, stderr.Failure, nil)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, sessionId)
|
|
}
|
|
|
|
// MessageList doc
|
|
// @Summary 消息
|
|
// @Description 会话消息列表
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber formData integer true "查询页码"
|
|
// @Param pageSize formData integer true "页码大小"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/msg/message/list [get]
|
|
func MessageList(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
var in *messagemod.QueryMsgCond
|
|
if err := ctx.ShouldBind(&in); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
|
|
data, has, code := messageser.QueryPrivateLetterMsg(uid, in)
|
|
if code != stderr.Success {
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
resp := make(map[string]interface{})
|
|
resp["list"] = data
|
|
resp["hasNext"] = has
|
|
common.ServeJSON(ctx, stderr.Success, resp)
|
|
}
|
|
|
|
// PrivateLetter doc
|
|
// @Summary 消息
|
|
// @Description 发消息(私信)
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param takeUid formData string true "接受用户uid"
|
|
// @Param imgUrl formData []string false "图片内容"
|
|
// @Param content formData integer false "消息内容"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/message/priLetter/add [post]
|
|
func PrivateLetter(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
param := messagemod.AddMsgReqInfo{}
|
|
err = ctx.ShouldBind(¶m)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
if len(param.ImgUrl) <= 0 && param.Content == "" {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
// 检查发送内容的合法性
|
|
if param.Content != "" && !truthutil.CheckIsValid(param.Content, 1) {
|
|
log.Error("私信检查不通过", log.Any("uid", uid), log.Any("content", param.Content))
|
|
common.ServeJSON(ctx, stderr.Success, nil)
|
|
return
|
|
}
|
|
|
|
code := messageser.AddPrivateLetter(uid, param)
|
|
if code != stderr.Success {
|
|
log.Warn(fmt.Sprintf("messagectrl Add messageser.AddPrivateLetter error:%+v:", code.Msg()), log.Any("uid", uid))
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, nil)
|
|
}
|
|
|
|
// Read doc
|
|
// @Summary 消息
|
|
// @Description 消息已读
|
|
// @Tags 私信模块
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param question formData string true "问题"
|
|
// @Param images formData []string true "图片"
|
|
// @Param bountyGold formData integer true "悬赏金额"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /app/message/read [post]
|
|
func Read(ctx *gin.Context) {
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
param := messagemod.ReadMsgReqInfo{}
|
|
err = ctx.ShouldBind(¶m)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
code := messageser.ReadMsg(uid, param)
|
|
if code != stderr.Success {
|
|
log.Warn(fmt.Sprintf("messagectrl Adoption messageser.ReadMsg error:%+v:", code.Tip()), log.Any("uid", uid), log.Any("MsgIds", param.MsgIds))
|
|
common.ServeJSON(ctx, code, nil)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, nil)
|
|
}
|