Commit cd37f030 by 郑勇

feat:[relateBook] erp关联rays书刊

parent 72887824
...@@ -9,6 +9,7 @@ import java.util.List; ...@@ -9,6 +9,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; 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.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.BookRightsSettingDTO; import com.pcloud.book.book.dto.BookRightsSettingDTO;
import com.pcloud.book.book.vo.QrCodeVO; import com.pcloud.book.book.vo.QrCodeVO;
...@@ -23,6 +24,8 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz; ...@@ -23,6 +24,8 @@ import com.pcloud.book.es.biz.ESBookAndAdviserBiz;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException; import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO; import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto; import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -72,6 +75,8 @@ import com.pcloud.common.utils.DateUtils; ...@@ -72,6 +75,8 @@ import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.raystask.entity.AdviserDefault; 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 { ...@@ -127,6 +132,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
@Autowired @Autowired
private ESBookAndAdviserBiz esBookAndAdviserBiz; private ESBookAndAdviserBiz esBookAndAdviserBiz;
@Autowired
private BookFundBiz bookFundBiz;
@Override @Override
public List<BookDto> listByAdviserId(Long adviserId) { public List<BookDto> listByAdviserId(Long adviserId) {
if(null == adviserId) { if(null == adviserId) {
...@@ -842,11 +850,30 @@ public class BookAdviserBizImpl implements BookAdviserBiz { ...@@ -842,11 +850,30 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
List<ErpAdviserBookVO> bookVOS = pageBeanNew.getRecordList(); List<ErpAdviserBookVO> bookVOS = pageBeanNew.getRecordList();
if(!CollectionUtils.isEmpty(bookVOS)) { if(!CollectionUtils.isEmpty(bookVOS)) {
List<Long> adviserIds = bookVOS.stream().filter(s -> s.getAdviserId() != null).map(ErpAdviserBookVO::getAdviserId).distinct().collect(Collectors.toList()); 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) { for (ErpAdviserBookVO bookVO : bookVOS) {
Long adviserId = bookVO.getAdviserId(); Long adviserId = bookVO.getAdviserId();
if(adviserId != null && adviserNameMap.containsKey(adviserId)) { if(adviserId != null && MapUtils.isNotEmpty(userLoginInfoMap) && userLoginInfoMap.containsKey(adviserId)) {
bookVO.setAdviserName(adviserNameMap.get(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 { ...@@ -41,4 +41,17 @@ public class ErpAdviserBookVO implements Serializable {
@ApiModelProperty("编辑名称") @ApiModelProperty("编辑名称")
private String adviserName; 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; ...@@ -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.dto.AdviserBaseInfoDto;
import com.pcloud.usercenter.party.adviser.entity.Adviser; import com.pcloud.usercenter.party.adviser.entity.Adviser;
import com.pcloud.usercenter.party.adviser.service.AdviserService; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -19,6 +21,8 @@ import org.springframework.stereotype.Component; ...@@ -19,6 +21,8 @@ import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/** /**
* @描述:顾问用户中间类 * @描述:顾问用户中间类
...@@ -36,6 +40,9 @@ public class AdviserConsr { ...@@ -36,6 +40,9 @@ public class AdviserConsr {
@Autowired @Autowired
private AdviserService adviserService; private AdviserService adviserService;
@Autowired
private PartyService partyService;
/** /**
* 获取顾问名称 * 获取顾问名称
*/ */
...@@ -124,6 +131,26 @@ public class AdviserConsr { ...@@ -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 * @param agentId
......
...@@ -606,7 +606,8 @@ ...@@ -606,7 +606,8 @@
b.BOOK_NAME bookName, b.BOOK_NAME bookName,
b.COVER_IMG coverImg, b.COVER_IMG coverImg,
b.ISBN isbn, b.ISBN isbn,
CONCAT('BK', ba.BOOK_ID) uniqueNumber CONCAT('BK', ba.BOOK_ID) uniqueNumber,
ba.BOOK_ADVISER_ID bookAdviserId
FROM FROM
`book_adviser` ba `book_adviser` ba
LEFT JOIN book b ON ba.BOOK_ID = b.BOOK_ID LEFT JOIN book b ON ba.BOOK_ID = b.BOOK_ID
...@@ -614,7 +615,7 @@ ...@@ -614,7 +615,7 @@
ba.IS_DELETE = 0 ba.IS_DELETE = 0
AND b.IS_DELETE = 0 AND b.IS_DELETE = 0
<if test="isbn != null"> <if test="isbn != null">
AND b.ISBN LIKE CONCAT('%', #{isbn}, '%') AND (b.ISBN =#{isbn} or b.BOOK_NAME LIKE CONCAT('%', #{isbn}, '%'))
</if> </if>
<if test="uniqueNumber != null"> <if test="uniqueNumber != null">
AND CONCAT('BK', ba.BOOK_ID) LIKE CONCAT('%', #{uniqueNumber}, '%') 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