Commit cd37f030 by 郑勇

feat:[relateBook] erp关联rays书刊

parent 72887824
......@@ -9,6 +9,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.BookRightsSettingDTO;
import com.pcloud.book.book.vo.QrCodeVO;
......@@ -23,6 +24,8 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -72,6 +75,8 @@ import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.raystask.entity.AdviserDefault;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.pcloud.usercenter.user.entity.UserLogin;
/**
* @描述:编辑管理书籍逻辑层接口实现类
......@@ -127,6 +132,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
@Autowired
private ESBookAndAdviserBiz esBookAndAdviserBiz;
@Autowired
private BookFundBiz bookFundBiz;
@Override
public List<BookDto> listByAdviserId(Long adviserId) {
if(null == adviserId) {
......@@ -842,11 +850,30 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
List<ErpAdviserBookVO> bookVOS = pageBeanNew.getRecordList();
if(!CollectionUtils.isEmpty(bookVOS)) {
List<Long> adviserIds = bookVOS.stream().filter(s -> s.getAdviserId() != null).map(ErpAdviserBookVO::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, String> adviserNameMap = adviserConsr.getNames(adviserIds);
List<Long> channelIds = bookVOS.stream().filter(s -> s.getChannelId() != null).map(ErpAdviserBookVO::getChannelId).distinct().collect(Collectors.toList());
List<Long> bookIds = bookVOS.stream().filter(s -> s.getBookId() != null).map(ErpAdviserBookVO::getBookId).distinct().collect(Collectors.toList());
Map<Long, UserLogin> userLoginInfoMap= adviserConsr.getUserLoginInfoList(adviserIds);
Map<Long, AdviserBaseInfoDto> adviserAgentMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
Map<Long, String> channelNameMap = channelConsr.getNamesByIdList(channelIds);
List<Long> list = bookFundBiz.listHaveFundBooks(bookIds);
for (ErpAdviserBookVO bookVO : bookVOS) {
Long adviserId = bookVO.getAdviserId();
if(adviserId != null && adviserNameMap.containsKey(adviserId)) {
bookVO.setAdviserName(adviserNameMap.get(adviserId));
if(adviserId != null && MapUtils.isNotEmpty(userLoginInfoMap) && userLoginInfoMap.containsKey(adviserId)) {
UserLogin userLogin = userLoginInfoMap.get(adviserId);
bookVO.setAdviserAccount(userLogin!=null ? userLogin.getUserName() :null);
bookVO.setAdviserPwd(userLogin!=null ? userLogin.getCurrentPassword() :null);
}
if(adviserId != null && MapUtils.isNotEmpty(adviserAgentMap) && adviserAgentMap.containsKey(adviserId)) {
AdviserBaseInfoDto adviserBaseInfoDto = adviserAgentMap.get(adviserId);
bookVO.setAgentName(null!=adviserBaseInfoDto ? adviserBaseInfoDto.getAgentName() :"--");
bookVO.setAdviserName(null!=adviserBaseInfoDto ? adviserBaseInfoDto.getPartyName() :"--");
}
if(bookVO.getChannelId() != null && MapUtils.isNotEmpty(channelNameMap) && channelNameMap.containsKey(bookVO.getChannelId())) {
bookVO.setChannelName(channelNameMap.get(bookVO.getChannelId()));
}
bookVO.setIsFundSupport(false);
if(!ListUtils.isEmpty(list) && list.contains(bookVO.getBookId())) {
bookVO.setIsFundSupport(true);
}
}
}
......
......@@ -41,4 +41,17 @@ public class ErpAdviserBookVO implements Serializable {
@ApiModelProperty("编辑名称")
private String adviserName;
private Long bookAdviserId;
private String channelName;
@ApiModelProperty("编辑所属出版社")
private String agentName;
private Boolean isFundSupport;
private String adviserAccount;
private String adviserPwd;
}
......@@ -10,6 +10,8 @@ import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.pcloud.usercenter.party.adviser.entity.Adviser;
import com.pcloud.usercenter.party.adviser.service.AdviserService;
import com.pcloud.usercenter.party.common.service.PartyService;
import com.pcloud.usercenter.user.entity.UserLogin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -19,6 +21,8 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/**
* @描述:顾问用户中间类
......@@ -36,6 +40,9 @@ public class AdviserConsr {
@Autowired
private AdviserService adviserService;
@Autowired
private PartyService partyService;
/**
* 获取顾问名称
*/
......@@ -124,6 +131,26 @@ public class AdviserConsr {
}
/**
* 获取编辑登录信息
*/
public Map<Long, UserLogin> getUserLoginInfoList(List<Long> adviserIds) throws BizException {
if (ListUtils.isEmpty(adviserIds)) {
return null;
}
Map<Long, UserLogin> resultMap = null;
try {
List<UserLogin> adviser = ResponseHandleUtil.parseList(partyService.getUserLoginInfoList(adviserIds, "1", "adviser"),
UserLogin.class);
if(!ListUtils.isEmpty(adviser)){
resultMap = adviser.stream().collect(Collectors.toMap(a -> a.getPartyId(), a -> a, (k1, k2) -> k2));
}
} catch (Exception e) {
LOGGER.error("获取编辑登录信息.[getAdviserId2AdviserInfoDtoMap]:" + e.getMessage(), e);
}
return resultMap;
}
/**
* 根据代理标识获取编辑标识列表
*
* @param agentId
......
......@@ -606,7 +606,8 @@
b.BOOK_NAME bookName,
b.COVER_IMG coverImg,
b.ISBN isbn,
CONCAT('BK', ba.BOOK_ID) uniqueNumber
CONCAT('BK', ba.BOOK_ID) uniqueNumber,
ba.BOOK_ADVISER_ID bookAdviserId
FROM
`book_adviser` ba
LEFT JOIN book b ON ba.BOOK_ID = b.BOOK_ID
......@@ -614,7 +615,7 @@
ba.IS_DELETE = 0
AND b.IS_DELETE = 0
<if test="isbn != null">
AND b.ISBN LIKE CONCAT('%', #{isbn}, '%')
AND (b.ISBN =#{isbn} or b.BOOK_NAME LIKE CONCAT('%', #{isbn}, '%'))
</if>
<if test="uniqueNumber != null">
AND CONCAT('BK', ba.BOOK_ID) LIKE CONCAT('%', #{uniqueNumber}, '%')
......
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