正在显示
4 个修改的文件
包含
32 行增加
和
26 行删除
| @@ -175,19 +175,7 @@ func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateR | @@ -175,19 +175,7 @@ func (l *MiniCreateArticleLogic) MiniCreateArticle(req *types.MiniArticleCreateR | ||
| 175 | newArticle.MatchUrl[k] = v | 175 | newArticle.MatchUrl[k] = v |
| 176 | } | 176 | } |
| 177 | //设置内容概要 | 177 | //设置内容概要 |
| 178 | - if len(sectionList) > 0 { | ||
| 179 | - // 截取内容 50个字 | ||
| 180 | - runeNumber := 0 //字数 | ||
| 181 | - stringIndex := 0 //字符串长度 | ||
| 182 | - for i := range sectionList[0].Content { | ||
| 183 | - if runeNumber > 50 { | ||
| 184 | - break | ||
| 185 | - } | ||
| 186 | - runeNumber += 1 | ||
| 187 | - stringIndex = i | ||
| 188 | - } | ||
| 189 | - newArticle.Summary = sectionList[0].Content[0:stringIndex] | ||
| 190 | - } | 178 | + newArticle.SetSummary(sectionList) |
| 191 | 179 | ||
| 192 | err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { | 180 | err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { |
| 193 | newArticle, err = l.svcCtx.ArticleRepository.Insert(ctx, c, newArticle) | 181 | newArticle, err = l.svcCtx.ArticleRepository.Insert(ctx, c, newArticle) |
| @@ -77,6 +77,8 @@ func (l *SystemArticleRestoreLogic) SystemArticleRestore(req *types.SystemArticl | @@ -77,6 +77,8 @@ func (l *SystemArticleRestoreLogic) SystemArticleRestore(req *types.SystemArticl | ||
| 77 | }) | 77 | }) |
| 78 | }) | 78 | }) |
| 79 | 79 | ||
| 80 | + article.SetSummary(articleSections) | ||
| 81 | + | ||
| 80 | err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { | 82 | err = transaction.UseTrans(l.ctx, conn.DB(), func(ctx context.Context, c transaction.Conn) error { |
| 81 | //保存文章 | 83 | //保存文章 |
| 82 | _, err = l.svcCtx.ArticleRepository.Update(ctx, c, article) | 84 | _, err = l.svcCtx.ArticleRepository.Update(ctx, c, article) |
| @@ -117,19 +117,7 @@ func (l *SystemUpdateArticleLogic) SystemUpdateArticle(req *types.SystemArticleU | @@ -117,19 +117,7 @@ func (l *SystemUpdateArticleLogic) SystemUpdateArticle(req *types.SystemArticleU | ||
| 117 | //文章内容 | 117 | //文章内容 |
| 118 | articleSections := l.getSections(req, article) | 118 | articleSections := l.getSections(req, article) |
| 119 | //设置内容概要 | 119 | //设置内容概要 |
| 120 | - if len(req.Section) > 0 { | ||
| 121 | - // 截取内容 50个字 | ||
| 122 | - runeNumber := 0 //字数 | ||
| 123 | - stringIndex := 0 //字符串长度 | ||
| 124 | - for i := range req.Section[0].Content { | ||
| 125 | - if runeNumber > 50 { | ||
| 126 | - break | ||
| 127 | - } | ||
| 128 | - runeNumber += 1 | ||
| 129 | - stringIndex = i | ||
| 130 | - } | ||
| 131 | - article.Summary = req.Section[0].Content[0:stringIndex] | ||
| 132 | - } | 120 | + article.SetSummary(articleSections) |
| 133 | 121 | ||
| 134 | err = transaction.UseTrans(l.ctx, l.conn.DB(), func(ctx context.Context, c transaction.Conn) error { | 122 | err = transaction.UseTrans(l.ctx, l.conn.DB(), func(ctx context.Context, c transaction.Conn) error { |
| 135 | _, err = l.svcCtx.ArticleRepository.Update(l.ctx, c, article) | 123 | _, err = l.svcCtx.ArticleRepository.Update(l.ctx, c, article) |
| @@ -2,6 +2,7 @@ package domain | @@ -2,6 +2,7 @@ package domain | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "context" | 4 | "context" |
| 5 | + "strings" | ||
| 5 | 6 | ||
| 6 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" | 7 | "gitlab.fjmaimaimai.com/allied-creation/sumifcc-discuss/cmd/discuss/interanl/pkg/db/transaction" |
| 7 | ) | 8 | ) |
| @@ -128,3 +129,30 @@ func (m *Article) MakeBackup(operator UserSimple, section []*ArticleSection) *Ar | @@ -128,3 +129,30 @@ func (m *Article) MakeBackup(operator UserSimple, section []*ArticleSection) *Ar | ||
| 128 | } | 129 | } |
| 129 | return &b | 130 | return &b |
| 130 | } | 131 | } |
| 132 | + | ||
| 133 | +func (m *Article) SetSummary(sectionList []ArticleSection) { | ||
| 134 | + if len(sectionList) == 0 { | ||
| 135 | + return | ||
| 136 | + } | ||
| 137 | + //设置内容概要 | ||
| 138 | + | ||
| 139 | + // 截取内容 50个字 | ||
| 140 | + runeNumber := 0 //字数 | ||
| 141 | + stringIndex := 0 //字符串长度 | ||
| 142 | + content := "" | ||
| 143 | + for i := range sectionList { | ||
| 144 | + str := strings.TrimSpace(sectionList[i].Content) | ||
| 145 | + if len(str) > 0 { | ||
| 146 | + content = str | ||
| 147 | + break | ||
| 148 | + } | ||
| 149 | + } | ||
| 150 | + for i := range content { | ||
| 151 | + if runeNumber > 50 { | ||
| 152 | + break | ||
| 153 | + } | ||
| 154 | + runeNumber += 1 | ||
| 155 | + stringIndex = i | ||
| 156 | + } | ||
| 157 | + m.Summary = content[0:stringIndex] | ||
| 158 | +} |
-
请 注册 或 登录 后发表评论