Commit 9e02cea2 by 朱亚洁

fixbug:[more]bug1023933/1023934

parent 68c46e81
...@@ -113,6 +113,8 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i ...@@ -113,6 +113,8 @@ public class AppletUserBookcaseDaoImpl extends BaseDaoImpl<AppletUserBookcase> i
@Override @Override
public List<Long> getBookIdsByIds(List<Long> ids) { public List<Long> getBookIdsByIds(List<Long> ids) {
return getSessionTemplate().selectList(getStatement("getBookIdsByIds"), ids); Map<String, Object> map = new HashMap<>();
map.put("ids", ids);
return getSessionTemplate().selectList(getStatement("getBookIdsByIds"), map);
} }
} }
...@@ -110,7 +110,7 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -110,7 +110,7 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
@ParamLog("更新书和编辑书") @ParamLog("更新书和编辑书")
@Override @Override
public void updateBookAndAdviserToES(List<Long> bookIds) { public void updateBookAndAdviserToES(List<Long> bookIds) {
if(bookIds==null){ if (ListUtils.isEmpty(bookIds)) {
return; return;
} }
try { try {
...@@ -185,16 +185,19 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -185,16 +185,19 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
public Page<ESBookAndAdviser> getESAdviserBooks4Applet(String grayStatus, String keyword, List<Long> templetIds, List<Long> graLabelIds, List<Long> subLabelIds, Integer currentPage, Integer numPerPage, List<Long> scecondTempletIds) { public Page<ESBookAndAdviser> getESAdviserBooks4Applet(String grayStatus, String keyword, List<Long> templetIds, List<Long> graLabelIds, List<Long> subLabelIds, Integer currentPage, Integer numPerPage, List<Long> scecondTempletIds) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery() BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.filter(QueryBuilders.termQuery("isBookDelete", 0)) .filter(QueryBuilders.termQuery("isBookDelete", 0))
.filter(ListUtils.isEmpty(templetIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("templetId", templetIds)) .filter(ListUtils.isEmpty(templetIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("templetId", templetIds));
.filter(ListUtils.isEmpty(graLabelIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("graLabelId", graLabelIds))
.filter(ListUtils.isEmpty(subLabelIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("subLabelId", subLabelIds))
.filter(ListUtils.isEmpty(scecondTempletIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("secondTempletId", scecondTempletIds));
BoolQueryBuilder should = QueryBuilders.boolQuery() BoolQueryBuilder should = QueryBuilders.boolQuery()
.should(StringUtil.isEmpty(keyword) ? QueryBuilders.boolQuery() : QueryBuilders.wildcardQuery("bookName", keyword)) .should(StringUtil.isEmpty(keyword) ? QueryBuilders.boolQuery() : QueryBuilders.wildcardQuery("bookName", keyword))
.should(StringUtil.isEmpty(keyword) ? QueryBuilders.boolQuery() : QueryBuilders.wildcardQuery("isbn", "*" + keyword + "*")); .should(StringUtil.isEmpty(keyword) ? QueryBuilders.boolQuery() : QueryBuilders.wildcardQuery("isbn", "*" + keyword + "*"));
BoolQueryBuilder should1 = QueryBuilders.boolQuery() BoolQueryBuilder should1 = QueryBuilders.boolQuery()
.should(QueryBuilders.termQuery("isBookAdviserDelete", 0)) .should(QueryBuilders.termQuery("isBookAdviserDelete", 0))
.should(QueryBuilders.termQuery("isAdviserBook", 0)); .should(QueryBuilders.termQuery("isAdviserBook", 0));
//(年级&&科目)||二级分类
BoolQueryBuilder must1 = QueryBuilders.boolQuery()
.filter(ListUtils.isEmpty(graLabelIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("graLabelId", graLabelIds))
.filter(ListUtils.isEmpty(subLabelIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("subLabelId", subLabelIds));
BoolQueryBuilder must2 = QueryBuilders.boolQuery().filter(ListUtils.isEmpty(scecondTempletIds) ? QueryBuilders.boolQuery() : QueryBuilders.termsQuery("secondTempletId", scecondTempletIds));
BoolQueryBuilder should2 = QueryBuilders.boolQuery().should(must1).should(must2);
// 审核通过之后屏蔽掉测试编辑的书刊 // 审核通过之后屏蔽掉测试编辑的书刊
BoolQueryBuilder adviserIdBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder adviserIdBuilder = QueryBuilders.boolQuery();
if (YesOrNoEnums.YES.getCode().equals(grayStatus)) { if (YesOrNoEnums.YES.getCode().equals(grayStatus)) {
...@@ -219,6 +222,15 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz { ...@@ -219,6 +222,15 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
} }
boolQueryBuilder.must(should); boolQueryBuilder.must(should);
boolQueryBuilder.must(should1); boolQueryBuilder.must(should1);
if (!ListUtils.isEmpty(scecondTempletIds)) {
if (ListUtils.isEmpty(graLabelIds) && ListUtils.isEmpty(subLabelIds)) {
boolQueryBuilder.must(must2);
} else {
boolQueryBuilder.must(should2);
}
} else if (!ListUtils.isEmpty(graLabelIds) || !ListUtils.isEmpty(subLabelIds)) {
boolQueryBuilder.must(must1);
}
Sort sort = new Sort(Sort.Direction.DESC, "bookUserCount", "resourceCount", "isAdviserBook", "lastModifiedDate", "bookId"); Sort sort = new Sort(Sort.Direction.DESC, "bookUserCount", "resourceCount", "isAdviserBook", "lastModifiedDate", "bookId");
PageRequest pageRequest = new PageRequest(currentPage, numPerPage, sort); PageRequest pageRequest = new PageRequest(currentPage, numPerPage, sort);
Page<ESBookAndAdviser> search = bookAndAdviserRepository.search(boolQueryBuilder, pageRequest); Page<ESBookAndAdviser> search = bookAndAdviserRepository.search(boolQueryBuilder, pageRequest);
......
...@@ -217,7 +217,7 @@ ...@@ -217,7 +217,7 @@
GROUP BY book_id, adviser_id, channel_id GROUP BY book_id, adviser_id, channel_id
</select> </select>
<select id="getBookIdsByIds" resultType="long" parameterType="list"> <select id="getBookIdsByIds" resultType="long" parameterType="map">
SELECT DISTINCT book_id SELECT DISTINCT book_id
FROM applet_user_bookcase FROM applet_user_bookcase
WHERE id in WHERE id in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment