作者 tangxvhui

Merge branch 'dev' into test

@@ -76,6 +76,10 @@ service Core { @@ -76,6 +76,10 @@ service Core {
76 @doc "管理后台变更评论" 76 @doc "管理后台变更评论"
77 @handler SystemEditAticleComment 77 @handler SystemEditAticleComment
78 post /article_comment/edit (SystemEditCommentRequest)returns (SystemEditCommentResponse) 78 post /article_comment/edit (SystemEditCommentRequest)returns (SystemEditCommentResponse)
  79 +
  80 + @doc "编辑评论的运营点赞数"
  81 + @handler SystemEditAticleCommentLove
  82 + post /article_comment/edit/love (SystemEditCommentLoveRequest)returns (SystemEditCommentLoveResponse)
79 } 83 }
80 84
81 //评论的填写人 85 //评论的填写人
@@ -368,3 +372,16 @@ type ( @@ -368,3 +372,16 @@ type (
368 Id int64 `json:"id"` 372 Id int64 `json:"id"`
369 } 373 }
370 ) 374 )
  375 +
  376 +// 管理后台变更评论的运营点赞
  377 +type (
  378 + SystemEditCommentLoveRequest {
  379 + CompanyId int64 `json:",optional"`
  380 + Id int64 `json:"id"`
  381 + CountAdminLove int `json:"countAdminLove,optional"`
  382 + }
  383 +
  384 + SystemEditCommentLoveResponse {
  385 + Id int64 `json:"id"`
  386 + }
  387 +)
@@ -15,7 +15,7 @@ func SystemEditAticleCommentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc @@ -15,7 +15,7 @@ func SystemEditAticleCommentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc
15 return func(w http.ResponseWriter, r *http.Request) { 15 return func(w http.ResponseWriter, r *http.Request) {
16 var req types.SystemEditCommentRequest 16 var req types.SystemEditCommentRequest
17 if err := httpx.Parse(r, &req); err != nil { 17 if err := httpx.Parse(r, &req); err != nil {
18 - httpx.ErrorCtx(r.Context(), w, err) 18 + result.HttpResult(r, w, nil, err)
19 return 19 return
20 } 20 }
21 21
  1 +package comment
  2 +
  3 +import (
  4 + "net/http"
  5 +
  6 + "github.com/zeromicro/go-zero/rest/httpx"
  7 + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/logic/comment"
  8 + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc"
  9 + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types"
  10 + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/result"
  11 +)
  12 +
  13 +// 单独编辑评论的运营点赞数量
  14 +func SystemEditAticleCommentLoveHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
  15 + return func(w http.ResponseWriter, r *http.Request) {
  16 + var req types.SystemEditCommentLoveRequest
  17 + if err := httpx.Parse(r, &req); err != nil {
  18 + result.HttpResult(r, w, nil, err)
  19 + return
  20 + }
  21 +
  22 + l := comment.NewSystemEditAticleCommentLoveLogic(r.Context(), svcCtx)
  23 + resp, err := l.SystemEditAticleCommentLove(&req)
  24 + result.HttpResult(r, w, resp, err)
  25 + }
  26 +}
@@ -133,6 +133,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { @@ -133,6 +133,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
133 Path: "/article_comment/edit", 133 Path: "/article_comment/edit",
134 Handler: comment.SystemEditAticleCommentHandler(serverCtx), 134 Handler: comment.SystemEditAticleCommentHandler(serverCtx),
135 }, 135 },
  136 + {
  137 + Method: http.MethodPost,
  138 + Path: "/article_comment/edit/love",
  139 + Handler: comment.SystemEditAticleCommentLoveHandler(serverCtx),
  140 + },
