作者 tangxvhui

更新接口

@@ -131,7 +131,8 @@ type ( @@ -131,7 +131,8 @@ type (
131 type ( 131 type (
132 MiniGetArticleCommentRequest { 132 MiniGetArticleCommentRequest {
133 CommentId int64 `path:"commentId"` 133 CommentId int64 `path:"commentId"`
134 - CompanyId int64 `json:",optional"` 134 + CompanyId int64 `path:",optional"`
  135 + UserId int64 `path:",optional"`
135 } 136 }
136 MiniGetArticleCommentResponse { 137 MiniGetArticleCommentResponse {
137 ArticleCommentAndReply 138 ArticleCommentAndReply
@@ -26,6 +26,7 @@ func NewMiniArticleMarkUserReadLogic(ctx context.Context, svcCtx *svc.ServiceCon @@ -26,6 +26,7 @@ func NewMiniArticleMarkUserReadLogic(ctx context.Context, svcCtx *svc.ServiceCon
26 } 26 }
27 } 27 }
28 28
  29 +// 记录人员浏览的文章
29 func (l *MiniArticleMarkUserReadLogic) MiniArticleMarkUserRead(req *types.MiniArticleMarkUserReadRequest) (resp *types.MiniArticleMarkUserReadResponse, err error) { 30 func (l *MiniArticleMarkUserReadLogic) MiniArticleMarkUserRead(req *types.MiniArticleMarkUserReadRequest) (resp *types.MiniArticleMarkUserReadResponse, err error) {
30 var conn = l.svcCtx.DefaultDBConn() 31 var conn = l.svcCtx.DefaultDBConn()
31 32
@@ -28,6 +28,7 @@ func NewMiniCreateArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext) @@ -28,6 +28,7 @@ func NewMiniCreateArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext)
28 } 28 }
29 } 29 }
30 30
  31 +// 创建新文章
31 func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateRequest) (resp *types.MiniArticleCreateResponse, err error) { 32 func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateRequest) (resp *types.MiniArticleCreateResponse, err error) {
32 var conn = l.svcCtx.DefaultDBConn() 33 var conn = l.svcCtx.DefaultDBConn()
33 // 检查发布人 34 // 检查发布人
@@ -26,6 +26,7 @@ func NewMiniGetArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Mi @@ -26,6 +26,7 @@ func NewMiniGetArticleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Mi
26 } 26 }
27 } 27 }
28 28
  29 +// 小程序端展示文章内容
29 func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) (resp *types.MiniArticleGetResponse, err error) { 30 func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) (resp *types.MiniArticleGetResponse, err error) {
30 // 获取文章内容 31 // 获取文章内容
31 var conn = l.svcCtx.DefaultDBConn() 32 var conn = l.svcCtx.DefaultDBConn()
@@ -91,7 +92,6 @@ func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) ( @@ -91,7 +92,6 @@ func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) (
91 Id: articleInfo.Author.Id, 92 Id: articleInfo.Author.Id,
92 Name: articleInfo.Author.Name, 93 Name: articleInfo.Author.Name,
93 Avatar: articleInfo.Author.Avatar, 94 Avatar: articleInfo.Author.Avatar,
94 - // Group: articleInfo.Author.Group,  
95 Position: articleInfo.Author.Position, 95 Position: articleInfo.Author.Position,
96 Company: articleInfo.Author.Company, 96 Company: articleInfo.Author.Company,
97 }, 97 },
@@ -49,7 +49,7 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini @@ -49,7 +49,7 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini
49 return nil, xerr.NewErrMsg("没有评论权限") 49 return nil, xerr.NewErrMsg("没有评论权限")
50 } 50 }
51 //查看评论权限, 51 //查看评论权限,
52 - //临时注释 52 + //TODO 临时注释
53 // if len(articleInfo.WhoReview) > 0 { 53 // if len(articleInfo.WhoReview) > 0 {
54 // ok := lo.IndexOf(articleInfo.WhoReview, req.FromUserId) 54 // ok := lo.IndexOf(articleInfo.WhoReview, req.FromUserId)
55 // if ok < 0 { 55 // if ok < 0 {
@@ -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,24 @@ func NewMiniDeleteArticleCommentLogic(ctx context.Context, svcCtx *svc.ServiceCo @@ -23,8 +25,24 @@ func NewMiniDeleteArticleCommentLogic(ctx context.Context, svcCtx *svc.ServiceCo
23 } 25 }
24 } 26 }
25 27
  28 +// 小程序端人人员删除评论
26 func (l *MiniDeleteArticleCommentLogic) MiniDeleteArticleComment(req *types.MiniDeleteArticleCommentRequest) (resp *types.MiniDeleteArticleCommentResponse, err error) { 29 func (l *MiniDeleteArticleCommentLogic) MiniDeleteArticleComment(req *types.MiniDeleteArticleCommentRequest) (resp *types.MiniDeleteArticleCommentResponse, err error) {
27 - // todo: add your logic here and delete this line 30 + var conn = l.svcCtx.DefaultDBConn()
  31 + commetInfo, err := l.svcCtx.ArticleCommentRepository.FindOne(l.ctx, conn, req.CommentId)
  32 + if err != nil {
  33 + return nil, xerr.NewErrMsgErr("删除评论信息失败", err)
  34 + }
  35 +
  36 + if commetInfo.FromUserId != req.UserId {
  37 + return nil, xerr.NewErrMsg("没有操作权限")
  38 + }
28 39
29 - return 40 + commetInfo.Show = domain.CommentShowDisable
  41 +
  42 + _, err = l.svcCtx.ArticleCommentRepository.Update(l.ctx, conn, commetInfo)
  43 + if err != nil {
  44 + return nil, xerr.NewErrMsgErr("删除评论信息失败", err)
  45 + }
  46 + resp = &types.MiniDeleteArticleCommentResponse{Id: commetInfo.Id}
  47 + return resp, nil
30 } 48 }
@@ -25,6 +25,7 @@ func NewMiniGetArticleCommentLogic(ctx context.Context, svcCtx *svc.ServiceConte @@ -25,6 +25,7 @@ func NewMiniGetArticleCommentLogic(ctx context.Context, svcCtx *svc.ServiceConte
25 } 25 }
26 } 26 }
27 27
  28 +// 获取单条评论详情
