作者 tangxvhui

调整 文章、评论相关 权限检查

@@ -42,25 +42,8 @@ func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) ( @@ -42,25 +42,8 @@ func (l *MiniGetArticleLogic) MiniGetArticle(req *types.MiniArticleGetRequest) (
42 return nil, xerr.NewErrMsg("没有查看权限") 42 return nil, xerr.NewErrMsg("没有查看权限")
43 } 43 }
44 // 检查文章的可查看人 44 // 检查文章的可查看人
45 - if articleInfo.AuthorId != int64(req.UserId) {  
46 - if len(articleInfo.WhoRead) > 0 {  
47 - inWhoRead := false  
48 - for _, val := range articleInfo.WhoRead {  
49 - if req.UserId == int(val) {  
50 - inWhoRead = true  
51 - }  
52 - }  
53 - if !inWhoRead {  
54 - // 文章内容不显示  
55 - // resp = &types.MiniArticleGetResponse{  
56 - // Id: articleInfo.Id,  
57 - // Title: articleInfo.Title,  
58 - // Show: int(domain.ArticleShowDisable),  
59 - // }  
60 - // return resp, nil  
61 - return nil, xerr.NewErrMsg("没有查看权限")  
62 - }  
63 - } 45 + if ok := articleInfo.WhoCanRead(int64(req.UserId)); !ok {
  46 + return nil, xerr.NewErrMsg("没有查看权限")
64 } 47 }
65 if articleInfo.Show == domain.ArticleShowDisable { 48 if articleInfo.Show == domain.ArticleShowDisable {
66 // 文章内容不显示 49 // 文章内容不显示
@@ -52,11 +52,8 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini @@ -52,11 +52,8 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini
52 return nil, xerr.NewErrMsg("没有评论权限") 52 return nil, xerr.NewErrMsg("没有评论权限")
53 } 53 }
54 //查看评论权限, 54 //查看评论权限,
55 - if len(articleInfo.WhoReview) > 0 {  
56 - ok := lo.IndexOf(articleInfo.WhoReview, req.FromUserId)  
57 - if ok < 0 {  
58 - return nil, xerr.NewErrMsg("没有评论权限")  
59 - } 55 + if ok := articleInfo.WhoCanReview(req.FromUserId); ok {
  56 + return nil, xerr.NewErrMsg("没有评论权限")
60 } 57 }
61 // 对段落进行评论 58 // 对段落进行评论
62 var selctionInfo *domain.ArticleSection 59 var selctionInfo *domain.ArticleSection
@@ -123,6 +123,9 @@ func (m *Article) SetSummary(sectionList []*ArticleSection) { @@ -123,6 +123,9 @@ func (m *Article) SetSummary(sectionList []*ArticleSection) {
123 } 123 }
124 124
125 func (m *Article) WhoCanRead(userId int64) bool { 125 func (m *Article) WhoCanRead(userId int64) bool {
  126 + if m.AuthorId == userId {
  127 + return true
  128 + }
126 if len(m.WhoRead) == 0 { 129 if len(m.WhoRead) == 0 {
127 return true 130 return true
128 } 131 }
@@ -135,6 +138,9 @@ func (m *Article) WhoCanRead(userId int64) bool { @@ -135,6 +138,9 @@ func (m *Article) WhoCanRead(userId int64) bool {
135 } 138 }
136 139
137 func (m *Article) WhoCanReview(userId int64) bool { 140 func (m *Article) WhoCanReview(userId int64) bool {
  141 + if m.AuthorId == userId {
  142 + return true
  143 + }
138 if len(m.WhoReview) == 0 { 144 if len(m.WhoReview) == 0 {
139 return true 145 return true
140 } 146 }