should update article

This commit is contained in:
aisensiy
2017-08-15 14:17:54 +08:00
parent ca2683abab
commit 6c41584abe
12 changed files with 242 additions and 44 deletions

View File

@@ -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);
}

View File

@@ -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));
}
}