150 lines
4.0 KiB
Go
150 lines
4.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"service/api/consts"
|
|
"service/api/errcode"
|
|
zonemomentproto "service/api/proto/zonemoment/proto"
|
|
"service/app/mix/service"
|
|
"service/bizcommon/util"
|
|
"service/library/logger"
|
|
"service/library/mediafiller"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func OpCreateZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpCreateReq)
|
|
ec := service.DefaultService.OpCreateZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpCreateZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrorMsg(ctx, "server error")
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|
|
|
|
func OpUpdateZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpUpdateReq)
|
|
ec := service.DefaultService.OpUpdateZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpUpdateZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|
|
|
|
func OpDeleteZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpDeleteReq)
|
|
ec := service.DefaultService.OpDeleteZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpDeleteZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|
|
|
|
func OpGetZoneMomentList(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpListReq)
|
|
|
|
//设置默认页长
|
|
if req.Limit == 0 {
|
|
req.Limit = consts.DefaultPageSize
|
|
}
|
|
|
|
list, ec := service.DefaultService.OpGetZoneMomentList(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpGetZoneMomentList fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
//填充媒体切片
|
|
mediaFillableList := make([]mediafiller.MediaFillable, len(list))
|
|
for i, media := range list {
|
|
mediaFillableList[i] = media.MediaComp
|
|
}
|
|
mediafiller.FillList(ctx, mediaFillableList)
|
|
|
|
data := &zonemomentproto.OpListData{
|
|
List: list,
|
|
Offset: req.Offset + len(list),
|
|
}
|
|
if len(list) >= req.Limit {
|
|
data.More = 1
|
|
}
|
|
ReplyOk(ctx, data)
|
|
}
|
|
|
|
func OpGetZoneMomentListByUserId(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpListByUserIdReq)
|
|
|
|
//设置默认页长
|
|
if req.Limit == 0 {
|
|
req.Limit = consts.DefaultPageSize
|
|
}
|
|
|
|
list, ec := service.DefaultService.OpGetZoneMomentListByUserId(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpGetZoneMomentListByUserId fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
//填充媒体切片
|
|
mediaFillableList := make([]mediafiller.MediaFillable, len(list))
|
|
for i, media := range list {
|
|
mediaFillableList[i] = media.MediaComp
|
|
}
|
|
mediafiller.FillList(ctx, mediaFillableList)
|
|
|
|
data := &zonemomentproto.OpListByUserIdData{
|
|
ListByUserId: list,
|
|
Offset: req.Offset + len(list),
|
|
}
|
|
if len(list) >= req.Limit {
|
|
data.More = 1
|
|
}
|
|
ReplyOk(ctx, data)
|
|
}
|
|
|
|
func OpReviewZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpReviewReq)
|
|
ec := service.DefaultService.OpReviewZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpReviewZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|
|
|
|
func OpHeadZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpHeadReq)
|
|
ec := service.DefaultService.OpHeadZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpHeadZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|
|
|
|
func OpSetPrivateZoneMoment(ctx *gin.Context) {
|
|
req := ctx.MustGet("client_req").(*zonemomentproto.OpSetPrivateReq)
|
|
ec := service.DefaultService.OpSetPrivateZoneMoment(ctx, req)
|
|
if ec != errcode.ErrCodeZoneMomentSrvOk {
|
|
logger.Error("OpSetPrivateZoneMoment fail, req: %v, ec: %v", util.ToJson(req), ec)
|
|
ReplyErrCodeMsg(ctx, ec)
|
|
return
|
|
}
|
|
|
|
ReplyOk(ctx, nil)
|
|
}
|