@@ -103,14 +103,14 @@ func TestDeleteEggScoreIndex(t *testing.T) { | |||||
// 创建临时蛋蛋分记录 | // 创建临时蛋蛋分记录 | ||||
func TestCreateTempEggScoreIndex(t *testing.T) { | func TestCreateTempEggScoreIndex(t *testing.T) { | ||||
es.Init("http://120.55.48.175:9200", "elastic", "fnuo123") | |||||
index := fmt.Sprintf("%s_%d_1", md.EggEnergyUserEggScoreEsAlias, 202451) | |||||
es.Init("http://123.57.140.192:9200/", "elastic", "fnuo123") | |||||
index := fmt.Sprintf("%s_%d", md.EggEnergyUserEggScoreEsAlias, 202451) | |||||
err := es.CreateIndexIfNotExists(index, md.EggEnergyUserEggScoreEsMapping) | err := es.CreateIndexIfNotExists(index, md.EggEnergyUserEggScoreEsMapping) | ||||
if err != nil { | if err != nil { | ||||
fmt.Println(err) | fmt.Println(err) | ||||
} | } | ||||
for i := 1; i < 650; i++ { | |||||
for i := 1; i < 41; i++ { | |||||
egg_energy.ExistOrDefaultUserEggScore(int64(i)) | egg_energy.ExistOrDefaultUserEggScore(int64(i)) | ||||
} | } | ||||
@@ -125,11 +125,6 @@ func TestCreateEggScoreIndex(t *testing.T) { | |||||
if err != nil { | if err != nil { | ||||
fmt.Println(err) | fmt.Println(err) | ||||
} | } | ||||
index2 := fmt.Sprintf("%s_%d", md.EggEnergyUserEggScoreEsAlias, 202452) | |||||
err = es.CreateIndexIfNotExists(index2, md.EggEnergyUserEggScoreEsMapping) | |||||
if err != nil { | |||||
fmt.Println(err) | |||||
} | |||||
fmt.Println("success") | fmt.Println("success") | ||||
} | } |
@@ -119,6 +119,98 @@ func IsCanPublish(c *gin.Context) { | |||||
e.OutSuc(c, resp, nil) | e.OutSuc(c, resp, nil) | ||||
} | } | ||||
// FriendCircleLikeList | |||||
// @Summary 朋友圈-朋友圈点赞列表 | |||||
// @Tags 朋友圈 | |||||
// @Description 朋友圈点赞列表 | |||||
// @Accept json | |||||
// @Produce json | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||||
// @Param req body friend_circles.FriendCircleLikeListReq true "签名上传url" | |||||
// @Success 200 {object} friend_circles.FriendCircleLikeListResp "返回数据" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /api/v1/circleFriends/likeList [POST] | |||||
func FriendCircleLikeList(c *gin.Context) { | |||||
var req friend_circles.FriendCircleLikeListReq | |||||
if err1 := c.ShouldBindJSON(&req); err1 != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err1.Error()) | |||||
return | |||||
} | |||||
//查找朋友圈记录 | |||||
doc, err := es.FirstDoc(md.EggFriendCircleEsIndex, req.CircleIndexId) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
if !doc.Found { // 表示没找到数据 | |||||
e.OutErr(c, e.ERR_NOT_FAN, "朋友圈文档记录不存在") | |||||
return | |||||
} | |||||
from := (req.Page - 1) * req.PageSize | |||||
// 查找点赞列表 | |||||
query := elastic.NewBoolQuery() | |||||
query.Must(elastic.NewTermQuery("circle_id", req.CircleIndexId)) | |||||
searchResult, err := es.EsClient.Search(). | |||||
Index(md.EggFriendCircleLikeEsAlias). // 替换为你的索引名称 | |||||
Query(query). | |||||
From(from). | |||||
Size(req.PageSize). | |||||
Sort("created_at", false). // 按时间倒排 | |||||
Pretty(true). | |||||
Do(context.Background()) | |||||
if err != nil { | |||||
return | |||||
} | |||||
var docs []*md.EggFriendCircleLikeEs | |||||
var docUserIds []int64 | |||||
var total int64 | |||||
// 检查是否有结果 | |||||
if searchResult.Hits.TotalHits.Value != 0 { | |||||
// 解析结果 | |||||
total = searchResult.Hits.TotalHits.Value | |||||
for _, hit := range searchResult.Hits.Hits { | |||||
var like md.EggFriendCircleLikeEs | |||||
err = json.Unmarshal(hit.Source, &like) | |||||
if err != nil { | |||||
return | |||||
} | |||||
docUserIds = append(docUserIds, like.ImUid) | |||||
docs = append(docs, &like) | |||||
} | |||||
} | |||||
nicknameAndAvatarMap, err := svc2.GetImUserNicknameAndAvatar(docUserIds) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||||
return | |||||
} | |||||
var list []*friend_circles.FriendCircleLikeEsStruct | |||||
for _, like := range docs { | |||||
temp := friend_circles.FriendCircleLikeEsStruct{ | |||||
Uid: like.Uid, | |||||
ImUid: like.ImUid, | |||||
CircleId: like.CircleId, | |||||
} | |||||
val, ok := nicknameAndAvatarMap[like.ImUid] | |||||
if ok { | |||||
temp.ImNickname = val.NickName | |||||
temp.ImAvatar = val.Avatar | |||||
} | |||||
list = append(list, &temp) | |||||
} | |||||
resp := friend_circles.FriendCircleLikeListResp{ | |||||
List: list, | |||||
Page: req.Page, | |||||
PageSize: req.PageSize, | |||||
Total: total, | |||||
} | |||||
e.OutSuc(c, resp, nil) | |||||
} | |||||
// Publish | // Publish | ||||
// @Summary 朋友圈-发布朋友圈 | // @Summary 朋友圈-发布朋友圈 | ||||
// @Tags 朋友圈 | // @Tags 朋友圈 | ||||
@@ -153,6 +245,10 @@ func Publish(c *gin.Context) { | |||||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | e.OutErr(c, e.ERR_DB_ORM, err.Error()) | ||||
return | return | ||||
} | } | ||||
var imageStr string | |||||
if len(req.ImageList) > 0 { | |||||
imageStr = utils.SerializeStr(req.ImageList) | |||||
} | |||||
//插入es记录 | //插入es记录 | ||||
now := time.Now() | now := time.Now() | ||||
@@ -161,7 +257,7 @@ func Publish(c *gin.Context) { | |||||
ImUid: imUser.Id, | ImUid: imUser.Id, | ||||
Kind: 1, | Kind: 1, | ||||
Content: req.Content, | Content: req.Content, | ||||
Image: utils.SerializeStr(req.ImageList), | |||||
Image: imageStr, | |||||
Video: req.Video, | Video: req.Video, | ||||
LikesNums: 0, | LikesNums: 0, | ||||
ShareNums: 0, | ShareNums: 0, | ||||
@@ -12,6 +12,27 @@ type RecommendListResp struct { | |||||
List []*EggFriendCircleEsStruct `json:"list"` | List []*EggFriendCircleEsStruct `json:"list"` | ||||
} | } | ||||
type FriendCircleLikeListReq struct { | |||||
CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | |||||
Page int `json:"page"` // 页码 | |||||
PageSize int `json:"page_size"` // 每页数量 | |||||
} | |||||
type FriendCircleLikeListResp struct { | |||||
List []*FriendCircleLikeEsStruct `json:"list"` | |||||
Page int `json:"page"` // 页码 | |||||
PageSize int `json:"page_size"` // 每页数量 | |||||
Total int64 `json:"total"` // 总量 | |||||
} | |||||
type FriendCircleLikeEsStruct struct { | |||||
Uid int64 `json:"uid" label:"uid"` | |||||
ImUid int64 `json:"im_uid" label:"im_uid"` | |||||
CircleId string `json:"circle_id" label:"朋友圈id"` | |||||
ImNickname string `json:"im_nickname" label:"im 昵称"` | |||||
ImAvatar string `json:"im_avatar" label:"im 头像"` | |||||
} | |||||
type CommentListReq struct { | type CommentListReq struct { | ||||
CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | ||||
Page int `json:"page"` // 页码 | Page int `json:"page"` // 页码 | ||||
@@ -55,8 +76,8 @@ type EggFriendCircleEsStruct struct { | |||||
CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | CircleIndexId string `json:"circle_index_id"` //朋友圈文档记录 | ||||
Uid int64 `json:"uid" label:"uid"` | Uid int64 `json:"uid" label:"uid"` | ||||
ImUid int64 `json:"im_uid" label:"im_uid"` | ImUid int64 `json:"im_uid" label:"im_uid"` | ||||
ImNickname string `json:"im_nickname" label:"im_nickname"` | |||||
ImAvatar string `json:"im_avatar" label:"im_avatar"` | |||||
ImNickname string `json:"im_nickname" label:"im 昵称"` | |||||
ImAvatar string `json:"im_avatar" label:"im 头像"` | |||||
Kind int32 `json:"kind" label:"类型(1:普通 2:官方)"` //类型(1:普通 2:官方) | Kind int32 `json:"kind" label:"类型(1:普通 2:官方)"` //类型(1:普通 2:官方) | ||||
Content string `json:"content" label:"文本内容"` //文本内容 | Content string `json:"content" label:"文本内容"` //文本内容 | ||||
Image string `json:"image" label:"图片"` //图片 | Image string `json:"image" label:"图片"` //图片 | ||||
@@ -217,6 +217,7 @@ func rCircleFriends(r *gin.RouterGroup) { | |||||
r.POST("/commentDetail", friend_circle.CommentDetail) // 评论详情 | r.POST("/commentDetail", friend_circle.CommentDetail) // 评论详情 | ||||
r.POST("/publish", friend_circle.Publish) // 发送朋友圈 | r.POST("/publish", friend_circle.Publish) // 发送朋友圈 | ||||
r.GET("/isCanPublish", friend_circle.IsCanPublish) // 是否可以发朋友圈 | r.GET("/isCanPublish", friend_circle.IsCanPublish) // 是否可以发朋友圈 | ||||
r.POST("/likeList", friend_circle.FriendCircleLikeList) // 点赞列表 | |||||
r.DELETE("/delete", friend_circle.Delete) // 删除朋友圈 | r.DELETE("/delete", friend_circle.Delete) // 删除朋友圈 | ||||
r.POST("/like", friend_circle.Like) // 点赞 | r.POST("/like", friend_circle.Like) // 点赞 | ||||
@@ -983,6 +983,53 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"/api/v1/circleFriends/likeList": { | |||||
"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.FriendCircleLikeListReq" | |||||
} | |||||
} | |||||
], | |||||
"responses": { | |||||
"200": { | |||||
"description": "返回数据", | |||||
"schema": { | |||||
"$ref": "#/definitions/friend_circles.FriendCircleLikeListResp" | |||||
} | |||||
}, | |||||
"400": { | |||||
"description": "具体错误", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.Response" | |||||
} | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"/api/v1/circleFriends/mySelfList": { | "/api/v1/circleFriends/mySelfList": { | ||||
"post": { | "post": { | ||||
"description": "我的朋友圈列表", | "description": "我的朋友圈列表", | ||||
@@ -4429,6 +4476,66 @@ const docTemplate = `{ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"friend_circles.FriendCircleLikeEsStruct": { | |||||
"type": "object", | |||||
"properties": { | |||||
"circle_id": { | |||||
"type": "string" | |||||
}, | |||||
"im_avatar": { | |||||
"type": "string" | |||||
}, | |||||
"im_nickname": { | |||||
"type": "string" | |||||
}, | |||||
"im_uid": { | |||||
"type": "integer" | |||||
}, | |||||
"uid": { | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.FriendCircleLikeListReq": { | |||||
"type": "object", | |||||
"properties": { | |||||
"circle_index_id": { | |||||
"description": "朋友圈文档记录", | |||||
"type": "string" | |||||
}, | |||||
"page": { | |||||
"description": "页码", | |||||
"type": "integer" | |||||
}, | |||||
"page_size": { | |||||
"description": "每页数量", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.FriendCircleLikeListResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"list": { | |||||
"type": "array", | |||||
"items": { | |||||
"$ref": "#/definitions/friend_circles.FriendCircleLikeEsStruct" | |||||
} | |||||
}, | |||||
"page": { | |||||
"description": "页码", | |||||
"type": "integer" | |||||
}, | |||||
"page_size": { | |||||
"description": "每页数量", | |||||
"type": "integer" | |||||
}, | |||||
"total": { | |||||
"description": "总量", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.MySelfListReq": { | "friend_circles.MySelfListReq": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -977,6 +977,53 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"/api/v1/circleFriends/likeList": { | |||||
"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.FriendCircleLikeListReq" | |||||
} | |||||
} | |||||
], | |||||
"responses": { | |||||
"200": { | |||||
"description": "返回数据", | |||||
"schema": { | |||||
"$ref": "#/definitions/friend_circles.FriendCircleLikeListResp" | |||||
} | |||||
}, | |||||
"400": { | |||||
"description": "具体错误", | |||||
"schema": { | |||||
"$ref": "#/definitions/md.Response" | |||||
} | |||||
} | |||||
} | |||||
} | |||||
}, | |||||
"/api/v1/circleFriends/mySelfList": { | "/api/v1/circleFriends/mySelfList": { | ||||
"post": { | "post": { | ||||
"description": "我的朋友圈列表", | "description": "我的朋友圈列表", | ||||
@@ -4423,6 +4470,66 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"friend_circles.FriendCircleLikeEsStruct": { | |||||
"type": "object", | |||||
"properties": { | |||||
"circle_id": { | |||||
"type": "string" | |||||
}, | |||||
"im_avatar": { | |||||
"type": "string" | |||||
}, | |||||
"im_nickname": { | |||||
"type": "string" | |||||
}, | |||||
"im_uid": { | |||||
"type": "integer" | |||||
}, | |||||
"uid": { | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.FriendCircleLikeListReq": { | |||||
"type": "object", | |||||
"properties": { | |||||
"circle_index_id": { | |||||
"description": "朋友圈文档记录", | |||||
"type": "string" | |||||
}, | |||||
"page": { | |||||
"description": "页码", | |||||
"type": "integer" | |||||
}, | |||||
"page_size": { | |||||
"description": "每页数量", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.FriendCircleLikeListResp": { | |||||
"type": "object", | |||||
"properties": { | |||||
"list": { | |||||
"type": "array", | |||||
"items": { | |||||
"$ref": "#/definitions/friend_circles.FriendCircleLikeEsStruct" | |||||
} | |||||
}, | |||||
"page": { | |||||
"description": "页码", | |||||
"type": "integer" | |||||
}, | |||||
"page_size": { | |||||
"description": "每页数量", | |||||
"type": "integer" | |||||
}, | |||||
"total": { | |||||
"description": "总量", | |||||
"type": "integer" | |||||
} | |||||
} | |||||
}, | |||||
"friend_circles.MySelfListReq": { | "friend_circles.MySelfListReq": { | ||||
"type": "object", | "type": "object", | ||||
"properties": { | "properties": { | ||||
@@ -112,6 +112,47 @@ definitions: | |||||
description: 文章索引 | description: 文章索引 | ||||
type: string | type: string | ||||
type: object | type: object | ||||
friend_circles.FriendCircleLikeEsStruct: | |||||
properties: | |||||
circle_id: | |||||
type: string | |||||
im_avatar: | |||||
type: string | |||||
im_nickname: | |||||
type: string | |||||
im_uid: | |||||
type: integer | |||||
uid: | |||||
type: integer | |||||
type: object | |||||
friend_circles.FriendCircleLikeListReq: | |||||
properties: | |||||
circle_index_id: | |||||
description: 朋友圈文档记录 | |||||
type: string | |||||
page: | |||||
description: 页码 | |||||
type: integer | |||||
page_size: | |||||
description: 每页数量 | |||||
type: integer | |||||
type: object | |||||
friend_circles.FriendCircleLikeListResp: | |||||
properties: | |||||
list: | |||||
items: | |||||
$ref: '#/definitions/friend_circles.FriendCircleLikeEsStruct' | |||||
type: array | |||||
page: | |||||
description: 页码 | |||||
type: integer | |||||
page_size: | |||||
description: 每页数量 | |||||
type: integer | |||||
total: | |||||
description: 总量 | |||||
type: integer | |||||
type: object | |||||
friend_circles.MySelfListReq: | friend_circles.MySelfListReq: | ||||
properties: | properties: | ||||
page: | page: | ||||
@@ -2424,6 +2465,37 @@ paths: | |||||
summary: 朋友圈-点赞朋友圈 | summary: 朋友圈-点赞朋友圈 | ||||
tags: | tags: | ||||
- 朋友圈 | - 朋友圈 | ||||
/api/v1/circleFriends/likeList: | |||||
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.FriendCircleLikeListReq' | |||||
produces: | |||||
- application/json | |||||
responses: | |||||
"200": | |||||
description: 返回数据 | |||||
schema: | |||||
$ref: '#/definitions/friend_circles.FriendCircleLikeListResp' | |||||
"400": | |||||
description: 具体错误 | |||||
schema: | |||||
$ref: '#/definitions/md.Response' | |||||
summary: 朋友圈-朋友圈点赞列表 | |||||
tags: | |||||
- 朋友圈 | |||||
/api/v1/circleFriends/mySelfList: | /api/v1/circleFriends/mySelfList: | ||||
post: | post: | ||||
consumes: | consumes: | ||||
@@ -34,7 +34,7 @@ require ( | |||||
require ( | require ( | ||||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241219070554-7d4bf7b5cbb2 | code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241219070554-7d4bf7b5cbb2 | ||||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241218155438-73db9904c556 | |||||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241220073933-42987f91e880 | |||||
code.fnuoos.com/go_rely_warehouse/zyos_go_es.git v1.0.1-0.20241118083738-0f22da9ba0be | code.fnuoos.com/go_rely_warehouse/zyos_go_es.git v1.0.1-0.20241118083738-0f22da9ba0be | ||||
code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | ||||
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | ||||