136 }..., 141 }...,
137 ), 142 ),
138 rest.WithJwt(serverCtx.Config.SystemAuth.AccessSecret), 143 rest.WithJwt(serverCtx.Config.SystemAuth.AccessSecret),
@@ -28,6 +28,9 @@ func NewMiniArticleSearchMeLogic(ctx context.Context, svcCtx *svc.ServiceContext @@ -28,6 +28,9 @@ func NewMiniArticleSearchMeLogic(ctx context.Context, svcCtx *svc.ServiceContext
28 // MiniArticleSearchMe 获取我发布的文章 28 // MiniArticleSearchMe 获取我发布的文章
29 func (l *MiniArticleSearchMeLogic) MiniArticleSearchMe(req *types.MiniArticleSearchMeRequest) (resp *types.MiniArticleSearchMeResponse, err error) { 29 func (l *MiniArticleSearchMeLogic) MiniArticleSearchMe(req *types.MiniArticleSearchMeRequest) (resp *types.MiniArticleSearchMeResponse, err error) {
30 var conn = l.svcCtx.DefaultDBConn() 30 var conn = l.svcCtx.DefaultDBConn()
  31 + if req.Size > 100 {
  32 + req.Size = 100
  33 + }
31 queryOptions := domain.NewQueryOptions(). 34 queryOptions := domain.NewQueryOptions().
32 WithOffsetLimit(req.Page, req.Size). 35 WithOffsetLimit(req.Page, req.Size).
33 MustWithKV("authorId", req.AuthorId) 36 MustWithKV("authorId", req.AuthorId)
@@ -5,7 +5,7 @@ import ( @@ -5,7 +5,7 @@ import (
5 "strconv" 5 "strconv"
6 "strings" 6 "strings"
7 "text/template" 7 "text/template"
8 - "unicode" 8 + "unicode/utf8"
9 9
10 "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc" 10 "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/svc"
11 "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types" 11 "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/api/internal/types"
@@ -39,13 +39,10 @@ func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateR @@ -39,13 +39,10 @@ func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateR
39 // 检查文字数量 39 // 检查文字数量
40 wordNum := 0 40 wordNum := 0
41 for i := range req.Section { 41 for i := range req.Section {
42 - for _, word := range req.Section[i] {  
43 - if !unicode.IsSpace(word) {  
44 - wordNum++ 42 + num := utf8.RuneCountInString(req.Section[i])
  43 + wordNum += num
45 } 44 }
46 - }  
47 - }  
48 - if wordNum > 1000 { 45 + if wordNum >= 1000 {
49 return nil, xerr.NewErrMsgErr("最多只能输入1000字", err) 46 return nil, xerr.NewErrMsgErr("最多只能输入1000字", err)
50 } 47 }
51 // 检查发布人 48 // 检查发布人
@@ -28,7 +28,9 @@ func NewMiniSearchArticleDraftMeLogic(ctx context.Context, svcCtx *svc.ServiceCo @@ -28,7 +28,9 @@ func NewMiniSearchArticleDraftMeLogic(ctx context.Context, svcCtx *svc.ServiceCo
28 // 查询我的草稿箱内容列表 28 // 查询我的草稿箱内容列表
29 func (l *MiniSearchArticleDraftMeLogic) MiniSearchArticleDraftMe(req *types.MiniArticleDraftSearchMeRequest) (resp *types.MiniArticleDraftSearchMeResponse, err error) { 29 func (l *MiniSearchArticleDraftMeLogic) MiniSearchArticleDraftMe(req *types.MiniArticleDraftSearchMeRequest) (resp *types.MiniArticleDraftSearchMeResponse, err error) {
30 var conn = l.svcCtx.DefaultDBConn() 30 var conn = l.svcCtx.DefaultDBConn()
31 - 31 + if req.Size > 100 {
  32 + req.Size = 100
  33 + }
32 queryOption := domain.NewQueryOptions(). 34 queryOption := domain.NewQueryOptions().
33 WithOffsetLimit(req.Page, req.Size). 35 WithOffsetLimit(req.Page, req.Size).
34 MustWithKV("authorId", req.AuthorId) 36 MustWithKV("authorId", req.AuthorId)
@@ -29,7 +29,9 @@ func NewMiniSearchArticlePageLogic(ctx context.Context, svcCtx *svc.ServiceConte @@ -29,7 +29,9 @@ func NewMiniSearchArticlePageLogic(ctx context.Context, svcCtx *svc.ServiceConte
29 func (l *MiniSearchArticlePageLogic) MiniSearchArticlePage(req *types.MiniSearchArticleRequest) (resp *types.MiniSearchArticleResponse, err error) { 29 func (l *MiniSearchArticlePageLogic) MiniSearchArticlePage(req *types.MiniSearchArticleRequest) (resp *types.MiniSearchArticleResponse, err error) {
30 30
31 var conn = l.svcCtx.DefaultDBConn() 31 var conn = l.svcCtx.DefaultDBConn()
32 - 32 + if req.Size > 100 {
  33 + req.Size = 100
  34 + }
33 cnt, articleList, err := l.svcCtx.ArticleRepository.CustomSearchBy(l.ctx, conn, req.UserId, req.CompanyId, 35 cnt, articleList, err := l.svcCtx.ArticleRepository.CustomSearchBy(l.ctx, conn, req.UserId, req.CompanyId,
34 req.TagCategory, req.TagId, [2]int64{req.BeginTime, req.EndTime}, req.SearchWord, req.Page, req.Size) 36 req.TagCategory, req.TagId, [2]int64{req.BeginTime, req.EndTime}, req.SearchWord, req.Page, req.Size)
35 if err != nil { 37 if err != nil {
@@ -3,6 +3,7 @@ package article @@ -3,6 +3,7 @@ package article
3 import ( 3 import (
4 "context" 4 "context"
5 "strconv" 5 "strconv"
  6 + "unicode/utf8"
6 7
7 "strings" 8 "strings"
8 9
@@ -42,6 +43,17 @@ func (l *SystemUpdateArticleLogic) SystemUpdateArticle(req *types.SystemArticleU @@ -42,6 +43,17 @@ func (l *SystemUpdateArticleLogic) SystemUpdateArticle(req *types.SystemArticleU
42 //TargetUser 设定为分发给所有人,清空 WhoRead 43 //TargetUser 设定为分发给所有人,清空 WhoRead
43 req.WhoRead = make([]int64, 0) 44 req.WhoRead = make([]int64, 0)
44 } 45 }
  46 +
  47 + // 检查文字数量
  48 + wordNum := 0
  49 + for i := range req.Section {
  50 + num := utf8.RuneCountInString(req.Section[i].Content)
  51 + wordNum += num
  52 + }
  53 + if wordNum >= 1000 {
  54 + return nil, xerr.NewErrMsgErr("最多只能输入1000字", err)
  55 + }
  56 +
45 // 获取当前用户信息 57 // 获取当前用户信息
46 userMe, err := l.svcCtx.ApiAuthService.MeInfo(l.ctx, authlib.RequestUserMeQuery{Token: req.AccessToken}) 58 userMe, err := l.svcCtx.ApiAuthService.MeInfo(l.ctx, authlib.RequestUserMeQuery{Token: req.AccessToken})
47 if err != nil { 59 if err != nil {
  1 +package comment
  2 +
  3 +import (
  4 + "context"
  5 +
  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"
  8 + "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/pkg/xerr"
  9 +
  10 + "github.com/zeromicro/go-zero/core/logx"
  11 +)
  12 +
  13 +type SystemEditAticleCommentLoveLogic struct {
  14 + logx.Logger
  15 + ctx context.Context
  16 + svcCtx *svc.ServiceContext
  17 +}
  18 +
  19 +func NewSystemEditAticleCommentLoveLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SystemEditAticleCommentLoveLogic {
  20 + return &SystemEditAticleCommentLoveLogic{
  21 + Logger: logx.WithContext(ctx),
  22 + ctx: ctx,
  23 + svcCtx: svcCtx,
  24 + }
  25 +}
  26 +
  27 +func (l *SystemEditAticleCommentLoveLogic) SystemEditAticleCommentLove(req *types.SystemEditCommentLoveRequest) (resp *types.SystemEditCommentLoveResponse, err error) {
  28 + var conn = l.svcCtx.DefaultDBConn()
  29 + if req.CountAdminLove < 0 {
  30 + return nil, xerr.NewErrMsg("运营点赞数不能小于0")
  31 + }
  32 + commetInfo, err := l.svcCtx.ArticleCommentRepository.FindOne(l.ctx, conn, req.Id)
  33 + if err != nil {
  34 + return nil, xerr.NewErrMsgErr("编辑评论信息失败", err)
  35 + }
  36 + if commetInfo.CompanyId != req.CompanyId {
  37 + return nil, xerr.NewErrMsg("没有操作权限")
  38 + }
  39 +
  40 + commetInfo.CountAdminLove = req.CountAdminLove
  41 + _, err = l.svcCtx.ArticleCommentRepository.Update(l.ctx, conn, commetInfo)
  42 + if err != nil {
  43 + return nil, xerr.NewErrMsgErr("编辑评论信息失败", err)
  44 + }
  45 + resp = &types.SystemEditCommentLoveResponse{
  46 + Id: commetInfo.Id,
  47 + }
  48 + return
  49 +}
@@ -275,6 +275,16 @@ type SystemEditCommentResponse struct { @@ -275,6 +275,16 @@ type SystemEditCommentResponse struct {
275 Id int64 `json:"id"` 275 Id int64 `json:"id"`
276 } 276 }
277 277
  278 +type SystemEditCommentLoveRequest struct {
  279 + CompanyId int64 `json:",optional"`
  280 + Id int64 `json:"id"`
  281 + CountAdminLove int `json:"countAdminLove,optional"`
  282 +}
  283 +
  284 +type SystemEditCommentLoveResponse struct {
  285 + Id int64 `json:"id"`
  286 +}
  287 +
278 type MessageRequest struct { 288 type MessageRequest struct {
279 Page int `json:"page"` 289 Page int `json:"page"`
280 Size int `json:"size"` 290 Size int `json:"size"`