正在显示
5 个修改的文件
包含
38 行增加
和
8 行删除
@@ -146,9 +146,9 @@ type ( | @@ -146,9 +146,9 @@ type ( | ||
146 | // 小程序删除单个文章的评论 | 146 | // 小程序删除单个文章的评论 |
147 | type ( | 147 | type ( |
148 | MiniDeleteArticleCommentRequest { | 148 | MiniDeleteArticleCommentRequest { |
149 | - CommentId int64 `json:"commentId"` | ||
150 | - UserId int64 `json:",optional"` | ||
151 | - CompanyId int64 `json:",optional"` | 149 | + CommentId int64 `path:"id"` |
150 | + UserId int64 `path:",optional"` | ||
151 | + CompanyId int64 `path:",optional"` | ||
152 | } | 152 | } |
153 | MiniDeleteArticleCommentResponse { | 153 | MiniDeleteArticleCommentResponse { |
154 | Id int64 `json:"id"` | 154 | Id int64 `json:"id"` |
@@ -5,6 +5,7 @@ import ( | @@ -5,6 +5,7 @@ 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/db/transaction" | ||
8 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" | 9 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/domain" |
9 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" | 10 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr" |
10 | 11 | ||
@@ -39,7 +40,29 @@ func (l *MiniDeleteArticleCommentLogic) MiniDeleteArticleComment(req *types.Mini | @@ -39,7 +40,29 @@ func (l *MiniDeleteArticleCommentLogic) MiniDeleteArticleComment(req *types.Mini | ||
39 | 40 | ||
40 | commetInfo.Show = domain.CommentShowDisable | 41 | commetInfo.Show = domain.CommentShowDisable |
41 | 42 | ||
42 | - _, err = l.svcCtx.ArticleCommentRepository.Update(l.ctx, conn, commetInfo) | 43 | + // 变更回复数量 |
44 | + err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { | ||
45 | + _, err = l.svcCtx.ArticleCommentRepository.Update(ctx, c, commetInfo) | ||
46 | + if err != nil { | ||
47 | + return err | ||
48 | + } | ||
49 | + // 减少上级评论的回复数量 | ||
50 | + if commetInfo.Pid != 0 { | ||
51 | + err = l.svcCtx.ArticleCommentRepository.IncreaseCountReply(l.ctx, c, -1, commetInfo.Pid) | ||
52 | + if err != nil { | ||
53 | + return err | ||
54 | + } | ||
55 | + } | ||
56 | + // 减少最顶层的评论回复计数 | ||
57 | + if commetInfo.TopId != 0 && commetInfo.Pid != commetInfo.TopId { | ||
58 | + err = l.svcCtx.ArticleCommentRepository.IncreaseCountReply(l.ctx, c, -1, commetInfo.TopId) | ||
59 | + if err != nil { | ||
60 | + return err | ||
61 | + } | ||
62 | + } | ||
63 | + return nil | ||
64 | + }, true) | ||
65 | + | ||
43 | if err != nil { | 66 | if err != nil { |
44 | return nil, xerr.NewErrMsgErr("删除评论信息失败", err) | 67 | return nil, xerr.NewErrMsgErr("删除评论信息失败", err) |
45 | } | 68 | } |
@@ -36,7 +36,11 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | @@ -36,7 +36,11 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | ||
36 | if commentInfo.CompanyId != req.CompanyId { | 36 | if commentInfo.CompanyId != req.CompanyId { |
37 | return nil, xerr.NewErrMsg("没有查看权限") | 37 | return nil, xerr.NewErrMsg("没有查看权限") |
38 | } | 38 | } |
39 | - queryOption := domain.NewQueryOptions().MustWithKV("topId", commentInfo.Id).WithFindOnly() | 39 | + |
40 | + if commentInfo.Show == domain.CommentShowDisable { | ||
41 | + return nil, xerr.NewErrMsg("没有查看权限") | ||
42 | + } | ||
43 | + queryOption := domain.NewQueryOptions().WithFindOnly().MustWithKV("topId", commentInfo.Id).MustWithKV("show", domain.CommentShowEnable) | ||
40 | //获取回复的评论 | 44 | //获取回复的评论 |
41 | _, replyCommenList, err := l.svcCtx.ArticleCommentRepository.Find(l.ctx, conn, queryOption) | 45 | _, replyCommenList, err := l.svcCtx.ArticleCommentRepository.Find(l.ctx, conn, queryOption) |
42 | 46 |
@@ -97,9 +97,9 @@ type MiniGetArticleCommentResponse struct { | @@ -97,9 +97,9 @@ type MiniGetArticleCommentResponse struct { | ||
97 | } | 97 | } |
98 | 98 | ||
99 | type MiniDeleteArticleCommentRequest struct { | 99 | type MiniDeleteArticleCommentRequest struct { |
100 | - CommentId int64 `json:"commentId"` | ||
101 | - UserId int64 `json:",optional"` | ||
102 | - CompanyId int64 `json:",optional"` | 100 | + CommentId int64 `path:"id"` |
101 | + UserId int64 `path:",optional"` | ||
102 | + CompanyId int64 `path:",optional"` | ||
103 | } | 103 | } |
104 | 104 | ||
105 | type MiniDeleteArticleCommentResponse struct { | 105 | type MiniDeleteArticleCommentResponse struct { |
@@ -127,6 +127,9 @@ func (repository *ArticleCommentRepository) Find(ctx context.Context, conn trans | @@ -127,6 +127,9 @@ func (repository *ArticleCommentRepository) Find(ctx context.Context, conn trans | ||
127 | if v, ok := queryOptions["topId"]; ok { | 127 | if v, ok := queryOptions["topId"]; ok { |
128 | tx = tx.Where("top_id", v) | 128 | tx = tx.Where("top_id", v) |
129 | } | 129 | } |
130 | + if v, ok := queryOptions["show"]; ok { | ||
131 | + tx = tx.Where("show", v) | ||
132 | + } | ||
130 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { | 133 | if total, tx = transaction.PaginationAndCount(ctx, tx, queryOptions, &ms); tx.Error != nil { |
131 | return dms, tx.Error | 134 | return dms, tx.Error |
132 | } | 135 | } |
-
请 注册 或 登录 后发表评论