Commit 730ffc55 by 田超

Merge branch 'feat-zy-1002770' into 'master'

接口返回值加上小睿分类id

See merge request rays/pcloud-book!642
parents a2efb29e 9dcb2ae5
......@@ -13,11 +13,8 @@ import com.pcloud.book.applet.entity.AppletBooklistClassify;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dao.BookRaysClassifyDao;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.BookRaysClassify;
import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils;
......@@ -177,16 +174,8 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
private void fillAgentTempletName(List<BookDTO4Booklist> list) {
List<Long> adviserIds=list.stream().filter(s->s.getAdviserId()!=null).map(BookDTO4Booklist::getAdviserId).distinct().collect(Collectors.toList());
List<Long> classifyTempletIds = list.stream().filter(s -> s.getJoinGroupType() != null && JoinGroupTypeEnum.XIAORUI.getCode().equals(s.getJoinGroupType())).map(s -> s.getTempletId()).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> infoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
List<Long> templetIds = new ArrayList<>();
Map<Integer,Integer> classifyMap=new HashMap<>();
if(!ListUtils.isEmpty(classifyTempletIds)){
List<BookRaysClassify> listByIds = bookRaysClassifyDao.getClassifyListByIds(classifyTempletIds);
if(!ListUtils.isEmpty(listByIds)){
classifyMap=listByIds.stream().collect(Collectors.toMap(a->a.getBookTemplateId(),a->a.getRaysClassifyId(),(k1,k2)->k2));
}
}
list.forEach(dto4Booklist -> {
if (Objects.nonNull(dto4Booklist.getTempletId())) {
templetIds.add(dto4Booklist.getTempletId());
......@@ -214,9 +203,6 @@ public class AppletBooklistBizImpl implements AppletBooklistBiz {
dto4Booklist.setAgentName(infoDto.getAgentName());
}
}
if (!MapUtils.isEmpty(classifyMap) && null!=dto4Booklist.getTempletId() && classifyMap.containsKey(dto4Booklist.getTempletId().intValue())){
dto4Booklist.setClassifyId(classifyMap.get(dto4Booklist.getTempletId().intValue()));
}
}
}
......
......@@ -6,17 +6,20 @@ import com.pcloud.book.applet.dao.AppletUserBookcaseDao;
import com.pcloud.book.applet.dto.AppletUserBookcaseDTO;
import com.pcloud.book.applet.entity.AppletUserBookcase;
import com.pcloud.book.applet.entity.AppletUserClickRecord;
import com.pcloud.book.book.dao.BookRaysClassifyDao;
import com.pcloud.book.book.entity.BookRaysClassify;
import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.channelcenter.wechat.vo.BookServeVO;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
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 org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -43,6 +46,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
private AssistTempletConsr assistTempletConsr;
@Autowired
private BookGroupBiz bookGroupBiz;
@Autowired
private BookRaysClassifyDao bookRaysClassifyDao;
@Override
public void addUserBook(AppletUserBookcase appletUserBookcase) {
......@@ -136,6 +141,14 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
templetIds.add(dto.getSecondTempletId());
}
});
List<Long> classifyTempletIds = recordList.stream().filter(s -> s.getJoinGroupType() != null && JoinGroupTypeEnum.XIAORUI.getCode().equals(s.getJoinGroupType())).map(s -> s.getTempletId()).distinct().collect(Collectors.toList());
Map<Integer,Integer> classifyMap=new HashMap<>();
if(!ListUtils.isEmpty(classifyTempletIds)){
List<BookRaysClassify> listByIds = bookRaysClassifyDao.getClassifyListByIds(classifyTempletIds);
if(!ListUtils.isEmpty(listByIds)){
classifyMap=listByIds.stream().collect(Collectors.toMap(a->a.getBookTemplateId(),a->a.getRaysClassifyId(),(k1,k2)->k2));
}
}
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds(templetIds);
for (AppletUserBookcaseDTO bookcaseDTO:recordList){
Long secondTempletId = bookcaseDTO.getSecondTempletId();
......@@ -148,6 +161,9 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
AssistTempletDTO templetDTO = assistTempletDTOMap.get(templetId);
bookcaseDTO.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
}
if (!MapUtils.isEmpty(classifyMap) && null!=bookcaseDTO.getTempletId() && classifyMap.containsKey(bookcaseDTO.getTempletId().intValue())){
bookcaseDTO.setClassifyId(classifyMap.get(bookcaseDTO.getTempletId().intValue()));
}
}
}
......
......@@ -50,4 +50,8 @@ public class AppletUserBookcaseDTO extends BaseDto {
@ApiModelProperty("二级分类名")
private String secondTempletName;
private Integer joinGroupType;
private Integer classifyId;
}
......@@ -201,12 +201,10 @@
A.TEMPLET_ID templetId,
A.SECOND_TEMPLET_ID secondTempletId,
B.ISBN isbn,
CONCAT('BK',A.BOOK_ID) uniqueNumber,
c.join_group_type joinGroupType
CONCAT('BK',A.BOOK_ID) uniqueNumber
FROM
BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
INNER JOIN book_group C ON A.BOOK_ID = C.BOOK_ID AND A.ADVISER_ID = C.create_user and A.CHANNEL_ID=C.CHANNEL_ID AND A.IS_DELETE = 0 AND C.IS_DELETE = 0
WHERE
A.BOOK_ID=#{bookId}
AND A.ADVISER_ID=#{adviserId}
......
......@@ -34,11 +34,13 @@
b.AUTHOR author,
b.PUBLISH publish,
a.SECOND_TEMPLET_ID secondTempletId,
a.TEMPLET_ID templetId
a.TEMPLET_ID templetId,
d.join_group_type joinGroupType
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 AND a.IS_DELETE = 0
INNER JOIN BOOK b ON c.BOOK_ID = b.BOOK_ID AND b.IS_DELETE = 0
INNER JOIN book_group d ON d.BOOK_ID = a.BOOK_ID and d.create_user=c.adviser_id and d.channel_id=c.channel_id AND d.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