Commit a92ab2d2 by lili

合并

parents edc82ff7 3b668d13
......@@ -130,6 +130,12 @@ public class BookAppealDto extends BaseEntity{
* 运营名称
*/
private String channelName;
/**
* 是否社群书
*/
private Boolean isBookGroup;
public Long getBookAppealId() {
return bookAppealId;
}
......@@ -307,6 +313,14 @@ public class BookAppealDto extends BaseEntity{
this.channelName = channelName;
}
public Boolean getIsBookGroup() {
return isBookGroup;
}
public void setIsBookGroup(Boolean isBookGroup) {
this.isBookGroup = isBookGroup;
}
@Override
public String toString() {
return "BookAppealDto{" +
......@@ -332,6 +346,7 @@ public class BookAppealDto extends BaseEntity{
", templetId=" + templetId +
", haveDiffChannel=" + haveDiffChannel +
", channelName='" + channelName + '\'' +
", isBookGroup=" + isBookGroup +
'}';
}
}
......@@ -101,6 +101,11 @@ public class BookAppeal extends BaseEntity{
*/
private List<BookDefendant> defendant;
/**
* 是否社群书
*/
private Boolean isBookGroup;
public Long getBookAppealId() {
return bookAppealId;
}
......@@ -230,6 +235,14 @@ public class BookAppeal extends BaseEntity{
this.templetId = templetId;
}
public Boolean getIsBookGroup() {
return isBookGroup;
}
public void setIsBookGroup(Boolean isBookGroup) {
this.isBookGroup = isBookGroup;
}
@Override
public String toString() {
return "BookAppeal [bookAppealId=" + bookAppealId + ", bookId=" + bookId + ", channelId=" + channelId
......@@ -237,7 +250,7 @@ public class BookAppeal extends BaseEntity{
+ ", appealSubmitDate=" + appealSubmitDate + ", appealState=" + appealState + ", auditReason="
+ auditReason + ", auditUser=" + auditUser + ", createdUser=" + createdUser + ", createdDate="
+ createdDate + ", lastModifiedUser=" + lastModifiedUser + ", lastModifiedDate=" + lastModifiedDate
+ ", defendant=" + defendant + "]";
+ ", defendant=" + defendant + ", isBookGroup=" + isBookGroup + "]";
}
}
......@@ -24,6 +24,11 @@ public class CountDto extends BaseDto {
*/
private Integer count = 0;
/**
* 社群书数量
*/
private Integer bookGroupCount = 0;
public Integer getCount() {
return count;
}
......@@ -32,9 +37,19 @@ public class CountDto extends BaseDto {
this.count = count;
}
public Integer getBookGroupCount() {
return bookGroupCount;
}
public void setBookGroupCount(Integer bookGroupCount) {
this.bookGroupCount = bookGroupCount;
}
@Override
public String toString() {
return "CountDto [count=" + count + "]";
return "CountDto{" +
"count=" + count +
", bookGroupCount=" + bookGroupCount +
"} ";
}
}
......@@ -446,6 +446,11 @@ public class BookDto extends BaseDto {
* 社群码数据
*/
/**
* 是否是社群书
*/
private Boolean isBookGroup;
/**
* 社群码ID
*/
private Long bookGroupId;
......@@ -1259,6 +1264,13 @@ public class BookDto extends BaseDto {
this.secondTypeCode = secondTypeCode;
}
public Boolean getIsBookGroup() {
return isBookGroup;
}
public void setIsBookGroup(Boolean isBookGroup) {
this.isBookGroup = isBookGroup;
}
@Override
public String toString() {
return "BookDto{" +
......@@ -1354,6 +1366,7 @@ public class BookDto extends BaseDto {
", groupPersonCount=" + groupPersonCount +
", groupCount=" + groupCount +
", totalIncome=" + totalIncome +
", isBookGroup=" + isBookGroup +
", groupQrcodeLink='" + groupQrcodeLink + '\'' +
", secondTempletId=" + secondTempletId +
", secondTypeCode='" + secondTypeCode + '\'' +
......
......@@ -124,6 +124,19 @@ public interface BookBiz {
BookDto getById(Long bookId, Long adviserId, Long channelId) throws BizException;
/**
* 获取单个书籍基础信息(包含统计信息)
*
* @param bookId
* 图书标识
* @param adviserId
* 编辑标识
* @param channelId
* 渠道标识
* @return
*/
BookDto getById4Platform(Long bookId, Long adviserId, Long channelId) throws BizException;
/**
* 批量获取书籍信息
*
* @param bookIds
......
......@@ -18,6 +18,7 @@ import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.BookcaseConsr;
import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.SceneCode;
import com.pcloud.common.core.constant.SendType;
......@@ -89,6 +90,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
@Autowired
private BookGroupBiz bookGroupBiz;
@Autowired
private BookGroupDao bookGroupDao;
private static final ExecutorService EXECUTOR_SERVICE = Executors.newFixedThreadPool(5);
/**
......@@ -690,6 +694,8 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
CountDto countDto = new CountDto();
Integer count = bookAdviserDao.getAdviserBookCount(adviserId);
countDto.setCount(count);
Integer bookGroupCount = bookGroupDao.getBookGroupCount(adviserId);
countDto.setBookGroupCount(bookGroupCount);
LOGGER.info("获取编辑的图书总数 ,<END>");
return countDto;
}
......
......@@ -3,6 +3,26 @@
*/
package com.pcloud.book.book.biz.impl;
import java.io.IOException;
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.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.pcloud.analysisengine.qrcode.dto.BookTimeSourceDto;
......@@ -11,11 +31,28 @@ import com.pcloud.book.base.enums.BookFreezeEnum;
import com.pcloud.book.base.enums.BookStatusEnum;
import com.pcloud.book.base.enums.BookTypeEnum;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.*;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookAppBiz;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookFreezeBiz;
import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.biz.BookProductBiz;
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.*;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookCoverImgUpdateDTO;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookFreezeDto;
import com.pcloud.book.book.dto.BookFundDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
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;
......@@ -44,19 +81,6 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.string.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
* @描述:书籍业务层接口实现类
......@@ -128,8 +152,8 @@ public class BookBizImpl implements BookBiz {
throw new BookBizException(BookBizException.DB_SELECT_MORE, "书刊已存在");
}
if(SystemCode.adviser.code.equalsIgnoreCase(systemCode) &&
(Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId()))){
if (SystemCode.adviser.code.equalsIgnoreCase(systemCode) &&
(Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId()))) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
......@@ -287,7 +311,7 @@ public class BookBizImpl implements BookBiz {
if (BookConstant.DEFAULT_BOOK_ISBN.equals(book.getIsbn()) && StringUtils.isEmpty(book.getSerialNumber())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "默认图书不能修改!");
}
if(Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId())){
if (Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
}
......@@ -502,6 +526,38 @@ public class BookBizImpl implements BookBiz {
}
/**
* 获取单个书籍基础信息(包含统计信息)
*/
@Override
public BookDto getById4Platform(Long bookId, Long adviserId, Long channelId) throws BizException {
LOGGER.info("【书籍基础】获取单个书籍基础信息,<START>.[bookId]=" + bookId + ",[adviserId]=" + adviserId
+ ",[channelId]=" + channelId);
if (bookId == null || channelId == null || adviserId == null) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数有误!");
}
BookDto bookDto = null;
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("bookId", bookId);
paramMap.put("adviserId", adviserId);
paramMap.put("channelId", channelId);
bookDto = bookDao.getById(paramMap);
if (bookDto == null) {
return new BookDto();
}
bookDto.setAdviserId(adviserId);
bookDto.setChannelId(channelId);
String adviserName = adviserConsr.getNameById(adviserId);
bookDto.setAdviserName(adviserName);
Long agentId = adviserConsr.getAgentIdByAdviser(adviserId);
Map<Long, String> agentNameMap = agentConsr.getNames(Arrays.asList(agentId));
if (!MapUtils.isEmpty(agentNameMap) && agentNameMap.containsKey(agentId)) {
bookDto.setAgentName(agentNameMap.get(agentId));
}
LOGGER.info("【书籍基础】获取单个书籍基础信息(包含统计信息),<END>");
return bookDto;
}
/**
* 批量获取书籍信息
*/
@Override
......@@ -710,6 +766,8 @@ public class BookBizImpl implements BookBiz {
bookSet.setBookIncome(Lists.newArrayList(bookDtos));
// 设置二维码相关信息
bookSet.setQrInfo(Lists.newArrayList(bookDtos));
// 填充社群码相关信息
bookSet.seBookGroupInfo(Lists.newArrayList(bookDtos));
}
return bookDtos;
}
......@@ -851,7 +909,6 @@ public class BookBizImpl implements BookBiz {
/**
* 判断isbn是否存在,存在返回书籍信息
*
* @throws IOException
*/
@Override
......@@ -1345,7 +1402,7 @@ public class BookBizImpl implements BookBiz {
if (book.getChannelId() == null) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择运营平台");
}
if(Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId())){
if (Objects.isNull(book.getTempletId()) || Objects.isNull(book.getSecondTempletId())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
// 校验书号
......@@ -1361,11 +1418,10 @@ public class BookBizImpl implements BookBiz {
}
// 新增图书与编辑关联关系
createBookAdviserRelation(book);
/*BookGroup bookGroup = null;
if (null != book.getIsBookGroup() && book.getIsBookGroup()) {
BookGroup bookGroup = bookGroupBiz.createBookGroupAfterCreateBook(book.getBookId(), book.getChannelId(), book.getCreatedUser());
bookDto.setBookGroupId(bookGroup.getId());
bookDto.setGroupQrcodeUrl(bookGroup.getGroupQrcodeUrl());
}
bookGroup = bookGroupBiz.createBookGroupAfterCreateBook(book.getBookId(), book.getChannelId(), book.getCreatedUser());
}*/
// 图书不存在,新增图书,图书数量加1
if (bookDto == null) {
// 书籍总数缓存加1
......@@ -1382,6 +1438,10 @@ public class BookBizImpl implements BookBiz {
}
bookDto = bookDao.getByIsbnAndSnum(book.getIsbn(), book.getSerialNumber());
bookDto.setChannelId(book.getChannelId());
/*if (null != bookGroup) {
bookDto.setBookGroupId(bookGroup.getId());
bookDto.setGroupQrcodeUrl(bookGroup.getGroupQrcodeUrl());
}*/
LOGGER.info("【书籍基础】创建书籍基础信息,<END>");
return bookDto;
}
......@@ -1405,7 +1465,7 @@ public class BookBizImpl implements BookBiz {
// 清除redis中数据
bookCache.clearRedisByBook(book.getBookId(), book.getIsbn(), book.getSerialNumber());
//修改图书类型
bookAdviserBiz.updateBookTemplet(book.getBookId(), book.getChannelId(), book.getLastModifiedUser(), book.getTempletId(),book.getSecondTempletId());
bookAdviserBiz.updateBookTemplet(book.getBookId(), book.getChannelId(), book.getLastModifiedUser(), book.getTempletId(), book.getSecondTempletId());
LOGGER.info("修改图书基本信息与类型[END]");
}
......
......@@ -291,4 +291,11 @@ public interface BookDao extends BaseDao<Book> {
* @return
*/
List<BookDto> listBookIdAndChannelId4Adviser(Map<String, Object> paramMap);
/**
* 获取社群书列表
* @param paramMap 参数Map
* @return
*/
List<BookDto> listSimpleBookGroup4Adviser(Map<String, Object> paramMap);
}
......@@ -277,4 +277,12 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public List<BookDto> listBookIdAndChannelId4Adviser(Map<String, Object> paramMap) {
return super.getSqlSession().selectList(getStatement("listBookIdAndChannelId4Adviser"), paramMap);
}
/**
* 获取社群书列表
*/
@Override
public List<BookDto> listSimpleBookGroup4Adviser(Map<String, Object> paramMap) {
return super.getSqlSession().selectList(getStatement("listSimpleBookGroup4Adviser"), paramMap);
}
}
......@@ -400,6 +400,21 @@ public interface BookFacade {
throws BizException, PermissionException, JsonParseException;
/**
* 获取书籍基础信息(平台端)
*/
@ApiOperation(value = "获取书籍基础信息(平台端)", httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "token", value = "token", dataType = "string", paramType = "header"),
@ApiImplicitParam(name = "bookId", value = "图书标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "channelId", value = "渠道标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "adviserId", value = "编辑标识", dataType = "long", paramType = "query")})
@RequestMapping(value = "getById4Platform", method = RequestMethod.GET)
ResponseDto<BookDto> getById4Platform(@RequestHeader("token") String token,
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "channelId", required = false) Long channelId,
@RequestParam(value = "adviserId", required = false) Long adviserId)
throws BizException;
/**
* 书刊回收站列表(30天内删除的书刊列表)
*/
@ApiOperation(value = "书刊回收站列表", httpMethod = "GET")
......
......@@ -547,6 +547,19 @@ public class BookFacadeImpl implements BookFacade {
}
/**
* 获取书籍基础信息(平台端)
*/
@Override
@RequestMapping(value = "getById4Platform", method = RequestMethod.GET)
public ResponseDto<BookDto> getById4Platform(@RequestHeader("token") String token,
@RequestParam(value = "bookId") Long bookId,
@RequestParam(value = "channelId", required = false) Long channelId,
@RequestParam(value = "adviserId", required = false) Long adviserId)
throws BizException {
return new ResponseDto<>(bookBiz.getById4Platform(bookId, adviserId, channelId));
}
/**
* 书刊回收站列表(30天内删除的书刊列表)
*/
@Override
......
......@@ -3,6 +3,24 @@
*/
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 com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto;
......@@ -18,7 +36,15 @@ import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dao.BookFreezeDao;
import com.pcloud.book.book.dao.BookTypeDao;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookAppDto;
import com.pcloud.book.book.dto.BookDeleteDto;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookFreezeDto;
import com.pcloud.book.book.dto.BookProductDto;
import com.pcloud.book.book.dto.BookResourceDto;
import com.pcloud.book.book.dto.BookTypeDto;
import com.pcloud.book.book.entity.BookDefendant;
import com.pcloud.book.book.tools.BookTools;
import com.pcloud.book.book.vo.NoAuthBookVO;
......@@ -32,8 +58,16 @@ import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.message.MessageConsr;
import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.settlement.BookConsr;
import com.pcloud.book.consumer.user.*;
import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.AgentConsr;
import com.pcloud.book.consumer.user.BookcaseConsr;
import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.consumer.user.PartyConsr;
import com.pcloud.book.consumer.voicemessage.MerchantVideoConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupStatisticDTO;
import com.pcloud.channelcenter.base.constants.MessageFromTypeEnum;
import com.pcloud.channelcenter.qrcode.dto.QrcodeLocationDto;
import com.pcloud.channelcenter.qrcode.vo.BookAssocLastQrAskVO;
......@@ -61,18 +95,6 @@ import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
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 java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @描述:图书信息填充
......@@ -131,6 +153,10 @@ public class BookSet {
private AgentConsr agentConsr;
@Autowired
private AccountSettingService accountSettingService;
@Autowired
private BookGroupDao bookGroupDao;
@Autowired
private BookGroupClassifyBiz bookGroupClassifyBiz;
/**
* 检验书号是否合法,包括ISSN,ISBN,CSSN
......@@ -978,7 +1004,7 @@ public class BookSet {
// 有二级列表优先展示二级列表,无则展示一级列表
List<Long> templetIds = recordList.stream()
.map(bookDto -> {
BookDto book = (BookDto)bookDto;
BookDto book = (BookDto) bookDto;
if (Objects.nonNull(book.getSecondTempletId())) {
return book.getSecondTempletId();
}
......@@ -989,13 +1015,13 @@ public class BookSet {
final Map<Long, AssistTempletDTO> assistTempletIds = assistTempletConsr.mapByIds(templetIds);
if(MapUtils.isEmpty(assistTempletIds)){
if (MapUtils.isEmpty(assistTempletIds)) {
LOGGER.info("设置模板名称【END】");
return;
}
recordList.forEach(bookDto -> {
BookDto book = (BookDto)bookDto;
BookDto book = (BookDto) bookDto;
Long secondTempletId = book.getSecondTempletId();
Long templetId = book.getTempletId();
if (Objects.nonNull(secondTempletId)) {
......@@ -1057,9 +1083,9 @@ public class BookSet {
}
List<Long> templetIds = new ArrayList<>();
if(Objects.nonNull(bookDto.getSecondTempletId())){
if (Objects.nonNull(bookDto.getSecondTempletId())) {
templetIds.add(bookDto.getSecondTempletId());
}else if(Objects.nonNull(bookDto.getTempletId())){
} else if (Objects.nonNull(bookDto.getTempletId())) {
templetIds.add(bookDto.getTempletId());
}
......@@ -1068,10 +1094,10 @@ public class BookSet {
return;
}
if(Objects.nonNull(bookDto.getSecondTempletId())){
setBookDtoTempletInfo(assistTempletMap,bookDto,bookDto.getSecondTempletId());
}else if(Objects.nonNull(bookDto.getTempletId())){
setBookDtoTempletInfo(assistTempletMap,bookDto,bookDto.getTempletId());
if (Objects.nonNull(bookDto.getSecondTempletId())) {
setBookDtoTempletInfo(assistTempletMap, bookDto, bookDto.getSecondTempletId());
} else if (Objects.nonNull(bookDto.getTempletId())) {
setBookDtoTempletInfo(assistTempletMap, bookDto, bookDto.getTempletId());
}
LOGGER.info("设置模板名称【END】");
......@@ -1306,6 +1332,36 @@ public class BookSet {
* 设置二维码相关信息
* @param recordList
*/
public void seBookGroupInfo(List<Object> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
}
for (Object object : recordList) {
BookDto bookDto = (BookDto) object;
if (null != bookDto.getIsBookGroup() && bookDto.getIsBookGroup()) {
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOByBookId(bookDto.getBookId(), bookDto.getChannelId(), bookDto.getAdviserId());
if (null != bookGroupDTO) {
bookDto.setBookGroupId(bookGroupDTO.getId());
bookDto.setGroupQrcodeUrl(bookGroupDTO.getGroupQrcodeUrl());
bookDto.setGroupQrcodeName(bookGroupDTO.getGroupQrcodeName());
Map<Long, BookGroupStatisticDTO> statisMap = bookGroupClassifyBiz.getBookGroupStatistic(Arrays.asList(bookGroupDTO.getId()));
if (!MapUtils.isEmpty(statisMap) && statisMap.containsKey(bookGroupDTO.getId())) {
BookGroupStatisticDTO statisticDTO = statisMap.get(bookGroupDTO.getId());
bookDto.setClassifyCount(null != statisticDTO.getClassifyCount() ? statisticDTO.getClassifyCount().longValue() : 0L);
bookDto.setGroupCount(null != statisticDTO.getGroupNumber() ? statisticDTO.getGroupNumber().longValue() : 0L);
} else {
bookDto.setClassifyCount(0L);
bookDto.setGroupCount(0L);
}
}
}
}
}
/**
* 设置社群书社群码相关信息
* @param recordList
*/
public void setQrInfo(List<Object> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
......
......@@ -2,7 +2,6 @@ package com.pcloud.book.mq.producer;
import com.pcloud.book.book.dto.BookCoverImgUpdateDTO;
import com.pcloud.book.book.dto.BookNameUpdateDTO;
import com.pcloud.book.book.dto.BookTypeUpdateDTO;
import com.pcloud.book.group.dto.PushAddUserMessageDTO;
public interface BookMQProducer {
......
......@@ -23,6 +23,7 @@
<result column="BOOK_NAME" property="bookName" jdbcType="VARCHAR" />
<result column="ISBN" property="isbn" jdbcType="VARCHAR" />
<result column="SERIAL_NUMBER" property="serialNumber" jdbcType="VARCHAR" />
<result column="IS_BOOK_GROUP" property="isBookGroup" jdbcType="BIT" />
<collection property="defendants" column="BOOK_APPEAL_ID" ofType="bookDefendant"
select="com.pcloud.book.appeal.dao.impl.BookDefendantDaoImpl.list" />
</resultMap>
......@@ -31,13 +32,13 @@
<insert id="insert" parameterType="bookAppeal" useGeneratedKeys="true" keyProperty="bookAppealId" flushCache="true">
INSERT INTO `BOOK_APPEAL` (
BOOK_ID, CHANNEL_ID, TEMPLET_ID,REASON,DECLARANT, PHONE, APPEAL_SUBMIT_DATE, APPEAL_STATE, AUDIT_REASON, AUDIT_USER,
CREATED_USER,CREATED_DATE,LAST_MODIFIED_USER, LAST_MODIFIED_DATE
CREATED_USER,CREATED_DATE,LAST_MODIFIED_USER, LAST_MODIFIED_DATE, IS_BOOK_GROUP
)
VALUES (
#{bookId, jdbcType=BIGINT}, #{channelId, jdbcType=BIGINT}, #{templetId, jdbcType=BIGINT}, #{reason, jdbcType=VARCHAR}, #{declarant, jdbcType=BIGINT},
#{phone, jdbcType=VARCHAR}, #{appealSubmitDate, jdbcType=TIMESTAMP}, #{appealState, jdbcType=BIGINT}, #{auditReason, jdbcType=VARCHAR},
#{auditUser, jdbcType=BIGINT}, #{createdUser, jdbcType=BIGINT}, NOW(),
#{lastModifiedUser, jdbcType=BIGINT}, NOW()
#{lastModifiedUser, jdbcType=BIGINT}, NOW(), #{isBookGroup, jdbcType=BIT}
)
</insert>
......@@ -82,7 +83,7 @@
<!-- 获取申诉详情 -->
<select id="getById" resultMap="bookAppealMap" parameterType="long">
SELECT
BOOK_APPEAL_ID, PHONE,CHANNEL_ID, DECLARANT,REASON,BOOK_ID,VERSION,APPEAL_STATE,AUDIT_REASON,TEMPLET_ID,CREATED_USER
BOOK_APPEAL_ID, PHONE,CHANNEL_ID, DECLARANT,REASON,BOOK_ID,VERSION,APPEAL_STATE,AUDIT_REASON,TEMPLET_ID,CREATED_USER,IS_BOOK_GROUP
FROM
BOOK_APPEAL A
WHERE
......
......@@ -448,14 +448,15 @@
SELECT
A.BOOK_ID, A.CHANNEL_ID, A.ADVISER_ID, A.IS_MAIN_EDITOR, T.TYPE_CODE, T.TYPE_NAME, B.ISBN, B.BOOK_NAME, B.REMARK,
B.AUTHOR, B.PUBLISH, B.PUBLISH_DATE, B.COVER_IMG, B.ORIGIN_NAME, B.BOOK_PRICE, B.ISSN, B.BOOK_NUM, B.SERIAL_NUMBER,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,A.TEMPLET_ID, A.LAST_MODIFIED_DATE, A.BOOK_ADVISER_ID,I.BOOK_STATUS,
CONCAT('BK',A.BOOK_ID) uniqueNumber
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,A.TEMPLET_ID, if(G.ID IS NULL, A.LAST_MODIFIED_DATE, G.UPDATE_TIME) LAST_MODIFIED_DATE,
A.BOOK_ADVISER_ID,I.BOOK_STATUS, CONCAT('BK',A.BOOK_ID) uniqueNumber, if(G.ID IS NULL, 0, 1) isBookGroup
FROM
BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
LEFT JOIN BOOK_TYPE T ON B.TYPE_CODE = T.TYPE_CODE
LEFT JOIN BOOK_FUND BF ON BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
LEFT JOIN book_auth_info I ON I.BOOK_ID = A.BOOK_ID AND I.ADVISER_ID = #{adviserId}
LEFT JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID AND G.IS_DELETE = 0
WHERE
1=1
<if test="bookId!=null">
......@@ -511,7 +512,7 @@
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY
A.LAST_MODIFIED_DATE DESC
LAST_MODIFIED_DATE DESC
<if test="num != null">
LIMIT ${num}
</if>
......@@ -526,7 +527,7 @@
FROM
BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND B.IS_DELETE = 0
LEFT JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID
LEFT JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID AND G.IS_DELETE = 0
WHERE
A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0 AND G.ID IS NULL
<if test="name != null">
......@@ -548,7 +549,7 @@
G.group_qrcode_name groupQrcodeName
FROM
BOOK_ADVISER A
INNER JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID
INNER JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID AND G.IS_DELETE = 0
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND B.IS_DELETE = 0
LEFT JOIN BOOK_TYPE T ON B.TYPE_CODE = T.TYPE_CODE
LEFT JOIN BOOK_FUND BF ON BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
......@@ -586,11 +587,45 @@
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
<if test="startDate != null and endDate != null">
AND G.create_time BETWEEN #{startDate} AND #{endDate}
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY
G.UPDATE_TIME DESC
</select>
<!-- 获取社群书列表(编辑) -->
<select id="listSimpleBookGroup4Adviser" resultMap="bookMap" parameterType="map">
SELECT
A.BOOK_ID,
A.CHANNEL_ID,
A.ADVISER_ID,
B.ISBN,
B.BOOK_NAME,
CONCAT('BK', A.BOOK_ID) uniqueNumber
FROM
BOOK_ADVISER A
INNER JOIN book_group G ON G.BOOK_ID = A.BOOK_ID
AND G.CHANNEL_ID = A.CHANNEL_ID
AND G.CREATE_USER = A.ADVISER_ID
AND G.IS_DELETE = 0
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID
AND B.IS_DELETE = 0
WHERE
A.ADVISER_ID = #{adviserId}
AND A.IS_DELETE = 0
<if test="name != null">
AND
(B.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR G.group_qrcode_name LIKE CONCAT('%', #{name}, '%') OR B.ISBN LIKE CONCAT(#{name},'%') OR CONCAT('BK',A.BOOK_ID) = #{name})
</if>
GROUP BY
A.BOOK_ID,
A.CHANNEL_ID
ORDER BY
G.UPDATE_TIME DESC
</select>
<!-- 获取书籍列表(编辑) -->
<select id="listBook4Adviser" resultMap="bookMap" parameterType="map">
SELECT
......
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