28 func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArticleCommentRequest) (resp *types.MiniGetArticleCommentResponse, err error) { 29 func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArticleCommentRequest) (resp *types.MiniGetArticleCommentResponse, err error) {
29 var conn = l.svcCtx.DefaultDBConn() 30 var conn = l.svcCtx.DefaultDBConn()
30 //获取主评论 31 //获取主评论
@@ -42,7 +43,18 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt @@ -42,7 +43,18 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt
42 if err != nil { 43 if err != nil {
43 return nil, xerr.NewErrMsgErr("获取评论信息失败", err) 44 return nil, xerr.NewErrMsgErr("获取评论信息失败", err)
44 } 45 }
  46 + queryOption = domain.NewQueryOptions().WithFindOnly().
  47 + MustWithKV("articleId", commentInfo.ArticleId).
  48 + MustWithKV("userId", req.UserId)
45 //TODO 获取我点赞的评论 49 //TODO 获取我点赞的评论
  50 + _, userFlagList, err := l.svcCtx.UserLoveFlagRepository.Find(l.ctx, conn, queryOption)
  51 + if err != nil {
  52 + return nil, xerr.NewErrMsgErr("获取评论信息失败", err)
  53 + }
  54 + flagMap := map[int64]struct{}{}
  55 + for _, val := range userFlagList {
  56 + flagMap[val.CommentId] = struct{}{}
  57 + }
46 58
47 //混合数据 59 //混合数据
48 commentResp := types.ArticleCommentItem{ 60 commentResp := types.ArticleCommentItem{
@@ -73,6 +85,10 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt @@ -73,6 +85,10 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt
73 CountAdminLove: commentInfo.CountAdminLove, 85 CountAdminLove: commentInfo.CountAdminLove,
74 AtWho: []types.CommentAuthor{}, 86 AtWho: []types.CommentAuthor{},
75 CreatedAt: commentInfo.CreatedAt, 87 CreatedAt: commentInfo.CreatedAt,
  88 + MeLoveFlag: 0,
  89 + }
  90 + if _, ok := flagMap[commentInfo.Id]; ok {
  91 + commentResp.MeLoveFlag = 1
76 } 92 }
77 for _, val := range commentInfo.AtWho { 93 for _, val := range commentInfo.AtWho {
78 commentResp.AtWho = append(commentResp.AtWho, types.CommentAuthor{ 94 commentResp.AtWho = append(commentResp.AtWho, types.CommentAuthor{
@@ -115,6 +131,9 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt @@ -115,6 +131,9 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt
115 CreatedAt: val.CreatedAt, 131 CreatedAt: val.CreatedAt,
116 MeLoveFlag: 0, 132 MeLoveFlag: 0,
117 } 133 }
  134 + if _, ok := flagMap[val.Id]; ok {
  135 + reply.MeLoveFlag = 1
  136 + }
118 for _, val2 := range val.AtWho { 137 for _, val2 := range val.AtWho {
119 reply.AtWho = append(reply.AtWho, types.CommentAuthor{ 138 reply.AtWho = append(reply.AtWho, types.CommentAuthor{
120 Id: val2.Id, 139 Id: val2.Id,
@@ -83,7 +83,8 @@ type ArticleCommentItem struct { @@ -83,7 +83,8 @@ type ArticleCommentItem struct {
83 83
84 type MiniGetArticleCommentRequest struct { 84 type MiniGetArticleCommentRequest struct {
85 CommentId int64 `path:"commentId"` 85 CommentId int64 `path:"commentId"`
86 - CompanyId int64 `json:",optional"` 86 + CompanyId int64 `path:",optional"`
  87 + UserId int64 `path:",optional"`
87 } 88 }
88 89
89 type MiniGetArticleCommentResponse struct { 90 type MiniGetArticleCommentResponse struct {
@@ -9,6 +9,7 @@ import ( @@ -9,6 +9,7 @@ import (
9 "gorm.io/plugin/soft_delete" 9 "gorm.io/plugin/soft_delete"
10 ) 10 )
11 11
  12 +// 文章的所有标签
12 type ArticleTag struct { 13 type ArticleTag struct {
13 Id int64 `gorm:"primaryKey"` // 唯一标识 14 Id int64 `gorm:"primaryKey"` // 唯一标识
14 CompanyId int64 15 CompanyId int64
@@ -40,6 +40,16 @@ const ( @@ -40,6 +40,16 @@ const (
40 CommentShowDisable CommentShow = 1 40 CommentShowDisable CommentShow = 1
41 ) 41 )
42 42
  43 +func (show CommentShow) Named() string {
  44 + switch show {
  45 + case CommentShowEnable:
  46 + return "显示"
  47 + case CommentShowDisable:
  48 + return "隐藏"
  49 + }
  50 + return ""
  51 +}
  52 +
43 type ArticleCommentRepository interface { 53 type ArticleCommentRepository interface {
44 Insert(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) 54 Insert(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error)
45 Update(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error) 55 Update(ctx context.Context, conn transaction.Conn, dm *ArticleComment) (*ArticleComment, error)