|
@@ -9,6 +9,7 @@ import com.dbs.realworld.mapper.ArticleMapper;
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class ArticleService {
|
|
public class ArticleService {
|
|
@@ -30,10 +31,12 @@ public class ArticleService {
|
|
return articleDTO.getId();
|
|
return articleDTO.getId();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
public List<ArticleDTO> findAll() {
|
|
public List<ArticleDTO> findAll() {
|
|
return this.articleMapper.selectAll();
|
|
return this.articleMapper.selectAll();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
* @param feed feed 타입, 'your-feed', 'global-feed'
|
|
* @param feed feed 타입, 'your-feed', 'global-feed'
|
|
@@ -43,6 +46,7 @@ public class ArticleService {
|
|
return this.articleMapper.select(articleId, feed, userId);
|
|
return this.articleMapper.select(articleId, feed, userId);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
public Map<String, Object> calculatePagingInfo(List<ArticleDTO> articleDTOs, int articleId, String feed, int userId) {
|
|
public Map<String, Object> calculatePagingInfo(List<ArticleDTO> articleDTOs, int articleId, String feed, int userId) {
|
|
Map<String, Object> paging = this.articleMapper.selectPagingInfo(articleId, feed, userId);
|
|
Map<String, Object> paging = this.articleMapper.selectPagingInfo(articleId, feed, userId);
|
|
paging.put("size", articleDTOs.size());
|
|
paging.put("size", articleDTOs.size());
|
|
@@ -58,6 +62,7 @@ public class ArticleService {
|
|
return paging;
|
|
return paging;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
public ArticleDTO findByArticleId(int articleId) {
|
|
public ArticleDTO findByArticleId(int articleId) {
|
|
ArticleDTO articleDTO = this.articleMapper.selectByArticleId(articleId);
|
|
ArticleDTO articleDTO = this.articleMapper.selectByArticleId(articleId);
|
|
List<CommentDTO> commentDTOs = this.commentService.findAllByArticleId(articleId);
|
|
List<CommentDTO> commentDTOs = this.commentService.findAllByArticleId(articleId);
|
|
@@ -70,7 +75,22 @@ public class ArticleService {
|
|
this.articleMapper.deleteByArticleId(articleId);
|
|
this.articleMapper.deleteByArticleId(articleId);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
public void edit(ArticleDTO articleDTO) {
|
|
public void edit(ArticleDTO articleDTO) {
|
|
this.articleMapper.updateArticle(articleDTO);
|
|
this.articleMapper.updateArticle(articleDTO);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public void favorite(int userId, int articleId) {
|
|
|
|
+ this.articleMapper.insertFavorite(userId, articleId);
|
|
|
|
+ this.articleMapper.updateFavoriteNum(articleId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public void unfavorite(int userId, int articleId) {
|
|
|
|
+ this.articleMapper.deleteFavorite(userId, articleId);
|
|
|
|
+ this.articleMapper.updateFavoriteNum(articleId);
|
|
|
|
+ }
|
|
}
|
|
}
|