|
@@ -5,6 +5,8 @@ import ( |
|
@@ -5,6 +5,8 @@ import ( |
|
5
|
|
5
|
|
|
6
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc"
|
6
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc"
|
|
7
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types"
|
7
|
"gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types"
|
|
|
|
8
|
+ "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain"
|
|
|
|
9
|
+ "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr"
|
|
8
|
|
10
|
|
|
9
|
"github.com/zeromicro/go-zero/core/logx"
|
11
|
"github.com/zeromicro/go-zero/core/logx"
|
|
10
|
)
|
12
|
)
|
|
@@ -23,8 +25,54 @@ func NewMiniUserLikeArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext |
|
@@ -23,8 +25,54 @@ func NewMiniUserLikeArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext |
|
23
|
}
|
25
|
}
|
|
24
|
}
|
26
|
}
|
|
25
|
|
27
|
|
|
|
|
28
|
+// 获取点赞的人员列表
|
|
26
|
func (l *MiniUserLikeArticleLogic) MiniUserLikeArticle(req *types.MiniUserLikeArticleRequest) (resp *types.MiniUserLikeArticleResponse, err error) {
|
29
|
func (l *MiniUserLikeArticleLogic) MiniUserLikeArticle(req *types.MiniUserLikeArticleRequest) (resp *types.MiniUserLikeArticleResponse, err error) {
|
|
27
|
- // todo: add your logic here and delete this line
|
30
|
+ var conn = l.svcCtx.DefaultDBConn()
|
|
|
|
31
|
+ queryOption := domain.NewQueryOptions().
|
|
|
|
32
|
+ WithOffsetLimit(req.Page, req.Size).
|
|
|
|
33
|
+ MustWithKV("articleId", req.ArticleId).
|
|
|
|
34
|
+ MustWithKV("commentId", 0)
|
|
|
|
35
|
+ cnt, flagList, err := l.svcCtx.UserLoveFlagRepository.Find(l.ctx, conn, queryOption)
|
|
|
|
36
|
+ if err != nil {
|
|
|
|
37
|
+ return nil, xerr.NewErrMsgErr("获取人员列表失败", err)
|
|
|
|
38
|
+ }
|
|
|
|
39
|
+ uidList := []int64{}
|
|
|
|
40
|
+ for _, val := range flagList {
|
|
|
|
41
|
+ uidList = append(uidList, val.UserId)
|
|
|
|
42
|
+ }
|
|
|
|
43
|
+ queryOption = domain.NewQueryOptions().
|
|
|
|
44
|
+ WithFindOnly().
|
|
|
|
45
|
+ MustWithKV("ids", uidList)
|
|
28
|
|
46
|
|
|
29
|
- return
|
47
|
+ // 获取人员列表
|
|
|
|
48
|
+ _, userList, err := l.svcCtx.UserRepository.Find(l.ctx, conn, queryOption)
|
|
|
|
49
|
+ if err != nil {
|
|
|
|
50
|
+ return nil, xerr.NewErrMsgErr("获取人员列表失败", err)
|
|
|
|
51
|
+ }
|
|
|
|
52
|
+ userMap := map[int64]*domain.User{}
|
|
|
|
53
|
+ for i := range userList {
|
|
|
|
54
|
+ if userList[i].CompanyId != req.CompanyId {
|
|
|
|
55
|
+ return nil, xerr.NewErrMsg("操作失败")
|
|
|
|
56
|
+ }
|
|
|
|
57
|
+ userMap[userList[i].Id] = userList[i]
|
|
|
|
58
|
+ }
|
|
|
|
59
|
+ resp = &types.MiniUserLikeArticleResponse{
|
|
|
|
60
|
+ Total: cnt,
|
|
|
|
61
|
+ List: make([]types.WhichUserLikeArticle, len(flagList)),
|
|
|
|
62
|
+ }
|
|
|
|
63
|
+ for i, val := range flagList {
|
|
|
|
64
|
+ item := types.WhichUserLikeArticle{
|
|
|
|
65
|
+ ArticleId: val.ArticleId,
|
|
|
|
66
|
+ UserId: val.UserId,
|
|
|
|
67
|
+ Name: "[用户已被清除]",
|
|
|
|
68
|
+ Avatar: "",
|
|
|
|
69
|
+ CreatedAt: val.CreatedAt,
|
|
|
|
70
|
+ }
|
|
|
|
71
|
+ if u, ok := userMap[val.UserId]; ok {
|
|
|
|
72
|
+ item.Name = u.Name
|
|
|
|
73
|
+ item.Avatar = u.Avatar
|
|
|
|
74
|
+ }
|
|
|
|
75
|
+ resp.List[i] = item
|
|
|
|
76
|
+ }
|
|
|
|
77
|
+ return resp, nil
|
|
30
|
} |
78
|
} |