Commit 27aaf7e2 by 田超

Merge branch 'feature/1005686' into 'master'

feat: [1005686] book慢sql优化

See merge request rays/pcloud-book!1434
parents 7731ab3b c437368b
package com.pcloud.book.book.biz.impl; package com.pcloud.book.book.biz.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
...@@ -1953,7 +1954,14 @@ public class BookAdviserBizImpl implements BookAdviserBiz { ...@@ -1953,7 +1954,14 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
if(CollectionUtils.isEmpty(bookIds) || CollectionUtils.isEmpty(adviserIds) || CollectionUtils.isEmpty(channelIds)){ if(CollectionUtils.isEmpty(bookIds) || CollectionUtils.isEmpty(adviserIds) || CollectionUtils.isEmpty(channelIds)){
return new HashMap<>(); return new HashMap<>();
} }
List<BookAdviserDto> bookAdviserDtos = bookAdviserDao.getBookInfoByBookIds(bookIds, adviserIds, channelIds); bookIds=CollUtil.distinct(bookIds);
List<Long> setAdviserIds = CollUtil.distinct(adviserIds);
List<Long> setChannelIds=CollUtil.distinct(channelIds);
List<BookAdviserDto> bookAdviserDtos = bookAdviserDao.getBookInfoByBookIds(bookIds, null, null);
if(CollectionUtils.isEmpty(bookAdviserDtos)){
return new HashMap<>();
}
bookAdviserDtos = bookAdviserDtos.stream().filter(a -> CollUtil.contains(setAdviserIds, a.getAdviserId()) && CollUtil.contains(setChannelIds, a.getChannelId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(bookAdviserDtos)){ if(CollectionUtils.isEmpty(bookAdviserDtos)){
return new HashMap<>(); return new HashMap<>();
} }
......
...@@ -857,14 +857,14 @@ ...@@ -857,14 +857,14 @@
<foreach collection="bookIds" index="i" item="item" open="(" separator="," close=")"> <foreach collection="bookIds" index="i" item="item" open="(" separator="," close=")">
${item} ${item}
</foreach> </foreach>
AND ADVISER_ID IN <!-- AND ADVISER_ID IN
<foreach collection="adviserIds" index="i" item="item" open="(" separator="," close=")"> <foreach collection="adviserIds" index="i" item="item" open="(" separator="," close=")">
${item} ${item}
</foreach> </foreach>
AND CHANNEL_ID IN AND CHANNEL_ID IN
<foreach collection="channelIds" index="i" item="item" open="(" separator="," close=")"> <foreach collection="channelIds" index="i" item="item" open="(" separator="," close=")">
${item} ${item}
</foreach> </foreach>-->
</select> </select>
......
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