正在显示
9 个修改的文件
包含
45 行增加
和
6 行删除
@@ -90,9 +90,10 @@ type ( | @@ -90,9 +90,10 @@ type ( | ||
90 | SectionId int64 `json:"sectionId"` // 段落id | 90 | SectionId int64 `json:"sectionId"` // 段落id |
91 | FromUserId int64 `json:",optional"` // 填写文章的人,服务端自动获取 | 91 | FromUserId int64 `json:",optional"` // 填写文章的人,服务端自动获取 |
92 | CompanyId int64 `json:",optional"` // 服务端自动获取 | 92 | CompanyId int64 `json:",optional"` // 服务端自动获取 |
93 | - Pid int64 `json:"pid"` // 回复那个评论的id | 93 | + Pid int64 `json:"pid,optional"` // 回复那个评论的id |
94 | Content string `json:"content"` // 评论的内容 | 94 | Content string `json:"content"` // 评论的内容 |
95 | - AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 95 | + AtWho []CommentAtWho `json:"atWho,optional"` // 填写评论时@的人 |
96 | + MatchUrl map[string]string `json:"matchUrl,optional"` // 评论内容中的url文本 | ||
96 | } | 97 | } |
97 | 98 | ||
98 | CommentAtWho { | 99 | CommentAtWho { |
@@ -115,6 +116,7 @@ type ( | @@ -115,6 +116,7 @@ type ( | ||
115 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 | 116 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 |
116 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 117 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
117 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 118 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 |
119 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
118 | CreatedAt int64 `json:"createdAt"` // | 120 | CreatedAt int64 `json:"createdAt"` // |
119 | } | 121 | } |
120 | ) | 122 | ) |
@@ -155,6 +157,7 @@ type ( | @@ -155,6 +157,7 @@ type ( | ||
155 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 | 157 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 |
156 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 158 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
157 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 159 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 |
160 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
158 | CreatedAt int64 `json:"createdAt"` // | 161 | CreatedAt int64 `json:"createdAt"` // |
159 | MeLoveFlag int `json:"meLoveFlag"` //当前人员对评论的点赞标识 (0 没有点赞 1有点赞) | 162 | MeLoveFlag int `json:"meLoveFlag"` //当前人员对评论的点赞标识 (0 没有点赞 1有点赞) |
160 | Content string `json:"content"` // 评论的内容 | 163 | Content string `json:"content"` // 评论的内容 |
@@ -253,6 +256,8 @@ type ( | @@ -253,6 +256,8 @@ type ( | ||
253 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 256 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
254 | CreatedAt int64 `json:"createdAt"` // 评论时间 | 257 | CreatedAt int64 `json:"createdAt"` // 评论时间 |
255 | Content string `json:"content"` // 评论的内容 | 258 | Content string `json:"content"` // 评论的内容 |
259 | + AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | ||
260 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
256 | Show int `json:"show"` // 显示状态 | 261 | Show int `json:"show"` // 显示状态 |
257 | } | 262 | } |
258 | ) | 263 | ) |
@@ -132,6 +132,11 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini | @@ -132,6 +132,11 @@ func (l *MiniCreateArticleCommentLogic) MiniCreateArticleComment(req *types.Mini | ||
132 | CountAdminLove: 0, | 132 | CountAdminLove: 0, |
133 | Show: domain.CommentShowEnable, | 133 | Show: domain.CommentShowEnable, |
134 | AtWho: []domain.UserSimple{}, | 134 | AtWho: []domain.UserSimple{}, |
135 | + MatchUrl: map[string]string{}, | ||
136 | + } | ||
137 | + | ||
138 | + for k, v := range req.MatchUrl { | ||
139 | + newComment.MatchUrl[k] = v | ||
135 | } | 140 | } |
136 | 141 | ||
137 | if selctionInfo != nil { | 142 | if selctionInfo != nil { |
@@ -89,6 +89,7 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | @@ -89,6 +89,7 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | ||
89 | CountUserLove: commentInfo.CountUserLove, | 89 | CountUserLove: commentInfo.CountUserLove, |
90 | CountAdminLove: commentInfo.CountAdminLove, | 90 | CountAdminLove: commentInfo.CountAdminLove, |
91 | AtWho: []types.CommentAtWho{}, | 91 | AtWho: []types.CommentAtWho{}, |
92 | + MatchUrl: map[string]string{}, | ||
92 | CreatedAt: commentInfo.CreatedAt, | 93 | CreatedAt: commentInfo.CreatedAt, |
93 | MeLoveFlag: 0, | 94 | MeLoveFlag: 0, |
94 | Content: commentInfo.Content, | 95 | Content: commentInfo.Content, |
@@ -96,6 +97,9 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | @@ -96,6 +97,9 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | ||
96 | if _, ok := flagMap[commentInfo.Id]; ok { | 97 | if _, ok := flagMap[commentInfo.Id]; ok { |
97 | commentResp.MeLoveFlag = 1 | 98 | commentResp.MeLoveFlag = 1 |
98 | } | 99 | } |
100 | + for k, v := range commentInfo.MatchUrl { | ||
101 | + commentResp.MatchUrl[k] = v | ||
102 | + } | ||
99 | for _, val := range commentInfo.AtWho { | 103 | for _, val := range commentInfo.AtWho { |
100 | commentResp.AtWho = append(commentResp.AtWho, types.CommentAtWho{ | 104 | commentResp.AtWho = append(commentResp.AtWho, types.CommentAtWho{ |
101 | Id: val.Id, | 105 | Id: val.Id, |
@@ -132,12 +136,16 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | @@ -132,12 +136,16 @@ func (l *MiniGetArticleCommentLogic) MiniGetArticleComment(req *types.MiniGetArt | ||
132 | CountUserLove: val.CountUserLove, | 136 | CountUserLove: val.CountUserLove, |
133 | CountAdminLove: val.CountAdminLove, | 137 | CountAdminLove: val.CountAdminLove, |
134 | AtWho: []types.CommentAtWho{}, | 138 | AtWho: []types.CommentAtWho{}, |
139 | + MatchUrl: map[string]string{}, | ||
135 | CreatedAt: val.CreatedAt, | 140 | CreatedAt: val.CreatedAt, |
136 | MeLoveFlag: 0, | 141 | MeLoveFlag: 0, |
137 | } | 142 | } |
138 | if _, ok := flagMap[val.Id]; ok { | 143 | if _, ok := flagMap[val.Id]; ok { |
139 | reply.MeLoveFlag = 1 | 144 | reply.MeLoveFlag = 1 |
140 | } | 145 | } |
146 | + for key, url := range val.MatchUrl { | ||
147 | + reply.MatchUrl[key] = url | ||
148 | + } | ||
141 | for _, val2 := range val.AtWho { | 149 | for _, val2 := range val.AtWho { |
142 | reply.AtWho = append(reply.AtWho, types.CommentAtWho{ | 150 | reply.AtWho = append(reply.AtWho, types.CommentAtWho{ |
143 | Id: val2.Id, | 151 | Id: val2.Id, |
@@ -100,6 +100,7 @@ func (l *MiniListArticleCommentLogic) MiniListArticleComment(req *types.MiniList | @@ -100,6 +100,7 @@ func (l *MiniListArticleCommentLogic) MiniListArticleComment(req *types.MiniList | ||
100 | CountUserLove: val.CountUserLove, | 100 | CountUserLove: val.CountUserLove, |
101 | CountAdminLove: val.CountAdminLove, | 101 | CountAdminLove: val.CountAdminLove, |
102 | AtWho: []types.CommentAtWho{}, | 102 | AtWho: []types.CommentAtWho{}, |
103 | + MatchUrl: map[string]string{}, | ||
103 | CreatedAt: val.CreatedAt, | 104 | CreatedAt: val.CreatedAt, |
104 | MeLoveFlag: 0, | 105 | MeLoveFlag: 0, |
105 | Content: val.Content, | 106 | Content: val.Content, |
@@ -111,7 +112,9 @@ func (l *MiniListArticleCommentLogic) MiniListArticleComment(req *types.MiniList | @@ -111,7 +112,9 @@ func (l *MiniListArticleCommentLogic) MiniListArticleComment(req *types.MiniList | ||
111 | if _, ok := flagMap[val.Id]; ok { | 112 | if _, ok := flagMap[val.Id]; ok { |
112 | item.Comment.MeLoveFlag = 1 | 113 | item.Comment.MeLoveFlag = 1 |
113 | } | 114 | } |
114 | - | 115 | + for key2, val2 := range val.MatchUrl { |
116 | + item.Comment.MatchUrl[key2] = val2 | ||
117 | + } | ||
115 | for _, val2 := range val.AtWho { | 118 | for _, val2 := range val.AtWho { |
116 | item.Comment.AtWho = append(item.Comment.AtWho, types.CommentAtWho{ | 119 | item.Comment.AtWho = append(item.Comment.AtWho, types.CommentAtWho{ |
117 | Id: val2.Id, | 120 | Id: val2.Id, |
@@ -174,6 +177,7 @@ func (l *MiniListArticleCommentLogic) listCommentReply(commentId int64, loveFlag | @@ -174,6 +177,7 @@ func (l *MiniListArticleCommentLogic) listCommentReply(commentId int64, loveFlag | ||
174 | CountUserLove: val.CountUserLove, | 177 | CountUserLove: val.CountUserLove, |
175 | CountAdminLove: val.CountAdminLove, | 178 | CountAdminLove: val.CountAdminLove, |
176 | AtWho: []types.CommentAtWho{}, | 179 | AtWho: []types.CommentAtWho{}, |
180 | + MatchUrl: map[string]string{}, | ||
177 | CreatedAt: val.CreatedAt, | 181 | CreatedAt: val.CreatedAt, |
178 | MeLoveFlag: 0, | 182 | MeLoveFlag: 0, |
179 | Content: val.Content, | 183 | Content: val.Content, |
@@ -182,6 +186,9 @@ func (l *MiniListArticleCommentLogic) listCommentReply(commentId int64, loveFlag | @@ -182,6 +186,9 @@ func (l *MiniListArticleCommentLogic) listCommentReply(commentId int64, loveFlag | ||
182 | if _, ok := loveFlagMap[val.Id]; ok { | 186 | if _, ok := loveFlagMap[val.Id]; ok { |
183 | item.MeLoveFlag = 1 | 187 | item.MeLoveFlag = 1 |
184 | } | 188 | } |
189 | + for key2, val2 := range val.MatchUrl { | ||
190 | + item.MatchUrl[key2] = val2 | ||
191 | + } | ||
185 | for _, val2 := range val.AtWho { | 192 | for _, val2 := range val.AtWho { |
186 | item.AtWho = append(item.AtWho, types.CommentAtWho{ | 193 | item.AtWho = append(item.AtWho, types.CommentAtWho{ |
187 | Id: val2.Id, | 194 | Id: val2.Id, |
@@ -56,6 +56,9 @@ func (l *MiniTop5ArticleCommentLogic) MiniTop5ArticleComment(req *types.MiniTop5 | @@ -56,6 +56,9 @@ func (l *MiniTop5ArticleCommentLogic) MiniTop5ArticleComment(req *types.MiniTop5 | ||
56 | if _, ok := flagMap[val.Id]; ok { | 56 | if _, ok := flagMap[val.Id]; ok { |
57 | item.MeLoveFlag = 1 | 57 | item.MeLoveFlag = 1 |
58 | } | 58 | } |
59 | + for key, url := range val.MatchUrl { | ||
60 | + item.MatchUrl[key] = url | ||
61 | + } | ||
59 | for _, val2 := range val.AtWho { | 62 | for _, val2 := range val.AtWho { |
60 | item.AtWho = append(item.AtWho, types.CommentAtWho{ | 63 | item.AtWho = append(item.AtWho, types.CommentAtWho{ |
61 | Id: val2.Id, | 64 | Id: val2.Id, |
@@ -95,6 +98,7 @@ func NewArticleCommentItem(val *domain.ArticleComment) types.ArticleCommentItem | @@ -95,6 +98,7 @@ func NewArticleCommentItem(val *domain.ArticleComment) types.ArticleCommentItem | ||
95 | CountUserLove: val.CountUserLove, | 98 | CountUserLove: val.CountUserLove, |
96 | CountAdminLove: val.CountAdminLove, | 99 | CountAdminLove: val.CountAdminLove, |
97 | AtWho: []types.CommentAtWho{}, | 100 | AtWho: []types.CommentAtWho{}, |
101 | + MatchUrl: map[string]string{}, | ||
98 | CreatedAt: val.CreatedAt, | 102 | CreatedAt: val.CreatedAt, |
99 | MeLoveFlag: 0, | 103 | MeLoveFlag: 0, |
100 | Content: val.Content, | 104 | Content: val.Content, |
@@ -21,9 +21,10 @@ type MiniCreateArticleCommentRequest struct { | @@ -21,9 +21,10 @@ type MiniCreateArticleCommentRequest struct { | ||
21 | SectionId int64 `json:"sectionId"` // 段落id | 21 | SectionId int64 `json:"sectionId"` // 段落id |
22 | FromUserId int64 `json:",optional"` // 填写文章的人,服务端自动获取 | 22 | FromUserId int64 `json:",optional"` // 填写文章的人,服务端自动获取 |
23 | CompanyId int64 `json:",optional"` // 服务端自动获取 | 23 | CompanyId int64 `json:",optional"` // 服务端自动获取 |
24 | - Pid int64 `json:"pid"` // 回复那个评论的id | 24 | + Pid int64 `json:"pid,optional"` // 回复那个评论的id |
25 | Content string `json:"content"` // 评论的内容 | 25 | Content string `json:"content"` // 评论的内容 |
26 | - AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 26 | + AtWho []CommentAtWho `json:"atWho,optional"` // 填写评论时@的人 |
27 | + MatchUrl map[string]string `json:"matchUrl,optional"` // 评论内容中的url文本 | ||
27 | } | 28 | } |
28 | 29 | ||
29 | type CommentAtWho struct { | 30 | type CommentAtWho struct { |
@@ -47,6 +48,7 @@ type MiniCreateArticleCommentResponse struct { | @@ -47,6 +48,7 @@ type MiniCreateArticleCommentResponse struct { | ||
47 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 | 48 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 |
48 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 49 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
49 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 50 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 |
51 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
50 | CreatedAt int64 `json:"createdAt"` // | 52 | CreatedAt int64 `json:"createdAt"` // |
51 | } | 53 | } |
52 | 54 | ||
@@ -85,6 +87,7 @@ type ArticleCommentItem struct { | @@ -85,6 +87,7 @@ type ArticleCommentItem struct { | ||
85 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 | 87 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 |
86 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 88 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
87 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | 89 | AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 |
90 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
88 | CreatedAt int64 `json:"createdAt"` // | 91 | CreatedAt int64 `json:"createdAt"` // |
89 | MeLoveFlag int `json:"meLoveFlag"` //当前人员对评论的点赞标识 (0 没有点赞 1有点赞) | 92 | MeLoveFlag int `json:"meLoveFlag"` //当前人员对评论的点赞标识 (0 没有点赞 1有点赞) |
90 | Content string `json:"content"` // 评论的内容 | 93 | Content string `json:"content"` // 评论的内容 |
@@ -172,6 +175,8 @@ type SystemArticleCommentSearchItem struct { | @@ -172,6 +175,8 @@ type SystemArticleCommentSearchItem struct { | ||
172 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 175 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
173 | CreatedAt int64 `json:"createdAt"` // 评论时间 | 176 | CreatedAt int64 `json:"createdAt"` // 评论时间 |
174 | Content string `json:"content"` // 评论的内容 | 177 | Content string `json:"content"` // 评论的内容 |
178 | + AtWho []CommentAtWho `json:"atWho"` // 填写评论时@的人 | ||
179 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中的url文本 | ||
175 | Show int `json:"show"` // 显示状态 | 180 | Show int `json:"show"` // 显示状态 |
176 | } | 181 | } |
177 | 182 |
@@ -27,11 +27,13 @@ type ArticleComment struct { | @@ -27,11 +27,13 @@ type ArticleComment struct { | ||
27 | ToUserId int64 // 回复谁的评论 | 27 | ToUserId int64 // 回复谁的评论 |
28 | ToUser domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 回复谁的评论 | 28 | ToUser domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 回复谁的评论 |
29 | AtWho []domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 填写评论@的人 | 29 | AtWho []domain.UserSimple `gorm:"type:jsonb;serializer:json"` // 填写评论@的人 |
30 | + MatchUrl map[string]string `gorm:"type:jsonb;serializer:json"` // 评论内容中出现的url. 用于页面上进行匹配文本后进行特殊显示处理 | ||
30 | Content string // 评论内容 | 31 | Content string // 评论内容 |
31 | CountReply int // 回复数量 | 32 | CountReply int // 回复数量 |
32 | CountUserLove int // 用户点赞数量 | 33 | CountUserLove int // 用户点赞数量 |
33 | CountAdminLove int // 运营点赞数量 | 34 | CountAdminLove int // 运营点赞数量 |
34 | Show int // 评论的展示状态(0显示、1不显示) | 35 | Show int // 评论的展示状态(0显示、1不显示) |
36 | + | ||
35 | } | 37 | } |
36 | 38 | ||
37 | func (m *ArticleComment) TableName() string { | 39 | func (m *ArticleComment) TableName() string { |
@@ -199,6 +199,7 @@ func (repository *ArticleCommentRepository) ModelToDomainModel(from *models.Arti | @@ -199,6 +199,7 @@ func (repository *ArticleCommentRepository) ModelToDomainModel(from *models.Arti | ||
199 | CountAdminLove: from.CountAdminLove, | 199 | CountAdminLove: from.CountAdminLove, |
200 | Show: domain.CommentShow(from.Show), | 200 | Show: domain.CommentShow(from.Show), |
201 | AtWho: from.AtWho, | 201 | AtWho: from.AtWho, |
202 | + MatchUrl: from.MatchUrl, | ||
202 | } | 203 | } |
203 | // err := copier.Copy(to, from) | 204 | // err := copier.Copy(to, from) |
204 | return to, nil | 205 | return to, nil |
@@ -228,6 +229,7 @@ func (repository *ArticleCommentRepository) DomainModelToModel(from *domain.Arti | @@ -228,6 +229,7 @@ func (repository *ArticleCommentRepository) DomainModelToModel(from *domain.Arti | ||
228 | CountUserLove: from.CountUserLove, | 229 | CountUserLove: from.CountUserLove, |
229 | CountAdminLove: from.CountAdminLove, | 230 | CountAdminLove: from.CountAdminLove, |
230 | Show: int(from.Show), | 231 | Show: int(from.Show), |
232 | + MatchUrl: from.MatchUrl, | ||
231 | } | 233 | } |
232 | // err := copier.Copy(to, from) | 234 | // err := copier.Copy(to, from) |
233 | return to, nil | 235 | return to, nil |
@@ -28,7 +28,8 @@ type ArticleComment struct { | @@ -28,7 +28,8 @@ type ArticleComment struct { | ||
28 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 | 28 | CountUserLove int `json:"countUserLove"` // 用户点赞数量 |
29 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 | 29 | CountAdminLove int `json:"countAdminLove"` // 运营点赞数量 |
30 | Show CommentShow `json:"showState"` // 评论的展示状态(1显示、2不显示) | 30 | Show CommentShow `json:"showState"` // 评论的展示状态(1显示、2不显示) |
31 | - AtWho []UserSimple `json:"atWho"` // 填写评论时@的人 | 31 | + AtWho []UserSimple `json:"atWho"` // 填写评论时@的人. 评论内容中出现的@人,用于页面上进行匹配文本后进行特殊显示处理 |
32 | + MatchUrl map[string]string `json:"matchUrl"` // 评论内容中出现的url. 用于页面上进行匹配文本后进行特殊显示处理 | ||
32 | // ...more | 33 | // ...more |
33 | } | 34 | } |
34 | 35 |
-
请 注册 或 登录 后发表评论