@@ -0,0 +1,129 @@
|
||||
package imagetopser
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/imagetopmod"
|
||||
"91porn-server/models/v/vidmod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/mongo/options"
|
||||
)
|
||||
|
||||
func FindImageTopList(req imagetopmod.ImageTopListReq) (code stderr.Code, data interface{}) {
|
||||
resp := imagetopmod.ImageTopListRes{
|
||||
Total: 0,
|
||||
List: make([]imagetopmod.ImageTopResp, 0),
|
||||
}
|
||||
//查询帖子列表
|
||||
skip := (req.PageNumber - 1) * req.PageSize
|
||||
var filter = bson.M{}
|
||||
switch req.TopType {
|
||||
case 1: //推荐
|
||||
filter = bson.M{"recommendSort": bson.M{"$gt": 0}}
|
||||
case 2: //最新
|
||||
filter = bson.M{"newSort": bson.M{"$gt": 0}}
|
||||
}
|
||||
sort := bson.D{{Key: "updatedAt", Value: -1}}
|
||||
opts := options.Find().SetSort(sort).SetSkip(int64(skip)).SetLimit(int64(req.PageSize))
|
||||
imageTopList, err := imagetopmod.GetImageTopList(filter, opts)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("获取视频列表 发生错误:%v", err), log.Any("params", req))
|
||||
return stderr.ErrDbQueryError, nil
|
||||
}
|
||||
//获取置顶视频数量
|
||||
total, _ := imagetopmod.GetImageTopCount(filter)
|
||||
resp.Total = total
|
||||
//根据视频ID获取置顶视频信息
|
||||
resp.List = make([]imagetopmod.ImageTopResp, len(imageTopList))
|
||||
for i, v := range imageTopList {
|
||||
vidInfo, _ := vidmod.GetVideoByID(v.ImageId)
|
||||
resp.List[i] = imagetopmod.ImageTopResp{
|
||||
ID: vidInfo.ID,
|
||||
NewsType: vidInfo.NewsType,
|
||||
PubliserID: vidInfo.PublisherID,
|
||||
Title: vidInfo.Title,
|
||||
SourceID: vidInfo.SourceID,
|
||||
SourceURL: vidInfo.SourceURL,
|
||||
FileName: vidInfo.Filename,
|
||||
PlayTime: vidInfo.PlayTime,
|
||||
Status: vidInfo.Status,
|
||||
Cover: vidInfo.Cover,
|
||||
CoverThumb: vidInfo.CoverThumb,
|
||||
SeriesCover: vidInfo.SeriesCover,
|
||||
PlayCount: vidInfo.PlayCount,
|
||||
LikeCount: vidInfo.LikeCount,
|
||||
CommentCount: vidInfo.CommentCount,
|
||||
ShareCount: vidInfo.ShareCount,
|
||||
FakeLikeCount: vidInfo.FakeLikeCount,
|
||||
FakeCommentCount: vidInfo.FakeCommentCount,
|
||||
FakeShareCount: vidInfo.FakeShareCount,
|
||||
FakePlayCount: vidInfo.FakePlayCount,
|
||||
Coins: vidInfo.Coins,
|
||||
Resolution: vidInfo.Resolution,
|
||||
FreeTime: vidInfo.FreeTime,
|
||||
Chosen: vidInfo.Chosen,
|
||||
FreeArea: vidInfo.FreeArea,
|
||||
Size: vidInfo.Size,
|
||||
CreatedAt: vidInfo.CreatedAt,
|
||||
UpdatedAt: vidInfo.UpdatedAt,
|
||||
Reason: vidInfo.Reason,
|
||||
IsTopping: vidInfo.IsTopping,
|
||||
IsRecommend: vidInfo.IsRecommend,
|
||||
IsChoosen: vidInfo.IsChoosen,
|
||||
RecoWeight: vidInfo.RecoWeight,
|
||||
ReviewAccount: vidInfo.ReviewAccount,
|
||||
LinkUrl: vidInfo.LinkUrl,
|
||||
SortCode: vidInfo.SortCode,
|
||||
Rewarded: vidInfo.Rewarded,
|
||||
FakeRewarded: vidInfo.FakeRewarded,
|
||||
LiaoBaTop: vidInfo.LiaoBaTop,
|
||||
LiaoBaTopSort: vidInfo.LiaoBaTopSort,
|
||||
WorksSort: vidInfo.WorksSort,
|
||||
PageViewCount: vidInfo.PageViewCount,
|
||||
ActivityID: vidInfo.ActivityID,
|
||||
NewSort: v.NewSort,
|
||||
NewEndTime: *v.NewEndTime,
|
||||
RecommendSort: v.RecommendSort,
|
||||
RecommendEndTime: *v.RecommendEndTime,
|
||||
}
|
||||
}
|
||||
code = stderr.Success
|
||||
data = resp
|
||||
return
|
||||
}
|
||||
|
||||
func UpdateImageTop(req imagetopmod.EditReq) (code stderr.Code, data interface{}) {
|
||||
doc := imagetopmod.ImageTopModel{
|
||||
ImageId: req.ID,
|
||||
NewSort: req.NewSort,
|
||||
RecommendSort: req.RecommendSort,
|
||||
NewEndTime: &req.NewEndTime,
|
||||
RecommendEndTime: &req.RecommendEndTime,
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
update, _ := common.ToBsonM(doc)
|
||||
if _, err := imagetopmod.UpdateImageTop(req.ID, update); err != nil {
|
||||
log.Error(fmt.Sprintf("更新置顶帖子 发生错误:%v", err), log.Any("params", req))
|
||||
return stderr.ErrDbUpdateError, nil
|
||||
}
|
||||
return stderr.Success, nil
|
||||
}
|
||||
|
||||
func DeleteImageTop(req imagetopmod.DeleteReq) (code stderr.Code, data interface{}) {
|
||||
if err := imagetopmod.DeleteOne(req.Id); err != nil {
|
||||
log.Error(fmt.Sprintf("删除置顶贴子 发生错误:%v", err), log.Any("params", req))
|
||||
return stderr.ErrDbDeleteError, nil
|
||||
}
|
||||
set := bson.M{"happinessPlazaTop": 0}
|
||||
//兼容老版本,将幸福广场参数置为0
|
||||
if _, err := vidmod.UpdateOneByID(req.Id, set); err != nil {
|
||||
log.Error(fmt.Sprintf("更新视频信息 发生错误:%v", err), log.Any("params", req))
|
||||
return stderr.ErrDbUpdateError, nil
|
||||
}
|
||||
return stderr.Success, nil
|
||||
}
|
||||
Reference in New Issue
Block a user