Commit f4259b6f by 高鹏

Merge branch 'feat-zyjmaster' into 'master'

pc端小需求

See merge request rays/pcloud-book!119
parents 6b6aada0 b2bb411c
......@@ -553,6 +553,10 @@ public class BookDto extends BaseDto {
*/
private BigDecimal outRate;
/**
* 编辑手机号
*/
private String phone;
public String getQrRemark() {
return qrRemark;
......@@ -1478,6 +1482,14 @@ public class BookDto extends BaseDto {
this.outRate = outRate;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "BookDto{" +
......@@ -1485,6 +1497,7 @@ public class BookDto extends BaseDto {
", typeCode='" + typeCode + '\'' +
", typeName='" + typeName + '\'' +
", isbn='" + isbn + '\'' +
", isDelete=" + isDelete +
", bookName='" + bookName + '\'' +
", bookPrice='" + bookPrice + '\'' +
", originName='" + originName + '\'' +
......@@ -1588,6 +1601,7 @@ public class BookDto extends BaseDto {
", avgBrowseTimes=" + avgBrowseTimes +
", outNum=" + outNum +
", outRate=" + outRate +
", phone='" + phone + '\'' +
'}';
}
}
......@@ -200,7 +200,7 @@ public interface BookBiz {
* @return
* @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;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser;
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.consumer.analysisengine.SceneRecordConsr;
import com.pcloud.book.consumer.app.AssistTempletConsr;
......@@ -725,12 +726,24 @@ public class BookBizImpl implements BookBiz {
* 获取书籍列表(编辑)
*/
@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());
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
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.setBookSvUvPv4Object(pageBean.getRecordList());
......@@ -1261,8 +1274,8 @@ public class BookBizImpl implements BookBiz {
LOGGER.info("图书列表(平台端)<START>,paramMap=" + paramMap);
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "listBookClassify", "listBookClassifyCount");
if (pageBean != null) {
// 设置编辑名称
bookSet.setAdviserName4BookDto(pageBean.getRecordList());
// 设置编辑名称,手机号
bookSet.setAdviserInfo4BookDto(pageBean.getRecordList());
// 设置图书读者量、扫码量、浏览量
bookSet.setBookSvUvPv4Object(pageBean.getRecordList());
// 设置书刊分类
......
......@@ -145,7 +145,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "isFundSupport", value = "只看基金支持", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "bookId", value = "书籍标识", dataType = "int", 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)
ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name,
......@@ -160,7 +161,8 @@ public interface BookFacade {
@RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId,
@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;
@ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET")
......
......@@ -238,7 +238,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId,
@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 {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
......@@ -258,7 +259,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("bookStatus", bookStatus);
paramMap.put("secondTempletId",secondTempletId);
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);
}
......
......@@ -3,28 +3,9 @@
*/
package com.pcloud.book.book.set;
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;
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.google.common.collect.Lists;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto;
import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.assist.dto.AssistTempletDTO;
......@@ -98,6 +79,27 @@ import com.pcloud.usercenter.party.adviser.entity.Adviser;
import com.pcloud.usercenter.party.agent.entity.Agent;
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
......@@ -1630,4 +1632,28 @@ public class BookSet {
// 批量填充运营信息
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 @@
package com.pcloud.book.consumer.channel;
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.QrcodeSceneDto;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
......@@ -27,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -324,4 +326,16 @@ public class QrcodeSceneConsr {
}
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 @@
AND
I.book_status = #{bookStatus}
</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
ORDER BY
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