Commit 714a6d3c by wangrui

feat: 书刊分类修改

parent ea41aea7
......@@ -3,13 +3,14 @@
*/
package com.pcloud.book.book.dto;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @描述:书籍实体DTO
* @作者:songx
......@@ -484,6 +485,16 @@ public class BookDto extends BaseDto {
*/
private String groupQrcodeLink;
/**
* 第二级类型
*/
private Long secondTempletId;
/**
* 第二级类型typeCode
*/
private String secondTypeCode;
public String getQrRemark() {
return qrRemark;
}
......@@ -1232,6 +1243,22 @@ public class BookDto extends BaseDto {
this.groupQrcodeLink = groupQrcodeLink;
}
public Long getSecondTempletId() {
return secondTempletId;
}
public void setSecondTempletId(Long secondTempletId) {
this.secondTempletId = secondTempletId;
}
public String getSecondTypeCode() {
return secondTypeCode;
}
public void setSecondTypeCode(String secondTypeCode) {
this.secondTypeCode = secondTypeCode;
}
@Override
public String toString() {
return "BookDto{" +
......@@ -1319,14 +1346,17 @@ public class BookDto extends BaseDto {
", exposureNum=" + exposureNum +
", clickNum=" + clickNum +
", officialAccountsName='" + officialAccountsName + '\'' +
", uniqueNumber='" + uniqueNumber + '\'' +
", bookGroupId=" + bookGroupId +
", groupQrcodeUrl='" + groupQrcodeUrl + '\'' +
", groupQrcodeName='" + groupQrcodeName + '\'' +
", uniqueNumber='" + uniqueNumber + '\'' +
", classifyCount=" + classifyCount +
", groupPersonCount=" + groupPersonCount +
", groupCount=" + groupCount +
", totalIncome=" + totalIncome +
", groupQrcodeLink='" + groupQrcodeLink + '\'' +
", secondTempletId=" + secondTempletId +
", secondTypeCode='" + secondTypeCode + '\'' +
'}';
}
}
......@@ -187,21 +187,15 @@ public class Book extends BaseEntity {
*/
private Boolean isBookGroup;
public String getTypeCode() {
return typeCode;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public Long getChannelId() {
return channelId;
}
/**
* 第二级类型
*/
private Long secondTempletId;
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
/**
* 第二级类型typeCode
*/
private String secondTypeCode;
public Long getBookId() {
return bookId;
......@@ -211,6 +205,14 @@ public class Book extends BaseEntity {
this.bookId = bookId;
}
public String getTypeCode() {
return typeCode;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public String getIsbn() {
return isbn;
}
......@@ -227,6 +229,22 @@ public class Book extends BaseEntity {
this.bookName = bookName;
}
public String getBookPrice() {
return bookPrice;
}
public void setBookPrice(String bookPrice) {
this.bookPrice = bookPrice;
}
public String getOriginName() {
return originName;
}
public void setOriginName(String originName) {
this.originName = originName;
}
public String getRemark() {
return remark;
}
......@@ -315,7 +333,6 @@ public class Book extends BaseEntity {
this.bookNum = bookNum;
}
public String getPrograma() {
return programa;
}
......@@ -380,20 +397,12 @@ public class Book extends BaseEntity {
this.lastModifiedUser = lastModifiedUser;
}
public String getOriginName() {
return originName;
}
public void setOriginName(String originName) {
this.originName = originName;
}
public String getBookPrice() {
return bookPrice;
public Long getChannelId() {
return channelId;
}
public void setBookPrice(String bookPrice) {
this.bookPrice = bookPrice;
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public String getIssn() {
......@@ -460,18 +469,61 @@ public class Book extends BaseEntity {
this.isBookGroup = isBookGroup;
}
public Long getSecondTempletId() {
return secondTempletId;
}
public void setSecondTempletId(Long secondTempletId) {
this.secondTempletId = secondTempletId;
}
public String getSecondTypeCode() {
return secondTypeCode;
}
public void setSecondTypeCode(String secondTypeCode) {
this.secondTypeCode = secondTypeCode;
}
@Override
public String toString() {
return "Book [bookId=" + bookId + ", typeCode=" + typeCode + ", isbn=" + isbn + ", bookName=" + bookName
+ ", bookPrice=" + bookPrice + ", originName=" + originName + ", remark=" + remark + ", author="
+ author + ", publish=" + publish + ", publishDate=" + publishDate + ", coverImg=" + coverImg
+ ", detail=" + detail + ", sponsor=" + sponsor + ", organizer=" + organizer + ", cn=" + cn
+ ", releaseCycle=" + releaseCycle + ", bookNum=" + bookNum + ", programa=" + programa + ", mailCode="
+ mailCode + ", address=" + address + ", telephone=" + telephone + ", mail=" + mail + ", purpose="
+ purpose + ", createdUser=" + createdUser + ", lastModifiedUser=" + lastModifiedUser + ", channelId="
+ channelId + ", issn=" + issn + ", serialNumber=" + serialNumber + ", adImg=" + adImg + ", templetId="
+ templetId + ", agentId=" + agentId + ", sceneId=" + sceneId + ", isDelete=" + isDelete + ", isBookGroup="
+ isBookGroup + "]";
return "Book{" +
"bookId=" + bookId +
", typeCode='" + typeCode + '\'' +
", isbn='" + isbn + '\'' +
", bookName='" + bookName + '\'' +
", bookPrice='" + bookPrice + '\'' +
", originName='" + originName + '\'' +
", remark='" + remark + '\'' +
", author='" + author + '\'' +
", publish='" + publish + '\'' +
", publishDate='" + publishDate + '\'' +
", coverImg='" + coverImg + '\'' +
", detail='" + detail + '\'' +
", sponsor='" + sponsor + '\'' +
", organizer='" + organizer + '\'' +
", cn='" + cn + '\'' +
", releaseCycle='" + releaseCycle + '\'' +
", bookNum='" + bookNum + '\'' +
", programa='" + programa + '\'' +
", mailCode='" + mailCode + '\'' +
", address='" + address + '\'' +
", telephone='" + telephone + '\'' +
", mail='" + mail + '\'' +
", purpose='" + purpose + '\'' +
", createdUser=" + createdUser +
", lastModifiedUser=" + lastModifiedUser +
", channelId=" + channelId +
", issn='" + issn + '\'' +
", serialNumber='" + serialNumber + '\'' +
", adImg='" + adImg + '\'' +
", templetId=" + templetId +
", agentId=" + agentId +
", sceneId=" + sceneId +
", isDelete=" + isDelete +
", isBookGroup=" + isBookGroup +
", secondTempletId=" + secondTempletId +
", secondTypeCode='" + secondTypeCode + '\'' +
'}';
}
}
......@@ -63,6 +63,11 @@ public class BookAdviser extends BaseEntity {
*/
private Integer isDelete;
/**
* 第二级类型
*/
private Long secondTempletId;
public Long getTempletId() {
return templetId;
}
......@@ -135,11 +140,29 @@ public class BookAdviser extends BaseEntity {
this.isDelete = isDelete;
}
public Long getSecondTempletId() {
return secondTempletId;
}
public void setSecondTempletId(Long secondTempletId) {
this.secondTempletId = secondTempletId;
}
@Override
public String toString() {
return "BookAdviser [bookAdviserId=" + bookAdviserId + ", bookId=" + bookId + ", adviserId=" + adviserId
+ ", channelId=" + channelId + ", templetId=" + templetId + ", createdUser=" + createdUser
+ ", serialNumber=" + serialNumber + ", isMainEditor=" + isMainEditor + ", isDelete=" + isDelete + "]";
return "BookAdviser{" +
"bookAdviserId=" + bookAdviserId +
", bookId=" + bookId +
", adviserId=" + adviserId +
", channelId=" + channelId +
", templetId=" + templetId +
", createdUser=" + createdUser +
", serialNumber='" + serialNumber + '\'' +
", isMainEditor=" + isMainEditor +
", isDelete=" + isDelete +
", secondTempletId=" + secondTempletId +
", createTime=" + createTime +
", updateTime=" + updateTime +
'}';
}
}
......@@ -7,19 +7,13 @@ import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
......@@ -112,4 +106,10 @@ public interface BookAdviserService {
@ApiOperation("根据编辑ID获取图书数量")
@ApiImplicitParams({@ApiImplicitParam(name = "bookCountByAdvisersDto", value = "bookCountByAdvisersDto", dataType = "BookCountByAdvisersDto", paramType = "body")})
ResponseEntity<ResponseDto<Map<Long, BookCountAndAdviserIdDTO>>> getBookCountByAdviserId(@RequestBody BookCountByAdvisersDto bookCountByAdvisersDto) throws BizException ;
@GetMapping("refactorData")
@ApiOperation("刷数据,请勿使用")
ResponseEntity<ResponseDto<String>> refactorData(@RequestParam("parentId") Long parentId,
@RequestParam("originTempletId") Long originTempletId,
@RequestParam(value = "secondTempletId",required = false) Long secondTempletId) throws BizException ;
}
......@@ -3,14 +3,14 @@
*/
package com.pcloud.book.book.biz;
import java.util.List;
import java.util.Map;
import com.pcloud.book.base.dto.CountDto;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.exceptions.BizException;
import java.util.List;
import java.util.Map;
/**
* @描述:编辑管理书籍逻辑层接口
* @作者:songx
......@@ -140,8 +140,9 @@ public interface BookAdviserBiz {
* @param channelId 运营标识
* @param adviserId 标识
* @param templetId 模板标识
* @param secondTempletId 第二级列表
*/
public void updateBookTemplet(Long bookId, Long channelId, Long adviserId,Long templetId);
public void updateBookTemplet(Long bookId, Long channelId, Long adviserId, Long templetId, Long secondTempletId);
/**
* 获取图书每日新增个数-出版
......@@ -163,8 +164,9 @@ public interface BookAdviserBiz {
* @param adviserId 编辑标识
* @param channelId 渠道标识
* @param templetId 模板标识
* @param secondTempletId 模板第二阶级标识
*/
public void recoverBook4Adviser(Long bookId, Long adviserId, Long channelId, Long templetId);
public void recoverBook4Adviser(Long bookId, Long adviserId, Long channelId, Long templetId,Long secondTempletId);
/**
* 获取编辑的图书总数
......@@ -183,4 +185,7 @@ public interface BookAdviserBiz {
Map<String,AdviserBookInfoDTO> listAdviserBookInfo(AviserBookInfoParam aviserBookInfoParam);
Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto);
void refactorData(Long parentId,Long originTempletId, Long secondTempletId);
}
......@@ -110,7 +110,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
if (bookAdviserDto != null && BookConstant.BOOK_ADVISER_DELETE.equals(bookAdviserDto.getIsDelete())) { // 编辑之前设置过,但是已经删除,走恢复流程
recoverBook4Adviser(bookAdviser.getBookId(), bookAdviser.getAdviserId(), bookAdviser.getChannelId(),
bookAdviser.getTempletId());
bookAdviser.getTempletId(),bookAdviser.getSecondTempletId());
} else {
// 判断是否配置过该书籍推广信息
checkIsHaveOtherAdviser(bookAdviser.getBookId(), bookAdviser.getChannelId());
......@@ -503,13 +503,14 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateBookTemplet(Long bookId, Long channelId, Long adviserId, Long templetId) {
LOGGER.info("更新图书模板,<START>.[bookId]=" + bookId + "channelId=" + channelId + "adviserId=" + adviserId);
public void updateBookTemplet(Long bookId, Long channelId, Long adviserId, Long templetId, Long secondTempletId) {
LOGGER.info("更新图书模板,<START>.[bookId]=" + bookId + "channelId=" + channelId + "adviserId=" + adviserId + "templetId="+templetId+"secondTempletId="+secondTempletId);
BookAdviser bookAdviser = new BookAdviser();
bookAdviser.setBookId(bookId);
bookAdviser.setTempletId(templetId);
bookAdviser.setAdviserId(adviserId);
bookAdviser.setChannelId(channelId);
bookAdviser.setSecondTempletId(secondTempletId);
bookAdviserDao.updateBookTemplet(bookAdviser);
}
......@@ -606,7 +607,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
// 删除图书关联二维码
qrcodeSceneConsr.deleteByBook(bookId, channelId, null);
// 删除书籍编辑的状态
updateBookAdviserStatus(bookId, null, channelId, null, BookConstant.BOOK_ADVISER_DELETE, null);
updateBookAdviserStatus(bookId, null, channelId, null,null, BookConstant.BOOK_ADVISER_DELETE, null);
// 删除读者端的书架的书籍
bookcaseConsr.deleteBookForAdviser(bookId, channelId, adviserId);
}
......@@ -629,7 +630,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
// 删除图书关联二维码
qrcodeSceneConsr.deleteByBook(bookId, channelId, adviserId);
// 删除书籍编辑的状态
updateBookAdviserStatus(bookId, adviserId, channelId, null, BookConstant.BOOK_ADVISER_DELETE, null);
updateBookAdviserStatus(bookId, adviserId, channelId, null,null, BookConstant.BOOK_ADVISER_DELETE, null);
// 删除读者端的书架的书籍
bookcaseConsr.deleteBookForAdviser(bookId, channelId, adviserId);
LOGGER.info("删除副编辑书籍<END>.");
......@@ -640,11 +641,11 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void recoverBook4Adviser(Long bookId, Long adviserId, Long channelId, Long templetId) {
LOGGER.info("恢复书籍-编辑 <START>.[bookId]=" + bookId + ",adviserId=" + adviserId + ",channelId=" + channelId + " templetId= " + templetId);
public void recoverBook4Adviser(Long bookId, Long adviserId, Long channelId, Long templetId,Long secondTempletId) {
LOGGER.info("恢复书籍-编辑 <START>.[bookId]=" + bookId + ",adviserId=" + adviserId + ",channelId=" + channelId + " templetId= " + templetId + "secondTempletId=" + secondTempletId);
checkIsHaveOtherAdviser(bookId, channelId);
// 恢复书籍编辑的状态
updateBookAdviserStatus(bookId, adviserId, channelId, templetId, BookConstant.BOOK_ADVISER_NO_DELETE,BookConstant.MAIN_ADVISER);
updateBookAdviserStatus(bookId, adviserId, channelId, templetId, secondTempletId, BookConstant.BOOK_ADVISER_NO_DELETE,BookConstant.MAIN_ADVISER);
// 恢复图书关联的二维码
qrcodeSceneConsr.recoverByBook(bookId, channelId, adviserId);
......@@ -658,8 +659,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
* @param channelId 运营标识
* @param deleteStatus 删除状态
* @param isMainAdviser
* @param secondTempletId 第二级标题id
*/
private void updateBookAdviserStatus(Long bookId, Long adviserId, Long channelId, Long templetId, Integer deleteStatus, Integer isMainAdviser) {
private void updateBookAdviserStatus(Long bookId, Long adviserId, Long channelId, Long templetId,Long secondTempletId, Integer deleteStatus, Integer isMainAdviser) {
LOGGER.info("修改书籍编辑的状态(删除或者恢复) <START>.[bookId]=" + bookId + ",adviserId=" + adviserId + ",channelId="
+ channelId + ",deleteStatus=" + deleteStatus+",isMainAdviser="+isMainAdviser+"templetId"+templetId);
Map<String, Object> paramMap = new HashMap<>();
......@@ -669,6 +671,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
paramMap.put("isMainAdviser", isMainAdviser);
paramMap.put("status", deleteStatus);
paramMap.put("templetId", templetId);
paramMap.put("secondTempletId",secondTempletId);
bookAdviserDao.updateBook4Adviser(paramMap);
if (BookConstant.BOOK_ADVISER_DELETE.equals(deleteStatus)) {
bookGroupBiz.deleteByBookId(bookId, channelId, adviserId);
......@@ -717,4 +720,13 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto) {
return bookAdviserDao.getBookCountByAdviserId(bookCountByAdvisersDto);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void refactorData(Long parentId,Long originTempletId, Long secondTempletId) {
LOGGER.info("begin refactorData");
int effectRows = bookAdviserDao.updateBookBySecondTempletId(parentId,originTempletId,secondTempletId);
LOGGER.info("refactorData effect rows : {}",effectRows);
LOGGER.info("end refactorData");
}
}
......@@ -3,23 +3,6 @@
*/
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.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
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;
......@@ -28,28 +11,11 @@ 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.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.biz.*;
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.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.dto.*;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.set.BookSet;
......@@ -78,6 +44,19 @@ 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;
/**
* @描述:书籍业务层接口实现类
......@@ -149,10 +128,16 @@ 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()))){
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
bookDao.insert(book);
BookDto bookDto = bookDao.getByIsbnAndSnum(book.getIsbn(), book.getSerialNumber());
bookDto.setBookId(book.getBookId());
bookDto.setTempletId(book.getTempletId());
bookDto.setSecondTempletId(book.getSecondTempletId());
// 如果是编辑创建的书籍、默认建立编辑与书籍的推广关系
if (SystemCode.adviser.code.equalsIgnoreCase(systemCode)) {
setBookAdviserRelation(book);
......@@ -261,6 +246,7 @@ public class BookBizImpl implements BookBiz {
BookDto bookDto = new BookDto();
bookDto.setBookId(book.getBookId());
bookDto.setTempletId(book.getTempletId());
bookDto.setSecondTempletId(book.getSecondTempletId());
// 清除redis中数据
bookCache.clearRedisByBook(book.getBookId(), book.getIsbn(), book.getSerialNumber());
checkIsUpdateCoverImgAndSendTopic(bookDto, book.getCoverImg());
......@@ -301,6 +287,9 @@ 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())){
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
}
/**
......@@ -502,8 +491,6 @@ public class BookBizImpl implements BookBiz {
bookSet.setMainEditorInfo(bookDto, mainAdviserId);
// 设置是否冻结
bookSet.setFreezeStatus(bookDto);
// 设置父模板标识
bookSet.setTempleParentId(bookDto);
// 设置模板名字
bookSet.setTemplateName(bookDto);
// 设置唯一编号
......@@ -680,13 +667,6 @@ public class BookBizImpl implements BookBiz {
@Override
public PageBean getListPage4Adviser(Map<String, Object> paramMap, PageParam pageParam, Long adviserId) throws BizException {
LOGGER.info("【书籍应用】获取书籍列表,<START>.[paramMap]=" + paramMap.toString());
Long templeId = (Long) paramMap.get("templetId");
if (null != templeId) {
List<Long> ids = assistTempletConsr.getChildIdListByParentId(templeId);
if (!ListUtils.isEmpty(ids)) {
paramMap.put("templeIds", ids);
}
}
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "getListPage4Adviser");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean(0, 0, new ArrayList<>());
......@@ -919,6 +899,7 @@ public class BookBizImpl implements BookBiz {
bookAdviser.setCreatedUser(book.getCreatedUser());
bookAdviser.setSerialNumber(book.getSerialNumber());// 设置刊物序号
bookAdviser.setTempletId(book.getTempletId());
bookAdviser.setSecondTempletId(book.getSecondTempletId());
bookAdviserBiz.create(bookAdviser);
}
......@@ -1065,14 +1046,6 @@ public class BookBizImpl implements BookBiz {
if (ListUtils.isEmpty(adviserIds)) {
return new PageBean(0, 0, new ArrayList<>());
}
//图书类型查询
Long templeId = (Long) paramMap.get("templetId");
if (null != templeId) {
List<Long> ids = assistTempletConsr.getChildIdListByParentId(templeId);
if (!ListUtils.isEmpty(ids)) {
paramMap.put("templeIds", ids);
}
}
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "listPage4Agent");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
return new PageBean();
......@@ -1225,13 +1198,6 @@ public class BookBizImpl implements BookBiz {
@Override
public PageBean listBookClassify(PageParam pageParam, Map<String, Object> paramMap) {
LOGGER.info("图书列表(平台端)<START>,paramMap=" + paramMap);
Long templeId = (Long) paramMap.get("templetId");
if (null != templeId) {
List<Long> ids = assistTempletConsr.getChildIdListByParentId(templeId);
if (!ListUtils.isEmpty(ids)) {
paramMap.put("templeIds", ids);
}
}
PageBean pageBean = bookDao.listPage(pageParam, paramMap, "listBookClassify", "listBookClassifyCount");
if (pageBean != null) {
// 设置编辑名称
......@@ -1379,6 +1345,9 @@ 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())){
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请选择书刊分类");
}
// 校验书号
bookSet.checkISBN(book.getTypeCode(), book.getIsbn());
BookDto bookDto = bookDao.getByIsbnAndSnum(book.getIsbn(), book.getSerialNumber());
......@@ -1436,7 +1405,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());
bookAdviserBiz.updateBookTemplet(book.getBookId(), book.getChannelId(), book.getLastModifiedUser(), book.getTempletId(),book.getSecondTempletId());
LOGGER.info("修改图书基本信息与类型[END]");
}
......@@ -1451,6 +1420,7 @@ public class BookBizImpl implements BookBiz {
bookAdviser.setChannelId(book.getChannelId());
bookAdviser.setCreatedUser(book.getCreatedUser());
bookAdviser.setTempletId(book.getTempletId());
bookAdviser.setSecondTempletId(book.getSecondTempletId());
bookAdviserBiz.create(bookAdviser);
}
......@@ -1601,12 +1571,7 @@ public class BookBizImpl implements BookBiz {
paramMap.put("name", listNoAuthBookParam.getName() != null && "".equals(listNoAuthBookParam.getName().trim()) ? null : listNoAuthBookParam.getName());
paramMap.put("typeCode", listNoAuthBookParam.getTypeCode() != null && "".equals(listNoAuthBookParam.getTypeCode().trim()) ? null : listNoAuthBookParam.getTypeCode());
paramMap.put("templetId", listNoAuthBookParam.getTempletId());
if (null != listNoAuthBookParam.getTempletId()) {
List<Long> ids = assistTempletConsr.getChildIdListByParentId(listNoAuthBookParam.getTempletId());
if (!ListUtils.isEmpty(ids)) {
paramMap.put("templeIds", ids);
}
}
paramMap.put("secondTempletIds", Optional.ofNullable(listNoAuthBookParam.getSecondTempletId()).map(Lists::newArrayList).orElse(Lists.newArrayList()));
PageParam pageParam = new PageParam(listNoAuthBookParam.getCurrentPage(), listNoAuthBookParam.getNumPerPage());
PageBeanNew pageBean = bookDao.listPageNew(pageParam, paramMap, "listNoAuthBook");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
......
......@@ -3,13 +3,13 @@
*/
package com.pcloud.book.book.dao;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
import java.util.Map;
/**
* @描述:编辑管理书籍数据访问层接口类
* @作者:songx
......@@ -238,4 +238,9 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<AdviserBookInfoDTO> listAdviserBookInfo(AviserBookInfoParam aviserBookInfoParam);
Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto);
/**
* 刷数据使用,请勿使用
*/
int updateBookBySecondTempletId(Long parentId, Long originTempletId,Long secondTempletId);
}
......@@ -3,16 +3,16 @@
*/
package com.pcloud.book.book.dao.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.*;
import org.springframework.stereotype.Repository;
import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @描述:编辑管理书籍数据访问层接口实现类
......@@ -229,4 +229,13 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
public Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto) {
return super.getSqlSession().selectMap(this.getStatement("getBookCountByAdviserId"),bookCountByAdvisersDto,"adviserId");
}
@Override
public int updateBookBySecondTempletId(Long parentId,Long originTempletId, Long secondTempletId) {
Map<String,Object> map = Maps.newHashMap();
map.put("parentId",parentId);
map.put("originTempletId",originTempletId);
map.put("secondTempletId",secondTempletId);
return getSqlSession().update(getStatement("updateBookBySecondTempletId"),map);
}
}
......@@ -151,7 +151,8 @@ public interface BookFacade {
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "bookStatus", required = false) Integer bookStatus)
@RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId)
throws BizException, PermissionException;
@ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET")
......@@ -354,7 +355,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "mainEditorName", value = "主编辑名称", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "isFundSupport", value = "基金支持", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "isbn", value = "isbn", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query")})
@ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "secondTempletId", value = "图书类型二级标识", dataType = "long", paramType = "query")})
@RequestMapping(value = "listPage4Agent", method = RequestMethod.GET)
ResponseDto<PageBean> listPage4Agent(@RequestHeader("token") String token,
@RequestParam(value = "bookName", required = false) String bookName,
......@@ -365,7 +367,8 @@ public interface BookFacade {
@RequestParam(value = "mainEditorName", required = false) String mainEditorName,
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "isbn", required = false) String isbn,
@RequestParam(value = "templetId", required = false) Long templetId)
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId)
throws BizException, PermissionException, JsonParseException;
/**
......@@ -443,7 +446,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "endDate", value = "结束日期", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "bookName", value = "书刊名称", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "currentPage", value = "当前页数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query")})
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "secondTempletId", value = "书刊分类二级列表标识", dataType = "long", paramType = "query")})
@RequestMapping(value = "listBookClassify", method = RequestMethod.GET)
ResponseDto<PageBean> listBookClassify(@RequestHeader("token") String token,
@RequestParam(value = "typeCode", required = false) String typeCode,
......@@ -452,7 +456,8 @@ public interface BookFacade {
@RequestParam(value = "endDate", required = false) String endDate,
@RequestParam(value = "bookName", required = false) String bookName,
@RequestParam(value = "currentPage") Integer currentPage,
@RequestParam(value = "numPerPage") Integer numPerPage)
@RequestParam(value = "numPerPage") Integer numPerPage,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId)
throws BizException, PermissionException, JsonParseException;
@ApiOperation(value = "导出平台下所有书刊excel表(平台端)", httpMethod = "GET")
......
......@@ -149,7 +149,7 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
@RequestParam(value = "channelId", required = false) Long channelId)
throws BizException, PermissionException, JsonParseException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
bookAdviserBiz.recoverBook4Adviser(bookId, adviserId, channelId, null);
bookAdviserBiz.recoverBook4Adviser(bookId, adviserId, channelId, null,null);
return new ResponseDto<>();
}
......
......@@ -23,19 +23,9 @@ import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* @描述:书籍接口实现类
......@@ -247,7 +237,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "bookId", required = false) Integer bookId,
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "bookStatus", required = false) Integer bookStatus)
@RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId",required = false) Long secondTempletId)
throws BizException, PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
......@@ -265,6 +256,8 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("bookId", bookId);
paramMap.put("templetId", templetId);
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);
return new ResponseDto<>(pageBean);
}
......@@ -489,7 +482,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "mainEditorName", required = false) String mainEditorName,
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "isbn", required = false) String isbn,
@RequestParam(value = "templetId", required = false) Long templetId)
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId)
throws BizException, PermissionException {
Long agentId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage < 0 || numPerPage < 0) {
......@@ -504,6 +498,8 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("isFundSupport", isFundSupport);
paramMap.put("isbn", isbn);
paramMap.put("templetId", templetId);
paramMap.put("secondTempletId",secondTempletId);
paramMap.put("secondTempletIds",Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
return new ResponseDto<>(
bookBiz.listPage4Agent(new PageParam(currentPage, numPerPage), paramMap, agentId));
}
......@@ -607,7 +603,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "endDate", required = false) String endDate,
@RequestParam(value = "bookName", required = false) String bookName,
@RequestParam(value = "currentPage") Integer currentPage,
@RequestParam(value = "numPerPage") Integer numPerPage)
@RequestParam(value = "numPerPage") Integer numPerPage,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId)
throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
......@@ -619,6 +616,8 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("startDate", startDate);
paramMap.put("endDate", endDate);
paramMap.put("bookName", bookName);
paramMap.put("secondTempletId", secondTempletId);
paramMap.put("secondTempletIds",Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
PageBean pageBean = bookBiz.listBookClassify(new PageParam(currentPage, numPerPage), paramMap);
return new ResponseDto<>(pageBean);
}
......
......@@ -3,27 +3,20 @@
*/
package com.pcloud.book.book.service.impl;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.service.BookAdviserService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* @描述:编辑推广书籍接口类实现类
......@@ -99,4 +92,17 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Map<Long, BookCountAndAdviserIdDTO>>> getBookCountByAdviserId(@RequestBody BookCountByAdvisersDto bookCountByAdvisersDto) throws BizException {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookCountByAdviserId(bookCountByAdvisersDto));
}
@Override
@GetMapping("refactorData")
public ResponseEntity<ResponseDto<String>> refactorData(@RequestParam("parentId") Long parentId,
@RequestParam("originTempletId") Long originTempletId,
@RequestParam(value = "secondTempletId",required = false) Long secondTempletId) throws BizException {
if(Objects.isNull(parentId) || Objects.isNull(originTempletId)){
return ResponseHandleUtil.toResponse("param is wrong");
}
bookAdviserBiz.refactorData(parentId,originTempletId,secondTempletId);
return ResponseHandleUtil.toResponse("ok");
}
}
......@@ -3,20 +3,6 @@
*/
package com.pcloud.book.book.set;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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;
......@@ -32,15 +18,7 @@ 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.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.dto.*;
import com.pcloud.book.book.entity.BookDefendant;
import com.pcloud.book.book.tools.BookTools;
import com.pcloud.book.book.vo.NoAuthBookVO;
......@@ -54,11 +32,7 @@ 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.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.user.*;
import com.pcloud.book.consumer.voicemessage.MerchantVideoConsr;
import com.pcloud.channelcenter.base.constants.MessageFromTypeEnum;
import com.pcloud.channelcenter.qrcode.dto.QrcodeLocationDto;
......@@ -87,6 +61,18 @@ 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;
/**
* @描述:图书信息填充
......@@ -988,29 +974,46 @@ public class BookSet {
if (ListUtils.isEmpty(recordList)) {
return;
}
List<Long> templetIds = new ArrayList<Long>();
for (Object object : recordList) {
BookDto bookDto = (BookDto) object;
if (bookDto.getTempletId() != null) {
templetIds.add(bookDto.getTempletId());
}
}
Map<Long, AssistTempletDTO> assistTempletIds = assistTempletConsr.mapByIds(templetIds);
if (!MapUtils.isEmpty(assistTempletIds)) {
for (Object object : recordList) {
BookDto bookDto = (BookDto) object;
if (bookDto.getTempletId() != null) {
AssistTempletDTO assistTempletDTO = assistTempletIds.get(bookDto.getTempletId());
if (assistTempletDTO != null) {
bookDto.setTempletName(assistTempletDTO.getTempletName());
bookDto.setQrRemark(assistTempletDTO.getRemark());
}
// 有二级列表优先展示二级列表,无则展示一级列表
List<Long> templetIds = recordList.stream()
.map(bookDto -> {
BookDto book = (BookDto)bookDto;
if (Objects.nonNull(book.getSecondTempletId())) {
return book.getSecondTempletId();
}
return book.getTempletId();
})
.filter(Objects::nonNull)
.collect(Collectors.toList());
final Map<Long, AssistTempletDTO> assistTempletIds = assistTempletConsr.mapByIds(templetIds);
if(MapUtils.isEmpty(assistTempletIds)){
LOGGER.info("设置模板名称【END】");
return;
}
recordList.forEach(bookDto -> {
BookDto book = (BookDto)bookDto;
Long secondTempletId = book.getSecondTempletId();
Long templetId = book.getTempletId();
if (Objects.nonNull(secondTempletId)) {
setBookDtoTempletInfo(assistTempletIds, book, secondTempletId);
} else if (Objects.nonNull(templetId)) {
setBookDtoTempletInfo(assistTempletIds, book, templetId);
}
});
LOGGER.info("设置模板名称【END】");
}
private void setBookDtoTempletInfo(Map<Long, AssistTempletDTO> assistTempletIds, BookDto bookDto, Long secondTempletId) {
AssistTempletDTO templetDTO = assistTempletIds.get(secondTempletId);
bookDto.setTempletName(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getTempletName).orElse(null));
bookDto.setQrRemark(Optional.ofNullable(templetDTO).map(AssistTempletDTO::getRemark).orElse(null));
}
/**
* 设置待审核数
* @param recordList
......@@ -1052,18 +1055,25 @@ public class BookSet {
if (bookDto == null || bookDto.getTempletId() == null) {
return;
}
List<Long> templetIds = new ArrayList<Long>();
Long templetId = bookDto.getTempletId();
templetIds.add(templetId);
List<Long> templetIds = new ArrayList<>();
if(Objects.nonNull(bookDto.getSecondTempletId())){
templetIds.add(bookDto.getSecondTempletId());
}else if(Objects.nonNull(bookDto.getTempletId())){
templetIds.add(bookDto.getTempletId());
}
Map<Long, AssistTempletDTO> assistTempletMap = assistTempletConsr.mapByIds(templetIds);
if (MapUtils.isEmpty(assistTempletMap)) {
return;
}
AssistTempletDTO assistTempletDTO = assistTempletMap.get(templetId);
if (assistTempletDTO != null) {
bookDto.setTempletName(assistTempletDTO.getTempletName());
bookDto.setQrRemark(assistTempletDTO.getRemark());
if(Objects.nonNull(bookDto.getSecondTempletId())){
setBookDtoTempletInfo(assistTempletMap,bookDto,bookDto.getSecondTempletId());
}else if(Objects.nonNull(bookDto.getTempletId())){
setBookDtoTempletInfo(assistTempletMap,bookDto,bookDto.getTempletId());
}
LOGGER.info("设置模板名称【END】");
}
......
......@@ -23,6 +23,9 @@ public class ListNoAuthBookParam implements Serializable {
@ApiModelProperty("图书类型标识")
private Long templetId;
@ApiModelProperty("图书类型标识")
private Long secondTempletId;
@ApiModelProperty("当前页")
private Integer currentPage;
......@@ -58,6 +61,14 @@ public class ListNoAuthBookParam implements Serializable {
return templetId;
}
public Long getSecondTempletId() {
return secondTempletId;
}
public void setSecondTempletId(Long secondTempletId) {
this.secondTempletId = secondTempletId;
}
public void setTempletId(Long templetId) {
this.templetId = templetId;
}
......@@ -104,10 +115,11 @@ public class ListNoAuthBookParam implements Serializable {
@Override
public String toString() {
return "ListNoAuthBookParamVO{" +
return "ListNoAuthBookParam{" +
"name='" + name + '\'' +
", channelId=" + channelId +
", templetId=" + templetId +
", secondTempletId=" + secondTempletId +
", currentPage=" + currentPage +
", numPerPage=" + numPerPage +
", isMainEditor=" + isMainEditor +
......
package com.pcloud.book.copyright.biz.impl;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.pcloud.book.base.enums.BookStatusEnum;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookBiz;
......@@ -54,11 +55,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
......@@ -433,12 +430,7 @@ public class BookAuthInfoBizImpl implements BookAuthInfoBiz {
paramMap.put("name", listHaveAuthBookParam.getName() != null && "".equals(listHaveAuthBookParam.getName().trim()) ? null : listHaveAuthBookParam.getName());
paramMap.put("typeCode", listHaveAuthBookParam.getTypeCode() != null && "".equals(listHaveAuthBookParam.getTypeCode().trim()) ? null : listHaveAuthBookParam.getTypeCode());
paramMap.put("templetId", listHaveAuthBookParam.getTempletId());
if (null != listHaveAuthBookParam.getTempletId()) {
List<Long> ids = assistTempletConsr.getChildIdListByParentId(listHaveAuthBookParam.getTempletId());
if (!ListUtils.isEmpty(ids)) {
paramMap.put("templeIds", ids);
}
}
paramMap.put("secondTempletIds", Optional.ofNullable(listHaveAuthBookParam.getSecondTempletId()).map(Lists::newArrayList).orElse(Lists.newArrayList()));
PageParam pageParam = new PageParam(listHaveAuthBookParam.getCurrentPage(), listHaveAuthBookParam.getNumPerPage());
PageBeanNew pageBean = bookAuthInfoDao.listPageNew(pageParam, paramMap, "listHaveSetAuthBook");
if (pageBean == null || ListUtils.isEmpty(pageBean.getRecordList())) {
......
......@@ -41,6 +41,9 @@ public class ListHaveAuthBookParam implements Serializable {
@ApiModelProperty("图书状态")
private Integer bookStatus;
@ApiModelProperty("第二级图书类型标识")
private Long secondTempletId;
public Integer getBookStatus() {
return bookStatus;
}
......@@ -113,6 +116,14 @@ public class ListHaveAuthBookParam implements Serializable {
this.typeCode = typeCode;
}
public Long getSecondTempletId() {
return secondTempletId;
}
public void setSecondTempletId(Long secondTempletId) {
this.secondTempletId = secondTempletId;
}
@Override
public String toString() {
return "ListHaveAuthBookParam{" +
......@@ -125,6 +136,7 @@ public class ListHaveAuthBookParam implements Serializable {
", isFundSupport=" + isFundSupport +
", typeCode='" + typeCode + '\'' +
", bookStatus=" + bookStatus +
", secondTempletId=" + secondTempletId +
'}';
}
}
......@@ -50,6 +50,8 @@
<result column="BOOK_STATUS" property="bookStatus" jdbcType="BIT" />
<result column="LAST_MODIFIED_DATE" property="lastModifiedDate" jdbcType="TIMESTAMP" />
<result column="BOOK_ADVISER_ID" property="bookAdviserId" jdbcType="BIGINT" />
<result column="SECOND_TEMPLET_ID" property="secondTempletId" jdbcType="BIGINT" />
<result column="SECOND_TYPE_CODE" property="secondTypeCode" jdbcType="BIGINT" />
</resultMap>
<resultMap id="bookListPageMap" type="bookDto" extends ="bookMap">
......@@ -278,7 +280,7 @@
SELECT
B.BOOK_ID, B.TYPE_CODE,B.ISBN, B.BOOK_NAME,T.TYPE_NAME, B.REMARK, B.AUTHOR, B.PUBLISH,
B.PUBLISH_DATE, B.COVER_IMG, B.AD_IMG, B.DETAIL, B.`VERSION`,B.BOOK_PRICE,B.ISSN,B.SERIAL_NUMBER,BA.IS_MAIN_EDITOR,
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,START_TIME,END_TIME,BA.TEMPLET_ID
IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT,START_TIME,END_TIME,BA.TEMPLET_ID,BA.SECOND_TEMPLET_ID
FROM
BOOK_ADVISER BA
INNER JOIN
......@@ -488,10 +490,14 @@
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
<if test="templeIds!=null">
<if test="templetId != null">
AND
A.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
A.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
A.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......@@ -1004,10 +1010,14 @@
AND
B.ISBN LIKE CONCAT(#{isbn},'%')
</if>
<if test="templeIds!=null">
<if test="templetId!=null">
AND
A.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
A.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
A.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......@@ -1158,10 +1168,13 @@
<if test="typeCode!=null">
AND b.TYPE_CODE = #{typeCode, jdbcType=VARCHAR}
</if>
<if test="templeIds!=null">
<if test="templetId!=null">
AND ba.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
ba.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
ba.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......@@ -1193,10 +1206,13 @@
<if test="typeCode!=null">
AND b.TYPE_CODE = #{typeCode, jdbcType=VARCHAR}
</if>
<if test="templeIds!=null">
<if test="templetId!=null">
AND ba.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
ba.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
ba.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......@@ -1213,7 +1229,7 @@
<select id="getAllBook4Platform" resultMap="bookMap" parameterType="map">
SELECT
b.BOOK_ID, b.BOOK_NAME, b.COVER_IMG, b.ISBN, b.PUBLISH,
ba.ADVISER_ID, ba.TEMPLET_ID, ba.CHANNEL_ID, ba.CREATED_DATE,
ba.ADVISER_ID, ba.TEMPLET_ID,ba.SECOND_TEMPLET_ID, ba.CHANNEL_ID, ba.CREATED_DATE,
bt.TYPE_NAME
FROM
BOOK_ADVISER ba
......@@ -1552,10 +1568,14 @@
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
<if test="templeIds!=null">
<if test="templetId != null">
AND
A.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
A.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
A.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......
......@@ -15,6 +15,7 @@
<result column="COUNT" property="count" jdbcType="BIGINT" />
<result column="IS_MAIN_EDITOR" property="isMainEditor" jdbcType="BIT" />
<result column="IS_DELETE" property="isDelete" jdbcType="BIT" />
<result column="SECOND_TEMPLET_ID" property="secondTempletId" jdbcType="BIGINT" />
</resultMap>
<resultMap id="manageAdviserMap" type="adviserManageDto" >
......@@ -27,17 +28,21 @@
<!-- 新增书籍和编辑关联信息-->
<insert id="insert" parameterType="bookAdviser" useGeneratedKeys="true" keyProperty="bookAdviserId" flushCache="true">
INSERT INTO BOOK_ADVISER (
BOOK_ID, ADVISER_ID, CHANNEL_ID, CREATED_USER, CREATED_DATE,IS_MAIN_EDITOR, TEMPLET_ID
BOOK_ID, ADVISER_ID, CHANNEL_ID, CREATED_USER, CREATED_DATE,IS_MAIN_EDITOR, TEMPLET_ID, SECOND_TEMPLET_ID
)
VALUES (
#{bookId, jdbcType=VARCHAR}, #{adviserId, jdbcType=VARCHAR}, #{channelId, jdbcType=VARCHAR},
#{adviserId, jdbcType=BIGINT}, NOW(),#{isMainEditor, jdbcType=BIT},#{templetId, jdbcType=BIGINT}
#{adviserId, jdbcType=BIGINT}, NOW(),#{isMainEditor, jdbcType=BIT},#{templetId, jdbcType=BIGINT},
#{secondTempletId, jdbcType=BIGINT}
)
ON
DUPLICATE KEY UPDATE IS_DELETE = 0, IS_MAIN_EDITOR = #{isMainEditor, jdbcType=BIT}
<if test="templetId!=null">
,TEMPLET_ID=#{templetId, jdbcType=BIGINT}
</if>
<if test="secondTempletId!=null">
,SECOND_TEMPLET_ID=#{secondTempletId, jdbcType=BIGINT}
</if>
</insert>
<!-- 批量新增书籍和编辑关联信息-->
......@@ -346,6 +351,9 @@
BOOK_ADVISER
SET
TEMPLET_ID = #{templetId, jdbcType=BIGINT}
<if test="secondTempletId!=null">
,SECOND_TEMPLET_ID = #{secondTempletId, jdbcType=BIGINT}
</if>
WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT}
AND
......@@ -398,6 +406,9 @@
<if test="templetId != null">
,TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletId != null">
,SECOND_TEMPLET_ID = #{secondTempletId}
</if>
,LAST_MODIFIED_DATE = NOW()
WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT}
......@@ -487,4 +498,17 @@
GROUP BY adviser_id
</select>
<!--刷数据使用,请勿使用-->
<update id="updateBookBySecondTempletId" parameterType="map">
UPDATE
book_adviser
SET
<if test="secondTempletId!=null">
SECOND_TEMPLET_ID = #{secondTempletId},
</if>
TEMPLET_ID = #{parentId}
WHERE
TEMPLET_ID = #{originTempletId}
</update>
</mapper>
\ No newline at end of file
......@@ -93,10 +93,13 @@
AND
BF.BOOK_FUND_ID IS NOT NULL
</if>
<if test="templeIds!=null">
<if test="templetId != null">
AND A.TEMPLET_ID = #{templetId}
</if>
<if test="secondTempletIds!=null and secondTempletIds.size()>0">
AND
A.TEMPLET_ID in
<foreach collection="templeIds" item="item" open="(" separator="," close=")">
A.SECOND_TEMPLET_ID in
<foreach collection="secondTempletIds" item="item" open="(" separator="," close=")">
${item}
</foreach>
</if>
......
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