@@ -76,7 +76,7 @@ func IsCanPublish(c *gin.Context) { | |||
// @Param req body friend_circles.PublishReq true "请求参数" | |||
// @Success 200 {string} "success" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/circleFriends/public [POST] | |||
// @Router /api/v1/circleFriends/publish [POST] | |||
func Publish(c *gin.Context) { | |||
var req friend_circles.PublishReq | |||
if err1 := c.ShouldBindJSON(&req); err1 != nil { | |||
@@ -132,6 +132,34 @@ func Publish(c *gin.Context) { | |||
e.OutSuc(c, "success", nil) | |||
} | |||
// RecommendList | |||
// @Summary 朋友圈-推荐列表 | |||
// @Tags 朋友圈 | |||
// @Description 我的朋友圈列表 | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Param req body friend_circles.RecommendListReq true "签名上传url" | |||
// @Success 200 {object} friend_circles.RecommendListResp "返回数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/circleFriends/recommendList [POST] | |||
func RecommendList(c *gin.Context) { | |||
var req friend_circles.RecommendListReq | |||
err := c.ShouldBindJSON(&req) | |||
if err != nil { | |||
err = svc.HandleValidateErr(err) | |||
err1 := err.(e.E) | |||
e.OutErr(c, err1.Code, err1.Error()) | |||
return | |||
} | |||
resp, err := svc2.GetRecommendList(c, req) | |||
if err != nil { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// CommentList | |||
// @Summary 朋友圈-评论列表 | |||
// @Tags 朋友圈 | |||
@@ -1,5 +1,17 @@ | |||
package friend_circles | |||
type RecommendListReq struct { | |||
Page int `json:"page"` // 页码 | |||
PageSize int `json:"page_size"` // 每页数量 | |||
} | |||
type RecommendListResp struct { | |||
Page int `json:"page"` // 页码 | |||
PageSize int `json:"page_size"` // 每页数量 | |||
Total int64 `json:"total"` // 总量 | |||
List []EggFriendCircleEsStruct `json:"list"` | |||
} | |||
type CommentListReq struct { | |||
CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | |||
Page int `json:"page"` // 页码 | |||
@@ -199,7 +199,7 @@ func route(r *gin.RouterGroup) { | |||
func rCircleFriends(r *gin.RouterGroup) { | |||
r.POST("/mySelfList", friend_circle.MySelfList) // 我的朋友圈列表 | |||
r.POST("/recommendList", friend_circle.Publish) // 推荐列表 | |||
r.GET("/recommendList", friend_circle.RecommendList) // 推荐列表 | |||
r.POST("/commentList", friend_circle.CommentList) // 评论列表 | |||
r.POST("/commentDetail", friend_circle.CommentDetail) // 评论详情 | |||
r.POST("/publish", friend_circle.Publish) // 发送朋友圈 | |||
@@ -121,6 +121,47 @@ func MySelfList(c *gin.Context, req friend_circles.MySelfListReq) (resp friend_c | |||
return | |||
} | |||
func GetRecommendList(c *gin.Context, req friend_circles.RecommendListReq) (resp friend_circles.RecommendListResp, err error) { | |||
// 分页参数 | |||
from := (req.Page - 1) * req.PageSize | |||
// 构建查询 | |||
query := elastic.NewBoolQuery() | |||
query.Must(elastic.NewTermQuery("state", "1")) | |||
query.Should(elastic.NewTermQuery("is_top_up", "1")) | |||
searchResult, err := es.EsClient.Search(). | |||
Index(md.EggFriendCircleEsIndex). // 替换为你的索引名称 | |||
Query(query). | |||
Sort("create_at", false). // 按时间倒排 | |||
From(from). | |||
Size(req.PageSize). | |||
Pretty(true). | |||
Do(context.Background()) | |||
if err != nil { | |||
logx.Fatalf("Error searching for documents: %v", err) | |||
return | |||
} | |||
// 检查是否有结果 | |||
if searchResult.Hits.TotalHits.Value == 0 { | |||
return | |||
} | |||
// 解析结果 | |||
for _, hit := range searchResult.Hits.Hits { | |||
var doc friend_circles.EggFriendCircleEsStruct | |||
err = json.Unmarshal(hit.Source, &doc) | |||
if err != nil { | |||
return | |||
} | |||
doc.CircleIndexId = hit.Id | |||
resp.List = append(resp.List, doc) | |||
} | |||
resp.Total = searchResult.TotalHits() | |||
return | |||
} | |||
func CommentList(req friend_circles.CommentListReq) (resp friend_circles.CommentListResp, err error) { | |||
// 分页参数 | |||
from := (req.Page - 1) * req.PageSize | |||
@@ -985,7 +985,7 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/public": { | |||
"/api/v1/circleFriends/publish": { | |||
"post": { | |||
"description": "发布朋友圈", | |||
"consumes": [ | |||
@@ -1032,6 +1032,53 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/recommendList": { | |||
"post": { | |||
"description": "我的朋友圈列表", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"朋友圈" | |||
], | |||
"summary": "朋友圈-推荐列表", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"description": "签名上传url", | |||
"name": "req", | |||
"in": "body", | |||
"required": true, | |||
"schema": { | |||
"$ref": "#/definitions/friend_circles.RecommendListReq" | |||
} | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "返回数据", | |||
"schema": { | |||
"$ref": "#/definitions/friend_circles.RecommendListResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/share": { | |||
"post": { | |||
"description": "分享后朋友圈分享数(增加)", | |||
@@ -2406,7 +2453,7 @@ const docTemplate = `{ | |||
}, | |||
"/api/v1/playlet/base": { | |||
"get": { | |||
"description": "短视频-基本信息", | |||
"description": "短剧-基本信息", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -2416,7 +2463,7 @@ const docTemplate = `{ | |||
"tags": [ | |||
"短视频" | |||
], | |||
"summary": "短视频-基本信息", | |||
"summary": "短剧-基本信息", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -2444,7 +2491,7 @@ const docTemplate = `{ | |||
}, | |||
"/api/v1/playlet/reward": { | |||
"post": { | |||
"description": "实名认证-保存", | |||
"description": "短剧-保存", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -2452,9 +2499,9 @@ const docTemplate = `{ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"实名认证" | |||
"短视频" | |||
], | |||
"summary": "实名认证-保存", | |||
"summary": "短剧-保存", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -3405,7 +3452,7 @@ const docTemplate = `{ | |||
}, | |||
"/api/v1/video/reward": { | |||
"post": { | |||
"description": "实名认证-保存", | |||
"description": "短视频-领取", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -3413,9 +3460,9 @@ const docTemplate = `{ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"实名认证" | |||
"短视频" | |||
], | |||
"summary": "实名认证-保存", | |||
"summary": "短视频-领取", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -4023,6 +4070,42 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"friend_circles.RecommendListReq": { | |||
"type": "object", | |||
"properties": { | |||
"page": { | |||
"description": "页码", | |||
"type": "integer" | |||
}, | |||
"page_size": { | |||
"description": "每页数量", | |||
"type": "integer" | |||
} | |||
} | |||
}, | |||
"friend_circles.RecommendListResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/friend_circles.EggFriendCircleEsStruct" | |||
} | |||
}, | |||
"page": { | |||
"description": "页码", | |||
"type": "integer" | |||
}, | |||
"page_size": { | |||
"description": "每页数量", | |||
"type": "integer" | |||
}, | |||
"total": { | |||
"description": "总量", | |||
"type": "integer" | |||
} | |||
} | |||
}, | |||
"md.AdvertisingBasic": { | |||
"type": "object", | |||
"properties": { | |||
@@ -5161,7 +5244,7 @@ const docTemplate = `{ | |||
"type": "string" | |||
}, | |||
"ratio": { | |||
"description": "兑换比例(x:y)", | |||
"description": "能量值兑换比例(x:y)", | |||
"type": "string" | |||
} | |||
} | |||
@@ -979,7 +979,7 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/public": { | |||
"/api/v1/circleFriends/publish": { | |||
"post": { | |||
"description": "发布朋友圈", | |||
"consumes": [ | |||
@@ -1026,6 +1026,53 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/recommendList": { | |||
"post": { | |||
"description": "我的朋友圈列表", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"朋友圈" | |||
], | |||
"summary": "朋友圈-推荐列表", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"description": "签名上传url", | |||
"name": "req", | |||
"in": "body", | |||
"required": true, | |||
"schema": { | |||
"$ref": "#/definitions/friend_circles.RecommendListReq" | |||
} | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "返回数据", | |||
"schema": { | |||
"$ref": "#/definitions/friend_circles.RecommendListResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/circleFriends/share": { | |||
"post": { | |||
"description": "分享后朋友圈分享数(增加)", | |||
@@ -2400,7 +2447,7 @@ | |||
}, | |||
"/api/v1/playlet/base": { | |||
"get": { | |||
"description": "短视频-基本信息", | |||
"description": "短剧-基本信息", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -2410,7 +2457,7 @@ | |||
"tags": [ | |||
"短视频" | |||
], | |||
"summary": "短视频-基本信息", | |||
"summary": "短剧-基本信息", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -2438,7 +2485,7 @@ | |||
}, | |||
"/api/v1/playlet/reward": { | |||
"post": { | |||
"description": "实名认证-保存", | |||
"description": "短剧-保存", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -2446,9 +2493,9 @@ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"实名认证" | |||
"短视频" | |||
], | |||
"summary": "实名认证-保存", | |||
"summary": "短剧-保存", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -3399,7 +3446,7 @@ | |||
}, | |||
"/api/v1/video/reward": { | |||
"post": { | |||
"description": "实名认证-保存", | |||
"description": "短视频-领取", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -3407,9 +3454,9 @@ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"实名认证" | |||
"短视频" | |||
], | |||
"summary": "实名认证-保存", | |||
"summary": "短视频-领取", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -4017,6 +4064,42 @@ | |||
} | |||
} | |||
}, | |||
"friend_circles.RecommendListReq": { | |||
"type": "object", | |||
"properties": { | |||
"page": { | |||
"description": "页码", | |||
"type": "integer" | |||
}, | |||
"page_size": { | |||
"description": "每页数量", | |||
"type": "integer" | |||
} | |||
} | |||
}, | |||
"friend_circles.RecommendListResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/friend_circles.EggFriendCircleEsStruct" | |||
} | |||
}, | |||
"page": { | |||
"description": "页码", | |||
"type": "integer" | |||
}, | |||
"page_size": { | |||
"description": "每页数量", | |||
"type": "integer" | |||
}, | |||
"total": { | |||
"description": "总量", | |||
"type": "integer" | |||
} | |||
} | |||
}, | |||
"md.AdvertisingBasic": { | |||
"type": "object", | |||
"properties": { | |||
@@ -5155,7 +5238,7 @@ | |||
"type": "string" | |||
}, | |||
"ratio": { | |||
"description": "兑换比例(x:y)", | |||
"description": "能量值兑换比例(x:y)", | |||
"type": "string" | |||
} | |||
} | |||
@@ -147,6 +147,31 @@ definitions: | |||
description: 视屏 | |||
type: string | |||
type: object | |||
friend_circles.RecommendListReq: | |||
properties: | |||
page: | |||
description: 页码 | |||
type: integer | |||
page_size: | |||
description: 每页数量 | |||
type: integer | |||
type: object | |||
friend_circles.RecommendListResp: | |||
properties: | |||
list: | |||
items: | |||
$ref: '#/definitions/friend_circles.EggFriendCircleEsStruct' | |||
type: array | |||
page: | |||
description: 页码 | |||
type: integer | |||
page_size: | |||
description: 每页数量 | |||
type: integer | |||
total: | |||
description: 总量 | |||
type: integer | |||
type: object | |||
md.AdvertisingBasic: | |||
properties: | |||
android_ad_is_open: | |||
@@ -938,7 +963,7 @@ definitions: | |||
phone: | |||
type: string | |||
ratio: | |||
description: 兑换比例(x:y) | |||
description: 能量值兑换比例(x:y) | |||
type: string | |||
type: object | |||
md.MyFansResp: | |||
@@ -2264,7 +2289,7 @@ paths: | |||
summary: 朋友圈-我的朋友圈列表 | |||
tags: | |||
- 朋友圈 | |||
/api/v1/circleFriends/public: | |||
/api/v1/circleFriends/publish: | |||
post: | |||
consumes: | |||
- application/json | |||
@@ -2295,6 +2320,37 @@ paths: | |||
summary: 朋友圈-发布朋友圈 | |||
tags: | |||
- 朋友圈 | |||
/api/v1/circleFriends/recommendList: | |||
post: | |||
consumes: | |||
- application/json | |||
description: 我的朋友圈列表 | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
- description: 签名上传url | |||
in: body | |||
name: req | |||
required: true | |||
schema: | |||
$ref: '#/definitions/friend_circles.RecommendListReq' | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 返回数据 | |||
schema: | |||
$ref: '#/definitions/friend_circles.RecommendListResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 朋友圈-推荐列表 | |||
tags: | |||
- 朋友圈 | |||
/api/v1/circleFriends/share: | |||
post: | |||
consumes: | |||
@@ -3202,7 +3258,7 @@ paths: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 短视频-基本信息 | |||
description: 短剧-基本信息 | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
@@ -3220,14 +3276,14 @@ paths: | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 短视频-基本信息 | |||
summary: 短剧-基本信息 | |||
tags: | |||
- 短视频 | |||
/api/v1/playlet/reward: | |||
post: | |||
consumes: | |||
- application/json | |||
description: 实名认证-保存 | |||
description: 短剧-保存 | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
@@ -3251,9 +3307,9 @@ paths: | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 实名认证-保存 | |||
summary: 短剧-保存 | |||
tags: | |||
- 实名认证 | |||
- 短视频 | |||
/api/v1/pointsCenter/basic: | |||
get: | |||
consumes: | |||
@@ -3862,7 +3918,7 @@ paths: | |||
post: | |||
consumes: | |||
- application/json | |||
description: 实名认证-保存 | |||
description: 短视频-领取 | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
@@ -3886,9 +3942,9 @@ paths: | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 实名认证-保存 | |||
summary: 短视频-领取 | |||
tags: | |||
- 实名认证 | |||
- 短视频 | |||
/api/v1/wallet/amountFlow: | |||
get: | |||
consumes: | |||