should update article
This commit is contained in:
@@ -18,4 +18,8 @@ public interface ArticleMapper {
|
||||
void insertTag(@Param("tag") Tag tag);
|
||||
|
||||
void insertArticleTagRelation(@Param("articleId") String articleId, @Param("tagId") String tagId);
|
||||
|
||||
Article findBySlug(@Param("slug") String slug);
|
||||
|
||||
void update(@Param("article") Article article);
|
||||
}
|
||||
|
||||
@@ -16,12 +16,15 @@ public class MyBatisArticleRepository implements ArticleRepository {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toSlug(String title) {
|
||||
return title.toLowerCase().replace(' ', '-');
|
||||
public void save(Article article) {
|
||||
if (articleMapper.findById(article.getId()) == null) {
|
||||
createNew(article);
|
||||
} else {
|
||||
articleMapper.update(article);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(Article article) {
|
||||
private void createNew(Article article) {
|
||||
articleMapper.insert(article);
|
||||
for (Tag tag : article.getTags()) {
|
||||
if (!articleMapper.findTag(tag.getName())) {
|
||||
@@ -35,4 +38,9 @@ public class MyBatisArticleRepository implements ArticleRepository {
|
||||
public Optional<Article> findById(String id) {
|
||||
return Optional.ofNullable(articleMapper.findById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Article> findBySlug(String slug) {
|
||||
return Optional.ofNullable(articleMapper.findBySlug(slug));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user