Commit 7e64b7af by zhuyajie

接口优化/book/v1.0/appletHome/listUserBookcaseByWechatUserId

parent 2636eedf
......@@ -15,6 +15,7 @@ import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import org.apache.commons.collections.MapUtils;
......@@ -48,10 +49,27 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
@Override
public void addUserBook(AppletUserBookcase appletUserBookcase) {
appletUserBookcaseDao.insert(appletUserBookcase);
Long wechatUserId = appletUserBookcase.getWechatUserId();
String key = "BOOK:APPLET:listByWechatUserId"+wechatUserId;
String countKey = "BOOK:APPLET:listByWechatUserId-count"+wechatUserId;
JedisClusterUtils.del(key);
JedisClusterUtils.del(countKey);
}
@Override
public PageBeanNew<AppletUserBookcaseDTO> listByWechatUserId(Long wechatUserId, Integer currentPage, Integer numPerPage) {
String key = "BOOK:APPLET:listByWechatUserId"+wechatUserId;
String field = currentPage+"-"+numPerPage;
String countKey = "BOOK:APPLET:listByWechatUserId-count"+wechatUserId;
List<AppletUserBookcaseDTO> bookcaseDTOS = JedisClusterUtils.hgetJson2List(key,field,AppletUserBookcaseDTO.class);
Integer count =0;
String countStr = JedisClusterUtils.get(countKey);
if (!StringUtil.isEmpty(countStr)){
count = Integer.valueOf(countStr);
}
if (!ListUtils.isEmpty(bookcaseDTOS) && count>0){
return new PageBeanNew<>(currentPage,numPerPage,count,bookcaseDTOS);
}
Map<String,Object> map = new HashMap<>();
map.put("wechatUserId",wechatUserId);
PageBeanNew<AppletUserBookcaseDTO> pageBeanNew = appletUserBookcaseDao.listPageNew(
......@@ -59,7 +77,9 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
if (null == pageBeanNew || ListUtils.isEmpty(pageBeanNew.getRecordList())){
return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>());
}
fillTempletNameAgentName(pageBeanNew.getRecordList());
fillTempletName(pageBeanNew.getRecordList());
JedisClusterUtils.hset2Json(key,field,pageBeanNew.getRecordList());
JedisClusterUtils.set(countKey,String.valueOf(pageBeanNew.getTotalCount()));
return pageBeanNew;
}
......@@ -108,9 +128,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
return map;
}
private void fillTempletNameAgentName(List<AppletUserBookcaseDTO> recordList) {
List<Long> adviserIds=recordList.stream().filter(s->s.getAdviserId()!=null).map(AppletUserBookcaseDTO::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> infoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
private void fillTempletName(List<AppletUserBookcaseDTO> recordList) {
List<Long> templetIds = new ArrayList<>();
recordList.forEach(dto -> {
if (Objects.nonNull(dto.getTempletId())) {
......@@ -132,13 +150,6 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
AssistTempletDTO templetDTO = assistTempletDTOMap.get(templetId);
bookcaseDTO.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
}
Long adviserId=bookcaseDTO.getAdviserId();
if (!MapUtils.isEmpty(infoDtoMap) && infoDtoMap.containsKey(adviserId)){
AdviserBaseInfoDto infoDto = infoDtoMap.get(adviserId);
if (infoDto!=null){
bookcaseDTO.setAgentName(infoDto.getAgentName());
}
}
}
}
......
......@@ -137,8 +137,9 @@
FROM
applet_booklist_config c
LEFT JOIN applet_booklist ap ON c.booklist_id=ap.id
LEFT JOIN BOOK_ADVISER A ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID AND c.channel_id=a.CHANNEL_ID
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
LEFT JOIN BOOK_ADVISER A ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID
AND c.channel_id=a.CHANNEL_ID AND A.IS_DELETE = 0
INNER JOIN BOOK B ON c.book_id = B.BOOK_ID AND B.IS_DELETE = 0
WHERE
c.booklist_id=#{booklistId}
ORDER BY c.seq ASC
......
......@@ -36,8 +36,9 @@
a.SECOND_TEMPLET_ID secondTempletId,
a.TEMPLET_ID templetId
FROM applet_user_bookcase c
LEFT JOIN BOOK_ADVISER a ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID AND c.channel_id=a.CHANNEL_ID
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND a.IS_DELETE = 0 AND b.IS_DELETE = 0
LEFT JOIN BOOK_ADVISER a ON c.book_id=a.BOOK_ID AND c.adviser_id=a.ADVISER_ID
AND c.channel_id=a.CHANNEL_ID AND a.IS_DELETE = 0
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND b.IS_DELETE = 0
WHERE c.wechat_user_id=#{wechatUserId}
GROUP BY c.book_id,c.adviser_id,c.channel_id
ORDER BY c.create_time DESC
......
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