Commit 6bec7976 by 朱亚洁

pc端小需求

parent 12d46616
...@@ -553,6 +553,11 @@ public class BookDto extends BaseDto { ...@@ -553,6 +553,11 @@ public class BookDto extends BaseDto {
*/ */
private BigDecimal outRate; private BigDecimal outRate;
/**
* 编辑手机号
*/
private String phone;
public String getQrRemark() { public String getQrRemark() {
return qrRemark; return qrRemark;
} }
...@@ -1477,6 +1482,14 @@ public class BookDto extends BaseDto { ...@@ -1477,6 +1482,14 @@ public class BookDto extends BaseDto {
this.outRate = outRate; this.outRate = outRate;
} }
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override @Override
public String toString() { public String toString() {
return "BookDto{" + return "BookDto{" +
...@@ -1484,6 +1497,7 @@ public class BookDto extends BaseDto { ...@@ -1484,6 +1497,7 @@ public class BookDto extends BaseDto {
", typeCode='" + typeCode + '\'' + ", typeCode='" + typeCode + '\'' +
", typeName='" + typeName + '\'' + ", typeName='" + typeName + '\'' +
", isbn='" + isbn + '\'' + ", isbn='" + isbn + '\'' +
", isDelete=" + isDelete +
", bookName='" + bookName + '\'' + ", bookName='" + bookName + '\'' +
", bookPrice='" + bookPrice + '\'' + ", bookPrice='" + bookPrice + '\'' +
", originName='" + originName + '\'' + ", originName='" + originName + '\'' +
...@@ -1587,6 +1601,7 @@ public class BookDto extends BaseDto { ...@@ -1587,6 +1601,7 @@ public class BookDto extends BaseDto {
", avgBrowseTimes=" + avgBrowseTimes + ", avgBrowseTimes=" + avgBrowseTimes +
", outNum=" + outNum + ", outNum=" + outNum +
", outRate=" + outRate + ", outRate=" + outRate +
", phone='" + phone + '\'' +
'}'; '}';
} }
} }
...@@ -200,7 +200,7 @@ public interface BookBiz { ...@@ -200,7 +200,7 @@ public interface BookBiz {
* @return * @return
* @throws BizException * @throws BizException
*/ */
PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException; PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId, Integer hasQrcode) throws BizException;
/** /**
* 首页展示正在做的图书 * 首页展示正在做的图书
......
...@@ -37,6 +37,7 @@ import com.pcloud.book.book.dto.BookNameUpdateDTO; ...@@ -37,6 +37,7 @@ import com.pcloud.book.book.dto.BookNameUpdateDTO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser; import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.set.BookSet; import com.pcloud.book.book.set.BookSet;
import com.pcloud.book.book.tools.BookTools;
import com.pcloud.book.book.vo.ListNoAuthBookParam; import com.pcloud.book.book.vo.ListNoAuthBookParam;
import com.pcloud.book.consumer.analysisengine.SceneRecordConsr; import com.pcloud.book.consumer.analysisengine.SceneRecordConsr;
import com.pcloud.book.consumer.app.AssistTempletConsr; import com.pcloud.book.consumer.app.AssistTempletConsr;
...@@ -725,12 +726,24 @@ public class BookBizImpl implements BookBiz { ...@@ -725,12 +726,24 @@ public class BookBizImpl implements BookBiz {
* 获取书籍列表(编辑) * 获取书籍列表(编辑)
*/ */
@Override @Override
public PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException { public PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId, Integer hasQrcode) throws BizException {
LOGGER.info("【书籍应用】获取书籍列表,<START>.[paramMap]=" + paramMap.toString()); LOGGER.info("【书籍应用】获取书籍列表,<START>.[paramMap]=" + paramMap.toString());
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser"); PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) { if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean(0, 0, new ArrayList<>()); return new PageBean(0, 0, new ArrayList<>());
} }
if (null != hasQrcode && 1 == hasQrcode) {
List<Long> channelIds = BookTools.listChannelIds(pageBean.getRecordList());
List<com.pcloud.channelcenter.qrcode.dto.BookDto> bookIds = qrcodeSceneConsr.getQrcodeBookIds(channelIds, adviserId);
if (ListUtils.isEmpty(bookIds)){
return new PageBean(0, 0, new ArrayList<>());
}
paramMap.put("bookIds", bookIds);
pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean(0, 0, new ArrayList<>());
}
}
// 填充渠道基础信息 // 填充渠道基础信息
bookSet.setChannelInfoList(pageBean.getRecordList()); bookSet.setChannelInfoList(pageBean.getRecordList());
bookSet.setBookSvUvPv4Object(pageBean.getRecordList()); bookSet.setBookSvUvPv4Object(pageBean.getRecordList());
...@@ -1261,8 +1274,8 @@ public class BookBizImpl implements BookBiz { ...@@ -1261,8 +1274,8 @@ public class BookBizImpl implements BookBiz {
LOGGER.info("图书列表(平台端)<START>,paramMap=" + paramMap); LOGGER.info("图书列表(平台端)<START>,paramMap=" + paramMap);
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "listBookClassify", "listBookClassifyCount"); PageBean pageBean = bookDao.listPage(pageParam, paramMap, "listBookClassify", "listBookClassifyCount");
if (pageBean != null) { if (pageBean != null) {
// 设置编辑名称 // 设置编辑名称,手机号
bookSet.setAdviserName4BookDto(pageBean.getRecordList()); bookSet.setAdviserInfo4BookDto(pageBean.getRecordList());
// 设置图书读者量、扫码量、浏览量 // 设置图书读者量、扫码量、浏览量
bookSet.setBookSvUvPv4Object(pageBean.getRecordList()); bookSet.setBookSvUvPv4Object(pageBean.getRecordList());
// 设置书刊分类 // 设置书刊分类
......
...@@ -145,7 +145,8 @@ public interface BookFacade { ...@@ -145,7 +145,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "isFundSupport", value = "只看基金支持", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "isFundSupport", value = "只看基金支持", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "bookId", value = "书籍标识", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "bookId", value = "书籍标识", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query"), @ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "bookStatus", value = "图书版权保护状态", dataType = "Integer", paramType = "query")}) @ApiImplicitParam(name = "bookStatus", value = "图书版权保护状态", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "hasQrcode", value = "只看有二维码", dataType = "int", paramType = "query")})
@RequestMapping(value = "listPage4Adviser", method = RequestMethod.GET) @RequestMapping(value = "listPage4Adviser", method = RequestMethod.GET)
ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token, ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name, @RequestParam(value = "name", required = false) String name,
...@@ -160,7 +161,8 @@ public interface BookFacade { ...@@ -160,7 +161,8 @@ public interface BookFacade {
@RequestParam(value = "bookId", required = false) Integer bookId, @RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId, @RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "bookStatus", required = false) Integer bookStatus, @RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId) @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "hasQrcode",required = false) Integer hasQrcode)
throws BizException, PermissionException; throws BizException, PermissionException;
@ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET") @ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET")
......
...@@ -238,7 +238,8 @@ public class BookFacadeImpl implements BookFacade { ...@@ -238,7 +238,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "bookId", required = false) Integer bookId, @RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId, @RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "bookStatus", required = false) Integer bookStatus, @RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId",required = false) Long secondTempletId) @RequestParam(value = "secondTempletId",required = false) Long secondTempletId,
@RequestParam(value = "hasQrcode",required = false) Integer hasQrcode)
throws BizException, PermissionException { throws BizException, PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) { if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
...@@ -258,7 +259,7 @@ public class BookFacadeImpl implements BookFacade { ...@@ -258,7 +259,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("bookStatus", bookStatus); paramMap.put("bookStatus", bookStatus);
paramMap.put("secondTempletId",secondTempletId); paramMap.put("secondTempletId",secondTempletId);
paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList())); paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
PageBean pageBean = bookBiz.getListPage4Adviser(paramMap, new PageParam(currentPage, numPerPage), adviserId); PageBean pageBean = bookBiz.getListPage4Adviser(paramMap, new PageParam(currentPage, numPerPage), adviserId, hasQrcode);
return new ResponseDto<>(pageBean); return new ResponseDto<>(pageBean);
} }
......
...@@ -3,28 +3,9 @@ ...@@ -3,28 +3,9 @@
*/ */
package com.pcloud.book.book.set; package com.pcloud.book.book.set;
import java.math.BigDecimal; import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto; import com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.assist.dto.AssistTempletDTO; import com.pcloud.appcenter.assist.dto.AssistTempletDTO;
...@@ -98,6 +79,27 @@ import com.pcloud.usercenter.party.adviser.entity.Adviser; ...@@ -98,6 +79,27 @@ import com.pcloud.usercenter.party.adviser.entity.Adviser;
import com.pcloud.usercenter.party.agent.entity.Agent; import com.pcloud.usercenter.party.agent.entity.Agent;
import com.pcloud.voicemessage.party.merchant.entity.MerchantVideo; import com.pcloud.voicemessage.party.merchant.entity.MerchantVideo;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* @描述:图书信息填充 * @描述:图书信息填充
* @作者:songx * @作者:songx
...@@ -1630,4 +1632,28 @@ public class BookSet { ...@@ -1630,4 +1632,28 @@ public class BookSet {
// 批量填充运营信息 // 批量填充运营信息
BookTools.setChannelNames4NoAuthBookVO(noAuthBookVOS, channelNameMap); BookTools.setChannelNames4NoAuthBookVO(noAuthBookVOS, channelNameMap);
} }
public void setAdviserInfo4BookDto(List<Object> objects) {
LOGGER.info("【书刊基础】批量填充顾问名称、手机号,<START>");
// 组装编辑标识(去重)
List<Long> adviserIds = BookTools.listAdviserIds(objects);
// 从用户中心批量获取编辑名称
Map<Long, AdviserBaseInfoDto> adviserMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
if (MapUtils.isEmpty(adviserMap)) {
return;
}
// 批量填充编辑名称手机号
for (Object object : objects) {
BookDto bookDto = (BookDto) object;
Long adviserId = bookDto.getAdviserId();
if (adviserMap.containsKey(adviserId)) {
bookDto.setAdviserName(adviserMap.get(adviserId).getPartyName());
bookDto.setPhone(adviserMap.get(adviserId).getPhoneNum());
} else {
bookDto.setAdviserName("");
bookDto.setPhone("");
}
}
LOGGER.info("【书刊基础】批量填充顾问名称、手机号,<END>");
}
} }
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package com.pcloud.book.consumer.channel; package com.pcloud.book.consumer.channel;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.channelcenter.qrcode.dto.BookDto;
import com.pcloud.channelcenter.qrcode.dto.GroupQrcodeVO; import com.pcloud.channelcenter.qrcode.dto.GroupQrcodeVO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto; import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService; import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
...@@ -27,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -27,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -324,4 +326,16 @@ public class QrcodeSceneConsr { ...@@ -324,4 +326,16 @@ public class QrcodeSceneConsr {
} }
return null; return null;
} }
@ParamLog("获取编辑下有二维码的图书")
public List<BookDto> getQrcodeBookIds(List<Long> channelIds, Long adviserId) {
List<BookDto> bookIds = new ArrayList<>();
try {
bookIds = ResponseHandleUtil.parseListResponse(qrcodeSceneService.getQrcodeBookIds(channelIds, adviserId), BookDto.class);
} catch (Exception e) {
LOGGER.error("【二维码-渠道】 获取编辑下有二维码的图书,<ERROR>.[getQrcodeBookIds]:" + e.getMessage(), e);
}
return bookIds;
}
} }
...@@ -514,6 +514,13 @@ ...@@ -514,6 +514,13 @@
AND AND
I.book_status = #{bookStatus} I.book_status = #{bookStatus}
</if> </if>
<if test="bookIds != null">
<foreach collection="bookIds" index="index" item="item" open="and (" separator="or" close=")">
<if test="item.bookId != null and item.channelId != null">
A.BOOK_ID = ${item.bookId} AND A.CHANNEL_ID = ${item.channelId}
</if>
</foreach>
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY ORDER BY
LAST_MODIFIED_DATE DESC LAST_MODIFIED_DATE 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