Commit b14c4cad by 阮思源

Merge branch 'zyj-bookinfo' into 'master'

ID1002053

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