shenjiachi 1 неделю назад
Родитель
Сommit
dd408fdfb7
7 измененных файлов: 335 добавлений и 32 удалений
  1. +29
    -1
      app/hdl/friend_circle/hdl_friend_circle.go
  2. +12
    -0
      app/md/friend_circles/md_friend_circle.go
  3. +1
    -1
      app/router/router.go
  4. +41
    -0
      app/svc/friend_circle/svc_firend_circle.go
  5. +93
    -10
      docs/docs.go
  6. +93
    -10
      docs/swagger.json
  7. +66
    -10
      docs/swagger.yaml

+ 29
- 1
app/hdl/friend_circle/hdl_friend_circle.go Просмотреть файл

@@ -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 朋友圈


+ 12
- 0
app/md/friend_circles/md_friend_circle.go Просмотреть файл

@@ -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"` // 页码


+ 1
- 1
app/router/router.go Просмотреть файл

@@ -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) // 发送朋友圈


+ 41
- 0
app/svc/friend_circle/svc_firend_circle.go Просмотреть файл

@@ -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


+ 93
- 10
docs/docs.go Просмотреть файл

@@ -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"
}
}


+ 93
- 10
docs/swagger.json Просмотреть файл

@@ -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"
}
}


+ 66
- 10
docs/swagger.yaml Просмотреть файл

@@ -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:


Загрузка…
Отмена
Сохранить