Commit 81e7010f by 桂前礼

feat: [1003574] 书刊分析复杂版,书刊筛选支持bookId筛选

parent 92938d62
......@@ -8,6 +8,7 @@ import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.vo.ErpAdviserBookVO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
......@@ -261,4 +262,6 @@ public interface BookAdviserBiz {
Map<String,Object> getRayBookCountAndRate(Boolean showRate);
Integer getIsRui(Long adviserId, Long bookId, Long channelId);
PageBeanNew<PcloudAdviserBookVO> listAdviserBook4Pcloud(String keyword, Integer currentPage, Integer numPerPage);
}
......@@ -15,6 +15,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
import cn.hutool.core.util.StrUtil;
import com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto;
import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.dto.BookDataStatisticsDTO;
......@@ -22,6 +23,7 @@ import com.pcloud.book.book.dto.BookQrcodeStatisticsDTO;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.BookRightsSettingDTO;
import com.pcloud.book.book.dto.QrcodeStatisticsDTO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto;
import com.pcloud.book.consumer.analysisengine.BrowseRecordConsr;
......@@ -1367,4 +1369,27 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
return bookAdviserDao.getIsRui(adviserId, bookId, channelId);
}
@Override
public PageBeanNew<PcloudAdviserBookVO> listAdviserBook4Pcloud(String keyword, Integer currentPage, Integer numPerPage) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("keyword", keyword);
PageBeanNew<PcloudAdviserBookVO> pageBeanNew = bookAdviserDao.listPageNew(new PageParam(currentPage, numPerPage), paramMap, "listAdviserBook4Pcloud");
List<PcloudAdviserBookVO> bookVOS = pageBeanNew.getRecordList();
if(!CollectionUtils.isEmpty(bookVOS)) {
List<Long> adviserIds = bookVOS.stream().filter(s -> s.getAdviserId() != null).map(PcloudAdviserBookVO::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> adviserAgentMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
for (PcloudAdviserBookVO bookVO : bookVOS) {
Long adviserId = bookVO.getAdviserId();
if(adviserId != null && MapUtils.isNotEmpty(adviserAgentMap) && adviserAgentMap.containsKey(adviserId)) {
AdviserBaseInfoDto adviserBaseInfoDto = adviserAgentMap.get(adviserId);
bookVO.setPublish(null != adviserBaseInfoDto ? adviserBaseInfoDto.getAgentName() : "--");
bookVO.setAuthor(null != adviserBaseInfoDto ? adviserBaseInfoDto.getPartyName() : "--");
bookVO.setAgentId(null != adviserBaseInfoDto ? adviserBaseInfoDto.getAgentId() : 0);
}
}
}
return pageBeanNew;
}
}
......@@ -11,8 +11,10 @@ import com.pcloud.book.book.dto.BookQrcodeStatisticsDTO;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException;
import io.swagger.annotations.*;
import org.codehaus.jackson.JsonParseException;
......@@ -205,6 +207,14 @@ public interface BookAdviserFacade {
@RequestParam(value = "numPerPage") Integer numPerPage)
throws PermissionException, JsonParseException, BizException;
@ApiOperation(value = "获取编辑书刊列表4Pcloud", httpMethod = "GET")
@RequestMapping(value = "listAdviserBook4Pcloud", method = RequestMethod.GET)
ResponseDto<PageBeanNew<PcloudAdviserBookVO>> listAdviserBook4Pcloud(@RequestHeader("token") String token,
@RequestParam(value = "keyword", required = false) String keyword,
@RequestParam(value = "currentPage") Integer currentPage,
@RequestParam(value = "numPerPage") Integer numPerPage)
throws PermissionException, JsonParseException, BizException;
/**
* 设置书刊是否已下印状态
* @param token
......
......@@ -12,6 +12,7 @@ import com.pcloud.book.book.dto.BookQrcodeStatisticsDTO;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.QrcodeStatisticsDTO;
import com.pcloud.book.book.vo.PcloudAdviserBookVO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.channelcenter.qrcode.entity.QrcodeScene;
import com.pcloud.common.page.PageBeanNew;
......@@ -192,7 +193,17 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
return new ResponseDto<>(bookAdviserBiz.listAdviserBook4Erp(isbn, uniqueNumber, adviserName, currentPage, numPerPage));
}
/**
@Override
@RequestMapping(value = "listAdviserBook4Pcloud", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<PcloudAdviserBookVO>> listAdviserBook4Pcloud(@RequestHeader("token") String token,
@RequestParam(value = "keyword", required = false) String keyword,
@RequestParam(value = "currentPage") Integer currentPage,
@RequestParam(value = "numPerPage") Integer numPerPage)
throws PermissionException, JsonParseException, BizException {
return new ResponseDto<>(bookAdviserBiz.listAdviserBook4Pcloud(keyword, currentPage, numPerPage));
}
/**
* 设置书刊是否已下印状态
*/
@Override
......
package com.pcloud.book.book.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 平台端查询编辑书
*/
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class PcloudAdviserBookVO implements Serializable {
private static final long serialVersionUID = 5106914273592177686L;
@ApiModelProperty("编辑")
private String author;
@ApiModelProperty("编辑对应的出版社名称")
private String publish;
@ApiModelProperty("书名")
private String bookName;
@ApiModelProperty("ISBN")
private String isbn;
@ApiModelProperty("图书封面")
private String coverImg;
@ApiModelProperty("图书ID")
private Long bookId;
@ApiModelProperty("bookAdviserId")
private Long bookAdviserId;
@ApiModelProperty("编辑ID")
private Long adviserId;
@ApiModelProperty("出版社ID")
private Long agentId;
}
......@@ -1745,7 +1745,7 @@
AND B.IS_DELETE = 0
<if test="name!=null">
AND
(B.BOOK_NAME LIKE CONCAT('%', #{name},'%') OR B.ISBN LIKE CONCAT(#{name},'%'))
(B.BOOK_NAME LIKE CONCAT('%', #{name},'%') OR B.ISBN LIKE CONCAT(#{name},'%') OR B.BOOK_ID LIKE CONCAT(#{name},'%'))
</if>
</select>
......
......@@ -633,6 +633,34 @@
ba.CREATED_DATE DESC
</select>
<select id="listAdviserBook4Pcloud" parameterType="map" resultType="com.pcloud.book.book.vo.PcloudAdviserBookVO">
SELECT
ba.BOOK_ID bookId,
ba.ADVISER_ID adviserId,
b.BOOK_NAME bookName,
b.COVER_IMG coverImg,
b.ISBN isbn,
ba.BOOK_ADVISER_ID bookAdviserId
FROM
`book_adviser` ba
LEFT JOIN book b ON ba.BOOK_ID = b.BOOK_ID
WHERE
ba.IS_DELETE = 0
<if test="keyword != null">
AND (
b.ISBN =#{keyword}
or b.BOOK_NAME LIKE CONCAT('%', #{keyword}, '%')
or b.BOOK_ID LIKE CONCAT('%', #{keyword}, '%')
or ba.BOOK_ADVISER_ID LIKE CONCAT('%', #{keyword}, '%')
)
</if>
AND b.IS_DELETE = 0
GROUP BY
ba.BOOK_ADVISER_ID
ORDER BY
ba.CREATED_DATE DESC
</select>
<!-- 设置书刊是否已下印状态 -->
<update id="setIsPrint" parameterType="bookAdviser">
update
......
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