Commit 96b5cd30 by 朱亚洁

ID1002053

parent ae2c2c43
package com.pcloud.book.book.dto;
import com.pcloud.common.dto.BaseDto;
import java.io.Serializable;
import java.util.Date;
......@@ -7,7 +9,7 @@ import java.util.Date;
* @author lily
* @date 2019/2/13 17:26
*/
public class AdviserBookInfoDTO implements Serializable {
public class AdviserBookInfoDTO extends BaseDto {
private Long bookId;
private Long adviserId;
......@@ -24,6 +26,20 @@ public class AdviserBookInfoDTO implements Serializable {
private Date createdDate;
/**
* 编辑名称
*/
private String adviserName;
/**
* 代理标识
*/
private Long agentId;
/**
* 代理名称
*/
private String agentName;
public Long getBookId() {
return bookId;
}
......@@ -88,6 +104,30 @@ public class AdviserBookInfoDTO implements Serializable {
this.createdDate = createdDate;
}
public String getAdviserName() {
return adviserName;
}
public void setAdviserName(String adviserName) {
this.adviserName = adviserName;
}
public Long getAgentId() {
return agentId;
}
public void setAgentId(Long agentId) {
this.agentId = agentId;
}
public String getAgentName() {
return agentName;
}
public void setAgentName(String agentName) {
this.agentName = agentName;
}
@Override
public String toString() {
return "AdviserBookInfoDTO{" +
......@@ -99,6 +139,9 @@ public class AdviserBookInfoDTO implements Serializable {
", isbn='" + isbn + '\'' +
", serialNumber='" + serialNumber + '\'' +
", createdDate=" + createdDate +
", adviserName='" + adviserName + '\'' +
", agentId=" + agentId +
", agentName='" + agentName + '\'' +
'}';
}
}
......@@ -3,6 +3,7 @@
*/
package com.pcloud.book.book.biz;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDetialDTO;
......@@ -575,5 +576,5 @@ public interface BookBiz {
* @param name
* @return
*/
PageBean getListPage4SelfBookGroup(Integer currentPage, Integer numPerPage, String name);
PageBeanNew<AdviserBookInfoDTO> getListPage4SelfBookGroup(Integer currentPage, Integer numPerPage, String name);
}
......@@ -22,6 +22,7 @@ import com.pcloud.book.book.biz.BookResourceBiz;
import com.pcloud.book.book.cache.BookCache;
import com.pcloud.book.book.constant.BookConstant;
import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount;
......@@ -1723,12 +1724,31 @@ public class BookBizImpl implements BookBiz {
}
@Override
public PageBean getListPage4SelfBookGroup(Integer currentPage, Integer numPerPage, String name) {
public PageBeanNew<AdviserBookInfoDTO> getListPage4SelfBookGroup(Integer currentPage, Integer numPerPage, String name) {
Map<String, Object> paramMap = new HashMap<>();
if (!StringUtil.isEmpty(name)) {
paramMap.put("name", name);
}
paramMap.put("joinGroupType", JoinGroupTypeEnum.ROBOT.getCode());
return bookDao.listPage(new PageParam(currentPage, numPerPage), paramMap, "getListPage4BookGroup");
PageBeanNew<AdviserBookInfoDTO> pageBean = bookDao.listPageNew(new PageParam(currentPage, numPerPage), paramMap, "getListPage4BookGroup");
if (null == pageBean || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
}
List<AdviserBookInfoDTO> list = pageBean.getRecordList();
List<Long> agentIds = list.stream().filter(s -> s.getAgentId() != null).map(AdviserBookInfoDTO::getAgentId).distinct().collect(Collectors.toList());
List<Long> adviserIds = list.stream().filter(s -> s.getAdviserId() != null).map(AdviserBookInfoDTO::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, String> adviserMap = adviserConsr.getNames(adviserIds);
Map<Long, String> agentMap = agentConsr.getNames(agentIds);
for (AdviserBookInfoDTO dto : list) {
if (!MapUtils.isEmpty(adviserMap) && null != dto.getAdviserId() && adviserMap.containsKey(dto.getAdviserId())) {
dto.setAdviserName(adviserMap.get(dto.getAdviserId()));
}
if (!MapUtils.isEmpty(agentMap) && null != dto.getAgentId() && agentMap.containsKey(dto.getAgentId())) {
dto.setAgentName(agentMap.get(dto.getAgentId()));
}
}
return pageBean;
}
}
......@@ -3,6 +3,7 @@
*/
package com.pcloud.book.book.facade;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book;
......@@ -567,4 +568,18 @@ public interface BookFacade {
@ApiOperation(value = "获取未设置正版授权的社群书", httpMethod = "POST")
ResponseDto<PageBeanNew> listNoAuthGroupBook(@RequestHeader("token") String token,
@RequestBody ListNoAuthGroupBookParam listNoAuthGroupBookParam) throws PermissionException;
@ApiOperation("获取1v1社群书书刊列表")
@ApiImplicitParams({@ApiImplicitParam(name = "token", value = "token", dataType = "String", paramType = "header"),
@ApiImplicitParam(name = "currentPage", value = "当前页数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "name", value = "图书名称、isbn", dataType = "string", paramType = "query")
})
@RequestMapping(value = "getListPage4SelfBookGroup", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<AdviserBookInfoDTO>> getListPage4SelfBookGroup(
@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
throws BizException, PermissionException;
}
......@@ -6,6 +6,7 @@ package com.pcloud.book.book.facade.impl;
import com.google.common.collect.Lists;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book;
......@@ -41,8 +42,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import io.swagger.annotations.ApiOperation;
/**
* @描述:书籍接口实现类
* @作者:songx
......@@ -779,19 +778,20 @@ public class BookFacadeImpl implements BookFacade {
return new ResponseDto<PageBeanNew>(null == pageBeanNew ? new PageBeanNew():pageBeanNew);
}
@ApiOperation("获取1v1社群书书刊列表")
@Override
@RequestMapping(value = "getListPage4SelfBookGroup", method = RequestMethod.GET)
public ResponseDto<PageBean> getListPage4SelfBookGroup(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
public ResponseDto<PageBeanNew<AdviserBookInfoDTO>> getListPage4SelfBookGroup(
@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
throw BookBizException.PAGE_PARAM_DELETION;
}
PageBean pageBean = bookBiz.getListPage4SelfBookGroup(currentPage, numPerPage, name);
return new ResponseDto<PageBean>(null == pageBean ? new PageBean() : pageBean);
PageBeanNew<AdviserBookInfoDTO> pageBean = bookBiz.getListPage4SelfBookGroup(currentPage, numPerPage, name);
return new ResponseDto<>(null == pageBean ? new PageBeanNew<>() : pageBean);
}
}
\ No newline at end of file
......@@ -75,8 +75,8 @@ import com.pcloud.book.group.dto.SelfBookGroupStParamDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.StatisticsIncomeDto;
import com.pcloud.book.group.dto.UserSelectParamDTO;
import com.pcloud.book.group.dto.TopAgentBookGroupDTO;
import com.pcloud.book.group.dto.UserSelectParamDTO;
import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupAgentRecord;
import com.pcloud.book.group.entity.BookGroupCipherUser;
......@@ -2720,27 +2720,15 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
@Override
public PageBeanNew<BookGroupAnalysisVO> listPageBookGroupAnalysis(BookGroupAnalysisParam bookGroupAnalysisParam) {
List<Long> adviserIdList = new ArrayList<>();
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAdviserIds())) {
adviserIdList.addAll(bookGroupAnalysisParam.getAdviserIds());
} else {
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAgentIds())) {
List<Long> agentIds = bookGroupAnalysisParam.getAgentIds();
agentIds.forEach(agentId -> {
List<Long> adviserIds = adviserConsr.getByAgentId(agentId);
if (!ListUtils.isEmpty(adviserIds)) {
adviserIdList.addAll(adviserIds);
}
});
}
}
Map<String, Object> paramMap = new HashMap<>();
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getBookIds())){
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getBookIds())) {
paramMap.put("bookIds", bookGroupAnalysisParam.getBookIds());
}
if (!ListUtils.isEmpty(adviserIdList)) {
paramMap.put("adviserIds", adviserIdList);
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAdviserIds())) {
paramMap.put("adviserIds", bookGroupAnalysisParam.getAdviserIds());
}
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAgentIds())) {
paramMap.put("agentIds", bookGroupAnalysisParam.getAgentIds());
}
paramMap.put("isFundSupport", bookGroupAnalysisParam.getIsFundSupport());
paramMap.put("isCopyright", bookGroupAnalysisParam.getIsCopyright());
......@@ -2766,26 +2754,15 @@ public class BookGroupBizImpl implements BookGroupBiz {
@Override
public void exportBookGroupAnalysis(BookGroupAnalysisParam bookGroupAnalysisParam, Long partyId) {
ThreadPoolUtils.EXPORT_THREAD_POOL.execute(() -> {
List<Long> adviserIdList = new ArrayList<>();
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAdviserIds())) {
adviserIdList.addAll(bookGroupAnalysisParam.getAdviserIds());
} else {
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAgentIds())) {
List<Long> agentIds = bookGroupAnalysisParam.getAgentIds();
agentIds.forEach(agentId -> {
List<Long> adviserIds = adviserConsr.getByAgentId(agentId);
if (!ListUtils.isEmpty(adviserIds)) {
adviserIdList.addAll(adviserIds);
}
});
}
}
Map<String, Object> paramMap = new HashMap<>();
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getBookIds())){
paramMap.put("bookIds", bookGroupAnalysisParam.getBookIds());
}
if (!ListUtils.isEmpty(adviserIdList)) {
paramMap.put("adviserIds", adviserIdList);
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAdviserIds())) {
paramMap.put("adviserIds", bookGroupAnalysisParam.getAdviserIds());
}
if (!ListUtils.isEmpty(bookGroupAnalysisParam.getAgentIds())) {
paramMap.put("agentIds", bookGroupAnalysisParam.getAgentIds());
}
paramMap.put("isFundSupport", bookGroupAnalysisParam.getIsFundSupport());
paramMap.put("isCopyright", bookGroupAnalysisParam.getIsCopyright());
......
......@@ -1809,23 +1809,20 @@
</select>
<select id="getListPage4BookGroup" parameterType="map" resultMap="bookMap">
<select id="getListPage4BookGroup" parameterType="map" resultType="com.pcloud.book.book.dto.AdviserBookInfoDTO">
SELECT
b.BOOK_ID,
b.TYPE_CODE,
b.ISBN,
b.BOOK_NAME,
b.AUTHOR,
b.PUBLISH,
b.COVER_IMG,
b.BOOK_PRICE,
b.SERIAL_NUMBER,
b.AD_IMG
b.BOOK_ID bookId,
b.ISBN isbn,
b.BOOK_NAME bookName,
a.ADVISER_ID adviserId,
g.agent_id agentId
FROM
book b
RIGHT JOIN book_group g ON b.BOOK_ID = g.book_id
book_group g
LEFT JOIN book_adviser a ON g.book_id = a.BOOK_ID
LEFT JOIN book b ON b.BOOK_ID = a.BOOK_ID
WHERE
b.IS_DELETE = 0
AND a.IS_DELETE = 0
AND g.is_delete = 0
AND g.join_group_type = #{joinGroupType}
<if test="name!=null">
......@@ -1835,4 +1832,5 @@
ORDER BY
g.create_time DESC
</select>
</mapper>
\ No newline at end of file
......@@ -574,6 +574,12 @@
${item}
</foreach>
</if>
<if test="agentIds != null">
AND G.agent_id IN
<foreach collection="agentIds" index="i" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
GROUP BY
G.id
ORDER BY
......
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