Commit fedc6ac2 by 田超

Merge branch 'feature/1004084' into 'master'

feat: [1004084] 第2阶段小优化

See merge request rays/pcloud-book!1127
parents f16b1ef5 d190e694
......@@ -2326,6 +2326,11 @@ public class BookBizImpl implements BookBiz {
bookDto.setAreaLabelId(esBookAndAdviser.getAreaLabelId());
bookDto.setVerLabelId(esBookAndAdviser.getVerLabelId());
bookDto.setRightsSettingId(esBookAndAdviser.getRightsSettingId());
if (null != esBookAndAdviser.getHasAnswer() && esBookAndAdviser.getHasAnswer()==1) {
bookDto.setHasAnswer(true);
} else {
bookDto.setHasAnswer(false);
}
bookDtos.add(bookDto);
}
return bookDtos;
......@@ -3627,6 +3632,7 @@ public class BookBizImpl implements BookBiz {
}
bookDto.setSubscribeState(subscribeState);
}
bookSet.setLabelNames(bookDtos);
PageBeanNew<BookDto> page = new PageBeanNew<>(currentPage, numPerPage, (int) esPage.getTotalElements(), bookDtos);
return page;
}
......
......@@ -14,6 +14,7 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.book.es.entity.ESBookAndAdviser;
import com.pcloud.book.es.repository.BookAndAdviserRepository;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.constants.RightsSettingConstant;
......@@ -22,6 +23,7 @@ import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.book.util.common.YesOrNoEnums;
import com.pcloud.book.util.properties.BookProps;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.enums.AppTypeEnum;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.facade.tradecenter.dto.BookIncomeQueryVo;
......@@ -51,6 +53,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @Description
......@@ -113,8 +116,6 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
}
private void fillInfo(List<ESBookAndAdviser> list, List<Long> bookIds){
//书刊访问量
// Map<String, Integer> userCountMap = appletUserBookcaseBiz.mapBookUserCountList(bookIds);
//书刊资源数量(二维码)
Map<String, Integer> resourceCountMap = qrcodeSceneConsr.mapServeCount4Applet(bookIds);
//书刊资源数量(社群书)
......@@ -151,9 +152,6 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
for (ESBookAndAdviser bookAndAdviser : list){
String key = bookAndAdviser.getBookId() + "-" + bookAndAdviser.getAdviserId() + "-" + bookAndAdviser.getChannelId();
Integer resourceCount=0;
// if (!MapUtils.isEmpty(userCountMap) && userCountMap.containsKey(key)){
// bookAndAdviser.setBookUserCount(userCountMap.get(key));
// }
if (!MapUtils.isEmpty(resourceCountMap) && resourceCountMap.containsKey(key)){
resourceCount = resourceCountMap.get(key);
}
......@@ -182,13 +180,13 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
if(!MapUtils.isEmpty(erpBookApprovalMap) && erpBookApprovalMap.containsKey(key)){
bookAndAdviser.setIsApproval(erpBookApprovalMap.get(key).getIsApproval());
}
Long adviserId = Long.valueOf(bookAndAdviser.getAdviserId());
Long bookId = Long.valueOf(bookAndAdviser.getBookId());
Long channelId = Long.valueOf(bookAndAdviser.getChannelId());
//权益
Long rightsSettingId = 0L;
Integer joinGroupType = bookAndAdviser.getJoinGroupType();
if (null != joinGroupType && JoinGroupTypeEnum.XIAORUI.getCode().equals(joinGroupType)){
Long adviserId = Long.valueOf(bookAndAdviser.getAdviserId());
Long bookId = Long.valueOf(bookAndAdviser.getBookId());
Long channelId = Long.valueOf(bookAndAdviser.getChannelId());
if (adviserId>0 && bookId>0 && channelId>0){
RightsSettingDto rightsSettingDto = rightsSettingBiz.getRightsSettingByBookId4AppletHome(bookId,adviserId,channelId);
if (null != rightsSettingDto && null != rightsSettingDto.getId()){
......@@ -199,6 +197,19 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
}
}
bookAndAdviser.setRightsSettingId(rightsSettingId);
//标记是否有答案
List<BookServeDTO> bookServeVOS = bookGroupBiz.getBookAndBookGroupServeIds(adviserId, bookId, channelId);
bookGroupBiz.removeCanNotBuy(bookServeVOS);
bookGroupBiz.fillBookServe(bookServeVOS);
Integer hasAnswer = 0;
if (!ListUtils.isEmpty(bookServeVOS)) {
List<BookServeDTO> answerList = bookServeVOS.stream().
filter(s -> s.getServeName().contains("答案") || s.getFromType().equals(AppTypeEnum.ANSWER.value)).collect(Collectors.toList());
if (!ListUtils.isEmpty(answerList)) {
hasAnswer = 1;
}
}
bookAndAdviser.setHasAnswer(hasAnswer);
}
}
......
......@@ -2,7 +2,6 @@ package com.pcloud.book.es.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
......@@ -10,7 +9,6 @@ import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldIndex;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -169,4 +167,8 @@ public class ESBookAndAdviser {
* 书刊序号
*/
private String serialNumber;
/**
* 是否配有答案
*/
private Integer hasAnswer;
}
......@@ -1067,6 +1067,9 @@
AND create_user=#{adviserId}
AND CHANNEL_ID=#{channelId}
and is_delete=0
ORDER BY
join_group_type DESC
LIMIT 1
</select>
<update id="updateRelatedBookGroup" parameterType="map">
......
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