refactoring
This commit is contained in:
@@ -3,7 +3,7 @@ package io.spring.api;
|
||||
import com.fasterxml.jackson.annotation.JsonRootName;
|
||||
import io.spring.api.exception.InvalidRequestException;
|
||||
import io.spring.application.UserQueryService;
|
||||
import io.spring.application.UserWithToken;
|
||||
import io.spring.application.data.UserWithToken;
|
||||
import io.spring.application.data.UserData;
|
||||
import io.spring.core.user.User;
|
||||
import io.spring.core.user.UserRepository;
|
||||
|
||||
@@ -3,7 +3,7 @@ package io.spring.api;
|
||||
import com.fasterxml.jackson.annotation.JsonRootName;
|
||||
import io.spring.api.exception.InvalidRequestException;
|
||||
import io.spring.application.UserQueryService;
|
||||
import io.spring.application.UserWithToken;
|
||||
import io.spring.application.data.UserWithToken;
|
||||
import io.spring.application.data.UserData;
|
||||
import io.spring.core.service.JwtService;
|
||||
import io.spring.core.user.EncryptService;
|
||||
|
||||
@@ -2,10 +2,11 @@ package io.spring.application;
|
||||
|
||||
import io.spring.application.data.ArticleData;
|
||||
import io.spring.application.data.ArticleDataList;
|
||||
import io.spring.application.data.ArticleFavoriteCount;
|
||||
import io.spring.core.user.User;
|
||||
import io.spring.infrastructure.mybatis.readservice.ArticleFavoritesReadService;
|
||||
import io.spring.infrastructure.mybatis.readservice.ArticleReadService;
|
||||
import io.spring.infrastructure.mybatis.readservice.UserRelationshipQueryService;
|
||||
import lombok.Value;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -22,15 +23,15 @@ import static java.util.stream.Collectors.toList;
|
||||
public class ArticleQueryService {
|
||||
private ArticleReadService articleReadService;
|
||||
private UserRelationshipQueryService userRelationshipQueryService;
|
||||
private ArticleFavoritesQueryService articleFavoritesQueryService;
|
||||
private ArticleFavoritesReadService articleFavoritesReadService;
|
||||
|
||||
@Autowired
|
||||
public ArticleQueryService(ArticleReadService articleReadService,
|
||||
UserRelationshipQueryService userRelationshipQueryService,
|
||||
ArticleFavoritesQueryService articleFavoritesQueryService) {
|
||||
ArticleFavoritesReadService articleFavoritesReadService) {
|
||||
this.articleReadService = articleReadService;
|
||||
this.userRelationshipQueryService = userRelationshipQueryService;
|
||||
this.articleFavoritesQueryService = articleFavoritesQueryService;
|
||||
this.articleFavoritesReadService = articleFavoritesReadService;
|
||||
}
|
||||
|
||||
public Optional<ArticleData> findById(String id, User user) {
|
||||
@@ -89,7 +90,7 @@ public class ArticleQueryService {
|
||||
}
|
||||
|
||||
private void setFavoriteCount(List<ArticleData> articles) {
|
||||
List<ArticleFavoriteCount> favoritesCounts = articleFavoritesQueryService.articlesFavoriteCount(articles.stream().map(ArticleData::getId).collect(toList()));
|
||||
List<ArticleFavoriteCount> favoritesCounts = articleFavoritesReadService.articlesFavoriteCount(articles.stream().map(ArticleData::getId).collect(toList()));
|
||||
Map<String, Integer> countMap = new HashMap<>();
|
||||
favoritesCounts.forEach(item -> {
|
||||
countMap.put(item.getId(), item.getCount());
|
||||
@@ -98,7 +99,7 @@ public class ArticleQueryService {
|
||||
}
|
||||
|
||||
private void setIsFavorite(List<ArticleData> articles, User currentUser) {
|
||||
Set<String> favoritedArticles = articleFavoritesQueryService.userFavorites(articles.stream().map(articleData -> articleData.getId()).collect(toList()), currentUser);
|
||||
Set<String> favoritedArticles = articleFavoritesReadService.userFavorites(articles.stream().map(articleData -> articleData.getId()).collect(toList()), currentUser);
|
||||
|
||||
articles.forEach(articleData -> {
|
||||
if (favoritedArticles.contains(articleData.getId())) {
|
||||
@@ -108,8 +109,8 @@ public class ArticleQueryService {
|
||||
}
|
||||
|
||||
private void fillExtraInfo(String id, User user, ArticleData articleData) {
|
||||
articleData.setFavorited(articleFavoritesQueryService.isUserFavorite(user.getId(), id));
|
||||
articleData.setFavoritesCount(articleFavoritesQueryService.articleFavoriteCount(id));
|
||||
articleData.setFavorited(articleFavoritesReadService.isUserFavorite(user.getId(), id));
|
||||
articleData.setFavoritesCount(articleFavoritesReadService.articleFavoriteCount(id));
|
||||
articleData.getProfileData().setFollowing(
|
||||
userRelationshipQueryService.isUserFollowing(
|
||||
user.getId(),
|
||||
@@ -129,8 +130,3 @@ public class ArticleQueryService {
|
||||
}
|
||||
}
|
||||
|
||||
@Value
|
||||
class ArticleFavoriteCount {
|
||||
private String id;
|
||||
private Integer count;
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package io.spring.application;
|
||||
|
||||
import io.spring.application.data.UserData;
|
||||
import io.spring.core.service.JwtService;
|
||||
import io.spring.infrastructure.mybatis.readservice.UserReadService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -10,11 +9,9 @@ import java.util.Optional;
|
||||
@Service
|
||||
public class UserQueryService {
|
||||
private UserReadService userReadService;
|
||||
private JwtService jwtService;
|
||||
|
||||
public UserQueryService(UserReadService userReadService, JwtService jwtService) {
|
||||
public UserQueryService(UserReadService userReadService) {
|
||||
this.userReadService = userReadService;
|
||||
this.jwtService = jwtService;
|
||||
}
|
||||
|
||||
public Optional<UserData> findById(String id) {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package io.spring.application.data;
|
||||
|
||||
import lombok.Value;
|
||||
|
||||
@Value
|
||||
public class ArticleFavoriteCount {
|
||||
private String id;
|
||||
private Integer count;
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package io.spring.application;
|
||||
package io.spring.application.data;
|
||||
|
||||
import io.spring.application.data.UserData;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.spring.application;
|
||||
package io.spring.infrastructure.mybatis.readservice;
|
||||
|
||||
import io.spring.application.data.ArticleFavoriteCount;
|
||||
import io.spring.core.user.User;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -10,7 +11,7 @@ import java.util.Set;
|
||||
|
||||
@Mapper
|
||||
@Component
|
||||
public interface ArticleFavoritesQueryService {
|
||||
public interface ArticleFavoritesReadService {
|
||||
boolean isUserFavorite(@Param("userId") String userId, @Param("articleId") String articleId);
|
||||
|
||||
int articleFavoriteCount(@Param("articleId") String articleId);
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="io.spring.application.ArticleFavoritesQueryService">
|
||||
<mapper namespace="io.spring.infrastructure.mybatis.readservice.ArticleFavoritesReadService">
|
||||
<select id="isUserFavorite" resultType="java.lang.Boolean">
|
||||
select count(1) from article_favorites where user_id = #{userId} and article_id = #{articleId}
|
||||
</select>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="transfer.data">
|
||||
<resultMap id="favoriteCount" type="io.spring.application.ArticleFavoriteCount">
|
||||
<resultMap id="favoriteCount" type="io.spring.application.data.ArticleFavoriteCount">
|
||||
<constructor>
|
||||
<idArg column="id" javaType="string"/>
|
||||
<arg column="favoriteCount" javaType="integer"/>
|
||||
|
||||
Reference in New Issue
Block a user