bugfix for query by author name and favorited username
This commit is contained in:
parent
288f2d4c14
commit
4550e5a3c5
@ -13,7 +13,6 @@ buildscript {
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
apply plugin: 'idea'
|
apply plugin: 'idea'
|
||||||
apply plugin: 'findbugs'
|
|
||||||
apply plugin: 'org.springframework.boot'
|
apply plugin: 'org.springframework.boot'
|
||||||
|
|
||||||
version = '0.0.1-SNAPSHOT'
|
version = '0.0.1-SNAPSHOT'
|
||||||
|
@ -41,15 +41,17 @@
|
|||||||
left join article_tags AT on A.id = AT.article_id
|
left join article_tags AT on A.id = AT.article_id
|
||||||
left join tags T on T.id = AT.tag_id
|
left join tags T on T.id = AT.tag_id
|
||||||
left join article_favorites AF on AF.article_id = A.id
|
left join article_favorites AF on AF.article_id = A.id
|
||||||
|
left join users AU on AU.id = A.user_id
|
||||||
|
left join users AFU on AFU.id = AF.user_id
|
||||||
<where>
|
<where>
|
||||||
<if test="tag != null">
|
<if test="tag != null">
|
||||||
T.name = #{tag}
|
T.name = #{tag}
|
||||||
</if>
|
</if>
|
||||||
<if test="author != null">
|
<if test="author != null">
|
||||||
AND A.user_id = #{author}
|
AND AU.username = #{author}
|
||||||
</if>
|
</if>
|
||||||
<if test="favoritedBy != null">
|
<if test="favoritedBy != null">
|
||||||
AND AF.user_id = #{favoritedBy}
|
AND AFU.username = #{favoritedBy}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by A.created_at desc
|
order by A.created_at desc
|
||||||
@ -63,15 +65,17 @@
|
|||||||
left join article_tags AT on A.id = AT.article_id
|
left join article_tags AT on A.id = AT.article_id
|
||||||
left join tags T on T.id = AT.tag_id
|
left join tags T on T.id = AT.tag_id
|
||||||
left join article_favorites AF on AF.article_id = A.id
|
left join article_favorites AF on AF.article_id = A.id
|
||||||
|
left join users AU on AU.id = A.user_id
|
||||||
|
left join users AFU on AFU.id = AF.user_id
|
||||||
<where>
|
<where>
|
||||||
<if test="tag != null">
|
<if test="tag != null">
|
||||||
T.name = #{tag}
|
T.name = #{tag}
|
||||||
</if>
|
</if>
|
||||||
<if test="author != null">
|
<if test="author != null">
|
||||||
AND A.user_id = #{author}
|
AND AU.username = #{author}
|
||||||
</if>
|
</if>
|
||||||
<if test="favoritedBy != null">
|
<if test="favoritedBy != null">
|
||||||
AND AF.user_id = #{favoritedBy}
|
AND AFU.username = #{favoritedBy}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
@ -107,7 +107,7 @@ public class ArticleQueryServiceTest {
|
|||||||
Article anotherArticle = new Article("new article", "desc", "body", new String[]{"test"}, anotherUser.getId());
|
Article anotherArticle = new Article("new article", "desc", "body", new String[]{"test"}, anotherUser.getId());
|
||||||
articleRepository.save(anotherArticle);
|
articleRepository.save(anotherArticle);
|
||||||
|
|
||||||
ArticleDataList recentArticles = queryService.findRecentArticles(null, user.getId(), null, new Page(), user);
|
ArticleDataList recentArticles = queryService.findRecentArticles(null, user.getUsername(), null, new Page(), user);
|
||||||
assertThat(recentArticles.getArticleDatas().size(), is(1));
|
assertThat(recentArticles.getArticleDatas().size(), is(1));
|
||||||
assertThat(recentArticles.getCount(), is(1));
|
assertThat(recentArticles.getCount(), is(1));
|
||||||
}
|
}
|
||||||
@ -123,7 +123,7 @@ public class ArticleQueryServiceTest {
|
|||||||
ArticleFavorite articleFavorite = new ArticleFavorite(article.getId(), anotherUser.getId());
|
ArticleFavorite articleFavorite = new ArticleFavorite(article.getId(), anotherUser.getId());
|
||||||
articleFavoriteRepository.save(articleFavorite);
|
articleFavoriteRepository.save(articleFavorite);
|
||||||
|
|
||||||
ArticleDataList recentArticles = queryService.findRecentArticles(null, null, anotherUser.getId(), new Page(), anotherUser);
|
ArticleDataList recentArticles = queryService.findRecentArticles(null, null, anotherUser.getUsername(), new Page(), anotherUser);
|
||||||
assertThat(recentArticles.getArticleDatas().size(), is(1));
|
assertThat(recentArticles.getArticleDatas().size(), is(1));
|
||||||
assertThat(recentArticles.getCount(), is(1));
|
assertThat(recentArticles.getCount(), is(1));
|
||||||
ArticleData articleData = recentArticles.getArticleDatas().get(0);
|
ArticleData articleData = recentArticles.getArticleDatas().get(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user