Commit 7634c8d4 by 朱亚洁

feat:[1004073]RAYS新增保底支持书刊

parent 89368bf9
...@@ -761,6 +761,30 @@ public class BookDto extends BaseDto { ...@@ -761,6 +761,30 @@ public class BookDto extends BaseDto {
* 权益id * 权益id
*/ */
private Long rightsSettingId; private Long rightsSettingId;
/**
* 书刊保底支持
*/
private List<BookMinimumSupportDTO> bookMinimumSupports;
/**
* 书刊是否有保底支持
*/
private Boolean minimumSupport;
public Boolean getMinimumSupport() {
return minimumSupport;
}
public void setMinimumSupport(Boolean minimumSupport) {
this.minimumSupport = minimumSupport;
}
public List<BookMinimumSupportDTO> getBookMinimumSupports() {
return bookMinimumSupports;
}
public void setBookMinimumSupports(List<BookMinimumSupportDTO> bookMinimumSupports) {
this.bookMinimumSupports = bookMinimumSupports;
}
public Long getRightsSettingId() { public Long getRightsSettingId() {
return rightsSettingId; return rightsSettingId;
...@@ -2295,6 +2319,8 @@ public class BookDto extends BaseDto { ...@@ -2295,6 +2319,8 @@ public class BookDto extends BaseDto {
", jumpType=" + jumpType + ", jumpType=" + jumpType +
", jumpUrl='" + jumpUrl + '\'' + ", jumpUrl='" + jumpUrl + '\'' +
", rightsSettingId=" + rightsSettingId + ", rightsSettingId=" + rightsSettingId +
", bookMinimumSupports=" + bookMinimumSupports +
", minimumSupport=" + minimumSupport +
", bookAdviserDto=" + bookAdviserDto + ", bookAdviserDto=" + bookAdviserDto +
'}'; '}';
} }
......
package com.pcloud.book.book.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.dto.BaseDto;
import java.util.Date;
import lombok.Data;
/**
* 书刊保底支持(BookMinimumSupport)实体类
*
* @author makejava
* @since 2020-12-31 16:47:20
*/
@Data
public class BookMinimumSupportDTO extends BaseDto {
private static final long serialVersionUID = -37536073957919349L;
/**
* 主键
*/
private Long id;
/**
* 书刊id
*/
private Long bookId;
/**
* 保底开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
/**
* 保底结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
/**
* 印册量
*/
private Integer printAmount;
/**
* 备注
*/
private String remark;
/**
* 创建人
*/
private Long createUser;
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
private Date createTime;
}
\ No newline at end of file
package com.pcloud.book.book.dto;
import com.pcloud.common.dto.BaseDto;
import java.util.List;
import lombok.Data;
/**
* 书刊保底支持(BookMinimumSupport)
*
* @author makejava
* @since 2020-12-31 16:47:20
*/
@Data
public class BookMinimumSupportDTO4Service extends BaseDto {
private static final long serialVersionUID = -37536073957919349L;
private List<BookMinimumSupportDTO> supportDTOS;
}
\ No newline at end of file
package com.pcloud.book.book.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import java.util.Date;
import lombok.Data;
/**
* 书刊保底支持(BookMinimumSupport)实体类
*
* @author makejava
* @since 2020-12-31 16:47:20
*/
@Data
public class BookMinimumSupport extends BaseEntity {
private static final long serialVersionUID = -37536073957919349L;
/**
* 主键
*/
private Long id;
/**
* 书刊id
*/
private Long bookId;
/**
* 保底开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
/**
* 保底结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
/**
* 印册量
*/
private Integer printAmount;
/**
* 备注
*/
private String remark;
/**
* 创建人
*/
private Long createUser;
/**
* 修改人
*/
private Long updateUser;
}
\ No newline at end of file
...@@ -9,6 +9,7 @@ import com.pcloud.book.book.dto.BookDto; ...@@ -9,6 +9,7 @@ import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO; import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -18,6 +19,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -18,6 +19,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; 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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
...@@ -288,4 +290,15 @@ public interface BookService { ...@@ -288,4 +290,15 @@ public interface BookService {
ResponseEntity<ResponseDto<Long>> getWxworkGroupQrcodeIdBySceneOrBookGroup( ResponseEntity<ResponseDto<Long>> getWxworkGroupQrcodeIdBySceneOrBookGroup(
@RequestParam(value = "sceneId", required = false) Long sceneId, @RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId); @RequestParam(value = "bookGroupId", required = false) Long bookGroupId);
@ApiOperation(value = "判断书刊某时间是否有保底支持", httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "bookId", value = "图书标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "date", value = "时间", dataType = "String", paramType = "query")})
@RequestMapping(value = "/isBookMinimumSupport", method = RequestMethod.GET)
ResponseEntity<ResponseDto<Boolean>> isBookMinimumSupport(@RequestParam(value = "bookId", required = false) Long bookId,
@RequestParam(value = "date", required = false) String date) throws BizException;
@ApiOperation("书刊保底支持")
@PostMapping("mapBookMinimunSupport")
ResponseEntity<ResponseDto<Map<Long, BookMinimumSupportDTO4Service>>> mapBookMinimunSupport(@RequestBody List<Long> bookIds);
} }
...@@ -777,4 +777,14 @@ public interface BookBiz { ...@@ -777,4 +777,14 @@ public interface BookBiz {
*版次分析 *版次分析
*/ */
EditionAnalysisResultVO bookEditionAnalysis(Long adviserId); EditionAnalysisResultVO bookEditionAnalysis(Long adviserId);
/**
* 保底支持书刊
* @author:zhuyajie
* @date:2021/1/4 11:45
* * @param null
*/
PageBeanNew<BookDto> listPageBookMinimunSupport4Platform(Integer currentPage, Integer numPerPage,
String isbn, String bookName, String publish, String serialNumber, Integer isCurrentMonth, Integer isOverdue,
Long agentId) throws BizException;
} }
...@@ -161,4 +161,12 @@ public interface BookFundBiz { ...@@ -161,4 +161,12 @@ public interface BookFundBiz {
BookFundInfoDto getUseFundInfo(Long bookId, String useDate); BookFundInfoDto getUseFundInfo(Long bookId, String useDate);
Boolean getIsHaveFundBefore(Long bookId); Boolean getIsHaveFundBefore(Long bookId);
/**
* 获取基金书数量
* @author:zhuyajie
* @date:2021/1/6 9:43
* * @param null
*/
Integer getFundBookCount();
} }
package com.pcloud.book.book.biz;
import com.pcloud.book.book.dto.BookMinimumSupportDTO;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.book.book.entity.BookMinimumSupport;
import java.util.List;
import java.util.Map;
/**
* 书刊保底
* @author:zhuyajie
* @date:2020/12/31 16:58
* * @param null
*/
public interface BookMinimumSupportBiz {
/**
* 设置保底支持
* @author:zhuyajie
* @date:2020/12/31 16:59
* * @param null
*/
void createBookMinimumSupport(BookMinimumSupport bookMinimumSupport);
/**
* 修改保底支持
* @author:zhuyajie
* @date:2021/1/4 10:26
* * @param null
*/
void updateBookMinimumSupport(BookMinimumSupport bookMinimumSupport);
/**
* 是否保底支持
* @author:zhuyajie
* @date:2021/1/4 14:48
* * @param null
*/
Boolean isBookMinimumSupport(Long bookId, String date);
/**
* 书刊保底支持
* @author:zhuyajie
* @date:2021/1/6 12:37
* * @param null
*/
Map<Long, BookMinimumSupportDTO4Service> mapBookMinimunSupport(List<Long> bookIds);
}
...@@ -39,6 +39,7 @@ import com.pcloud.book.book.dao.BookDao; ...@@ -39,6 +39,7 @@ import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dao.BookEdtionDao; import com.pcloud.book.book.dao.BookEdtionDao;
import com.pcloud.book.book.dao.BookLabelDao; import com.pcloud.book.book.dao.BookLabelDao;
import com.pcloud.book.book.dao.BookRaysClassifyDao; import com.pcloud.book.book.dao.BookRaysClassifyDao;
import com.pcloud.book.book.dao.BookTypeDao;
import com.pcloud.book.book.dao.EdtionRecordDao; import com.pcloud.book.book.dao.EdtionRecordDao;
import com.pcloud.book.book.dao.QrcodeSceneErpDao; import com.pcloud.book.book.dao.QrcodeSceneErpDao;
import com.pcloud.book.book.dao.SeriesBookDao; import com.pcloud.book.book.dao.SeriesBookDao;
...@@ -55,7 +56,9 @@ import com.pcloud.book.book.dto.BookFundDto; ...@@ -55,7 +56,9 @@ import com.pcloud.book.book.dto.BookFundDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO; import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.dto.BookMinimumSupportDTO;
import com.pcloud.book.book.dto.BookNameUpdateDTO; import com.pcloud.book.book.dto.BookNameUpdateDTO;
import com.pcloud.book.book.dto.BookTypeDto;
import com.pcloud.book.book.dto.BookUniqueNumberDTO; import com.pcloud.book.book.dto.BookUniqueNumberDTO;
import com.pcloud.book.book.dto.CreateBookResultVO; import com.pcloud.book.book.dto.CreateBookResultVO;
import com.pcloud.book.book.dto.CreateBookVO; import com.pcloud.book.book.dto.CreateBookVO;
...@@ -313,6 +316,8 @@ public class BookBizImpl implements BookBiz { ...@@ -313,6 +316,8 @@ public class BookBizImpl implements BookBiz {
private BookEdtionDao bookEdtionDao; private BookEdtionDao bookEdtionDao;
@Autowired @Autowired
private EdtionRecordDao edtionRecordDao; private EdtionRecordDao edtionRecordDao;
@Autowired
private BookTypeDao bookTypeDao;
/** /**
* 创建书籍,同时建立与编辑的推广关系 * 创建书籍,同时建立与编辑的推广关系
...@@ -3869,4 +3874,64 @@ public class BookBizImpl implements BookBiz { ...@@ -3869,4 +3874,64 @@ public class BookBizImpl implements BookBiz {
resultVO.setEditionAnalysisVO(editionAnalysisVO); resultVO.setEditionAnalysisVO(editionAnalysisVO);
return resultVO; return resultVO;
} }
@Override
public PageBeanNew<BookDto> listPageBookMinimunSupport4Platform(Integer currentPage, Integer numPerPage, String isbn, String bookName, String publish, String serialNumber, Integer isCurrentMonth, Integer isOverdue, Long agentId) throws BizException {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("isbn", isbn != null && "".equals(isbn.trim()) ? null : isbn);
paramMap.put("bookName", bookName != null && "".equals(bookName.trim()) ? null : bookName);
paramMap.put("publish", publish != null && "".equals(publish.trim()) ? null : publish);
paramMap.put("serialNumber", serialNumber != null && "".equals(serialNumber.trim()) ? null : serialNumber);
paramMap.put("isCurrentMonth", isCurrentMonth);
paramMap.put("isOverdue", isOverdue);
paramMap.put("currentPage", currentPage * numPerPage);
paramMap.put("numPerPage", numPerPage);
if (null != agentId){
List<Long> adviserIds = adviserConsr.getByAgentId(agentId);
if (ListUtils.isEmpty(adviserIds)) {
return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>());
}
paramMap.put("adviserIds", adviserIds);
}
Integer totalCount = bookDao.getBookMinimunSupportCount4Platform(paramMap);
if (totalCount<=0){
return new PageBeanNew<>(currentPage,numPerPage,0,new ArrayList<>());
}
List<BookDto> bookList = bookDao.listPageBookMinimunSupport4Platform(paramMap);
if (ListUtils.isEmpty(bookList)){
return new PageBeanNew<>(currentPage,numPerPage,totalCount,new ArrayList<>());
}
// 获取图书类型名称
Map<String, BookTypeDto> typeCodeMap = bookTypeDao.getTypeCodeMap();
List<Long> adviserIds = bookList.stream().map(x -> x.getAdviserId()).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> agentMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
for (BookDto bookDto:bookList){
List<BookMinimumSupportDTO> supportDTOS = bookDto.getBookMinimumSupports();
boolean minimumSupport = false;
if (!ListUtils.isEmpty(supportDTOS)) {
for (BookMinimumSupportDTO supportDTO : supportDTOS) {
Date endTime = supportDTO.getEndTime();
if (new Date().before(endTime)) {
minimumSupport = true;
break;
}
}
}
bookDto.setMinimumSupport(minimumSupport);
// 设置图书类型名称
if (null != typeCodeMap && typeCodeMap.get(bookDto.getTypeCode()) != null) {
String typeName = typeCodeMap.get(bookDto.getTypeCode()).getTypeName();
bookDto.setTypeName(typeName);
}
// 设置出版社名称
if (!MapUtils.isEmpty(agentMap) && agentMap.containsKey(bookDto.getAdviserId())) {
AdviserBaseInfoDto dto = agentMap.get(bookDto.getAdviserId());
if (Objects.nonNull(dto)) {
bookDto.setAgentId(dto.getAgentId());
bookDto.setAgentName(dto.getAgentName());
}
}
}
return new PageBeanNew<>(currentPage, numPerPage, totalCount, bookList);
}
} }
...@@ -62,6 +62,10 @@ public class BookFreezeBizImpl implements BookFreezeBiz { ...@@ -62,6 +62,10 @@ public class BookFreezeBizImpl implements BookFreezeBiz {
LOGGER.info("【图书收益冻结管理(平台端)】冻结收益,<START>.[bookFreeze]=" + bookFreeze.toString()); LOGGER.info("【图书收益冻结管理(平台端)】冻结收益,<START>.[bookFreeze]=" + bookFreeze.toString());
// 校验冻结参数 // 校验冻结参数
this.checkFundParam(bookFreeze); this.checkFundParam(bookFreeze);
BookFreezeDto bookFreezeDto = this.getBaseById(bookFreeze.getBookId());
if (bookFreezeDto != null) {
throw new BookBizException(BookBizException.ERROR, "该图书已有冻结记录!");
}
try { try {
bookFreezeDao.insert(bookFreeze); bookFreezeDao.insert(bookFreeze);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -355,4 +355,9 @@ public class BookFundBizImpl implements BookFundBiz { ...@@ -355,4 +355,9 @@ public class BookFundBizImpl implements BookFundBiz {
Boolean isHaveFundBefore = bookFundDao.getIsHaveFundBefore(bookId); Boolean isHaveFundBefore = bookFundDao.getIsHaveFundBefore(bookId);
return isHaveFundBefore; return isHaveFundBefore;
} }
@Override
public Integer getFundBookCount() {
return bookFundDao.getFundBookCount();
}
} }
package com.pcloud.book.book.biz.impl;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookFreezeBiz;
import com.pcloud.book.book.biz.BookMinimumSupportBiz;
import com.pcloud.book.book.dao.BookMinimumSupportDao;
import com.pcloud.book.book.dto.BookFreezeDto;
import com.pcloud.book.book.dto.BookMinimumSupportDTO;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.book.book.entity.BookMinimumSupport;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @ClassName com.pcloud.book.book.biz.impl.BookMinimumSupportBizImpl
* @Author zhuyajie
* @Description 书刊保底
* @Date 2020/12/31 16:58
* @Version 1.0
**/
@Component
public class BookMinimumSupportBizImpl implements BookMinimumSupportBiz {
@Autowired
private BookMinimumSupportDao minimumSupportDao;
@Autowired
private BookFreezeBiz bookFreezeBiz;
@Override
public void createBookMinimumSupport(BookMinimumSupport bookMinimumSupport) {
if (null == bookMinimumSupport.getBookId()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "书籍标识码不能为空!");
}
if (null == bookMinimumSupport.getStartTime()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "保底支持开始时间不能为空!");
}
if (null == bookMinimumSupport.getEndTime()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "保底支持结束时间不能为空!");
}
// 判断有效期是否重复
timeIsExsit(bookMinimumSupport);
minimumSupportDao.insert(bookMinimumSupport);
}
@Override
public void updateBookMinimumSupport(BookMinimumSupport bookMinimumSupport) {
if (null == bookMinimumSupport.getBookId()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "书籍标识码不能为空!");
}
if (null == bookMinimumSupport.getStartTime()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "保底支持开始时间不能为空!");
}
if (null == bookMinimumSupport.getEndTime()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "保底支持结束时间不能为空!");
}
BookMinimumSupport support = minimumSupportDao.getById(bookMinimumSupport.getId());
if (null == support) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "该保底支持不存在!");
}
// 判断有效期是否重复
timeIsExsit(bookMinimumSupport);
minimumSupportDao.update(bookMinimumSupport);
}
/**
* 判断有效期是否重复
*/
private void timeIsExsit(BookMinimumSupport bookMinimumSupport) throws BizException {
Long bookId = bookMinimumSupport.getBookId();
BookFreezeDto bookFreezeDto = bookFreezeBiz.getBaseById(bookId);
if (bookFreezeDto != null) {
throw new BookBizException(BookBizException.ERROR, "该图书已有冻结记录!");
}
if (bookMinimumSupport.getStartTime().before(new Date())) {
throw new BookBizException(BookBizException.ERROR, "开始日期要大于当前日期!");
}
List<BookMinimumSupportDTO> supportList = new ArrayList<>();
if (null == bookMinimumSupport.getId()) {// 新增
supportList = minimumSupportDao.getByBookId(bookId);
} else { // 修改
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId);
paramMap.put("id", bookMinimumSupport.getId());
supportList = minimumSupportDao.getMinimunListByMap(paramMap);
}
if (ListUtils.isEmpty(supportList)) {
return;
}
Long sTime = bookMinimumSupport.getStartTime().getTime();// 未加开始时间
Long eTime = bookMinimumSupport.getEndTime().getTime();// 未加结束时间
for (BookMinimumSupportDTO support : supportList) {
Long startTime = support.getStartTime().getTime();// 已加开始时间
Long endTime = support.getEndTime().getTime();// 已加结束时间
if (startTime < sTime && sTime < endTime) {// 未加开始时间不在已加有效期之内,否则重复
throw new BookBizException(BookBizException.PARAM_IS_EXIST, "保底支持有效期已存在!");
}
if (startTime < eTime && eTime < endTime) {// 未加结束时间不在已加有效期之内,否则重复
throw new BookBizException(BookBizException.PARAM_IS_EXIST, "保底支持有效期已存在!");
}
if (sTime < startTime && startTime < eTime) {// 已加开始时间不在未加有效期之内,否则重复
throw new BookBizException(BookBizException.PARAM_IS_EXIST, "保底支持有效期已存在!");
}
if (sTime < endTime && endTime < eTime) {// 已加结束时间不在未加有效期之内,否则重复
throw new BookBizException(BookBizException.PARAM_IS_EXIST, "保底支持有效期已存在!");
}
if (sTime.equals(startTime) && eTime.equals(endTime)) {// 已加有效期与未加有效期相同
throw new BookBizException(BookBizException.PARAM_IS_EXIST, "保底支持有效期已存在!");
}
}
}
@Override
@ParamLog("书刊是否保底支持")
public Boolean isBookMinimumSupport(Long bookId, String date) {
if (null == bookId || null == date) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数缺失!");
}
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId);
paramMap.put("date", date);
List<BookMinimumSupportDTO> minimumSupportDTOS = minimumSupportDao.getByParamMap(paramMap);
Boolean isOcuppy = false;
if (!ListUtils.isEmpty(minimumSupportDTOS)) {
isOcuppy = true;
}
return isOcuppy;
}
@Override
public Map<Long, BookMinimumSupportDTO4Service> mapBookMinimunSupport(List<Long> bookIds) {
Map<Long, BookMinimumSupportDTO4Service> supportDTOMap = new HashMap<>();
if (ListUtils.isEmpty(bookIds)) {
return supportDTOMap;
}
List<BookMinimumSupportDTO> list = minimumSupportDao.getByBookIds(bookIds);
if (ListUtils.isEmpty(list)){
return supportDTOMap;
}
Map<Long, List<BookMinimumSupportDTO>> listMap = list.stream().collect(Collectors.groupingBy(BookMinimumSupportDTO::getBookId));
for (Map.Entry<Long, List<BookMinimumSupportDTO>> entry: listMap.entrySet()){
BookMinimumSupportDTO4Service supportDTO4Service = new BookMinimumSupportDTO4Service();
supportDTO4Service.setSupportDTOS(entry.getValue());
supportDTOMap.put(entry.getKey(), supportDTO4Service);
}
return supportDTOMap;
}
}
...@@ -374,4 +374,8 @@ public interface BookDao extends BaseDao<Book> { ...@@ -374,4 +374,8 @@ public interface BookDao extends BaseDao<Book> {
BookDto getBaseById4Buy(Map<String, Object> paramMap); BookDto getBaseById4Buy(Map<String, Object> paramMap);
List<Long> getByIds(List<Long> esBookIds); List<Long> getByIds(List<Long> esBookIds);
List<BookDto> listPageBookMinimunSupport4Platform(Map<String, Object> paramMap);
Integer getBookMinimunSupportCount4Platform(Map<String, Object> paramMap);
} }
...@@ -130,4 +130,11 @@ public interface BookFundDao extends BaseDao<BookFund> { ...@@ -130,4 +130,11 @@ public interface BookFundDao extends BaseDao<BookFund> {
* @return * @return
*/ */
Boolean getIsHaveFundBefore(Long bookId); Boolean getIsHaveFundBefore(Long bookId);
/**
* 获取基金书数量
* @author:zhuyajie
* @date:2021/1/6 9:43
* * @param null
*/
Integer getFundBookCount();
} }
package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.BookMinimumSupportDTO;
import com.pcloud.book.book.entity.BookMinimumSupport;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
import java.util.Map;
/**
* 书刊保底支持(BookMinimumSupport)表数据库访问层
*
* @author makejava
* @since 2020-12-31 16:47:21
*/
public interface BookMinimumSupportDao extends BaseDao<BookMinimumSupport>{
/**
* 根据书刊查询
* @author:zhuyajie
* @date:2021/1/4 10:24
* * @param null
*/
List<BookMinimumSupportDTO> getByBookId(Long bookId);
/**
* 获取不包含自己的保底支持
* @author:zhuyajie
* @date:2021/1/4 10:58
* * @param null
*/
List<BookMinimumSupportDTO> getMinimunListByMap(Map<String, Object> paramMap);
/**
* 最近保底支持
* @author:zhuyajie
* @date:2021/1/4 12:01
* * @param null
*/
BookMinimumSupportDTO getInfoByBookId(Long bookId);
/**
* 查保底支持
* @author:zhuyajie
* @date:2021/1/4 14:50
* * @param null
*/
List<BookMinimumSupportDTO> getByParamMap(Map<String, Object> paramMap);
/**
* 查书刊保底支持
* @author:zhuyajie
* @date:2021/1/6 13:39
* * @param null
*/
List<BookMinimumSupportDTO> getByBookIds(List<Long> bookIds);
}
\ No newline at end of file
...@@ -437,4 +437,14 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao { ...@@ -437,4 +437,14 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public List<Long> getByIds(List<Long> bookIds) { public List<Long> getByIds(List<Long> bookIds) {
return getSqlSession().selectList(getStatement("getByIds"), bookIds); return getSqlSession().selectList(getStatement("getByIds"), bookIds);
} }
@Override
public List<BookDto> listPageBookMinimunSupport4Platform(Map<String, Object> paramMap) {
return getSessionTemplate().selectList(getStatement("listPageBookMinimunSupport4Platform"), paramMap);
}
@Override
public Integer getBookMinimunSupportCount4Platform(Map<String, Object> paramMap){
return getSessionTemplate().selectOne(getStatement("getBookMinimunSupportCount4Platform"), paramMap);
}
} }
...@@ -124,4 +124,9 @@ public class BookFundDaoImpl extends BaseDaoImpl<BookFund> implements BookFundDa ...@@ -124,4 +124,9 @@ public class BookFundDaoImpl extends BaseDaoImpl<BookFund> implements BookFundDa
public Boolean getIsHaveFundBefore(Long bookId) { public Boolean getIsHaveFundBefore(Long bookId) {
return super.getSqlSession().selectOne(this.getStatement("getIsHaveFundBefore"),bookId); return super.getSqlSession().selectOne(this.getStatement("getIsHaveFundBefore"),bookId);
} }
@Override
public Integer getFundBookCount() {
return getSessionTemplate().selectOne(getStatement("getFundBookCount"));
}
} }
package com.pcloud.book.book.dao.impl;
import com.pcloud.book.book.dao.BookMinimumSupportDao;
import com.pcloud.book.book.dto.BookMinimumSupportDTO;
import com.pcloud.book.book.entity.BookMinimumSupport;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName com.pcloud.book.book.dao.impl.BookMinimumSupportDaoImpl
* @Author zhuyajie
* @Description 书刊保底
* @Date 2020/12/31 16:51
* @Version 1.0
**/
@Component
public class BookMinimumSupportDaoImpl extends BaseDaoImpl<BookMinimumSupport> implements BookMinimumSupportDao {
@Override
public List<BookMinimumSupportDTO> getByBookId(Long bookId) {
return getSessionTemplate().selectList(getStatement("getByBookId"), bookId);
}
@Override
public List<BookMinimumSupportDTO> getMinimunListByMap(Map<String, Object> paramMap) {
return getSessionTemplate().selectList(getStatement("getMinimunListByMap"), paramMap);
}
@Override
public BookMinimumSupportDTO getInfoByBookId(Long bookId) {
return getSessionTemplate().selectOne(getStatement("getInfoByBookId"), bookId);
}
@Override
public List<BookMinimumSupportDTO> getByParamMap(Map<String, Object> paramMap) {
return getSessionTemplate().selectList(getStatement("getByParamMap"), paramMap);
}
@Override
public List<BookMinimumSupportDTO> getByBookIds(List<Long> bookIds) {
Map<String, Object> map = new HashMap<>();
map.put("bookIds", bookIds);
return getSessionTemplate().selectList(getStatement("getByBookIds"), map);
}
}
...@@ -156,7 +156,8 @@ public interface BookFacade { ...@@ -156,7 +156,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query"), @ApiImplicitParam(name = "templetId", value = "图书类型标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "bookStatus", value = "图书版权保护状态", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "bookStatus", value = "图书版权保护状态", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "hasQrcode", value = "只看有二维码", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "hasQrcode", value = "只看有二维码", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "isPrint", value = "是否已下印", dataType = "Boolean", paramType = "query") @ApiImplicitParam(name = "isPrint", value = "是否已下印", dataType = "Boolean", paramType = "query"),
@ApiImplicitParam(name = "minimumSupport", value = "是否保底支持", dataType = "int", paramType = "query")
}) })
@RequestMapping(value = "listPage4Adviser", method = RequestMethod.GET) @RequestMapping(value = "listPage4Adviser", method = RequestMethod.GET)
ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token, ResponseDto<PageBean> getListPage4Adviser(@RequestHeader("token") String token,
...@@ -174,7 +175,8 @@ public interface BookFacade { ...@@ -174,7 +175,8 @@ public interface BookFacade {
@RequestParam(value = "bookStatus", required = false) Integer bookStatus, @RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId, @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "hasQrcode",required = false) Integer hasQrcode, @RequestParam(value = "hasQrcode",required = false) Integer hasQrcode,
@RequestParam(value = "isPrint", required = false) Boolean isPrint) @RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException; throws BizException, PermissionException;
@ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET") @ApiOperation(value = "首页获取正在做的图书", httpMethod = "GET")
...@@ -382,7 +384,8 @@ public interface BookFacade { ...@@ -382,7 +384,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "isbn", value = "isbn", dataType = "string", 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"), @ApiImplicitParam(name = "secondTempletId", value = "图书类型二级标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "isPrint", value = "是否已下印", dataType = "Boolean", paramType = "query") @ApiImplicitParam(name = "isPrint", value = "是否已下印", dataType = "Boolean", paramType = "query"),
@ApiImplicitParam(name = "minimumSupport", value = "是否保底支持", dataType = "int", paramType = "query")
}) })
@RequestMapping(value = "listPage4Agent", method = RequestMethod.GET) @RequestMapping(value = "listPage4Agent", method = RequestMethod.GET)
ResponseDto<PageBean> listPage4Agent(@RequestHeader("token") String token, ResponseDto<PageBean> listPage4Agent(@RequestHeader("token") String token,
...@@ -396,7 +399,8 @@ public interface BookFacade { ...@@ -396,7 +399,8 @@ public interface BookFacade {
@RequestParam(value = "isbn", required = false) String isbn, @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, @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "isPrint", required = false) Boolean isPrint) @RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException, JsonParseException; throws BizException, PermissionException, JsonParseException;
/** /**
...@@ -641,7 +645,8 @@ public interface BookFacade { ...@@ -641,7 +645,8 @@ public interface BookFacade {
@ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "numPerPage", value = "每页条数", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "isFundSupport", value = "基金支持", dataType = "int", paramType = "query"), @ApiImplicitParam(name = "isFundSupport", value = "基金支持", dataType = "int", 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")}) @ApiImplicitParam(name = "secondTempletId", value = "图书类型二级标识", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "minimumSupport", value = "保底支持", dataType = "int", paramType = "query")})
@RequestMapping(value = "listPageIncomeDetail", method = RequestMethod.GET) @RequestMapping(value = "listPageIncomeDetail", method = RequestMethod.GET)
ResponseDto<PageBeanNew> listPageIncomeDetail(@RequestHeader("token") String token, ResponseDto<PageBeanNew> listPageIncomeDetail(@RequestHeader("token") String token,
@RequestParam(value = "keyWord", required = false) String keyWord, @RequestParam(value = "keyWord", required = false) String keyWord,
...@@ -651,7 +656,8 @@ public interface BookFacade { ...@@ -651,7 +656,8 @@ public interface BookFacade {
@RequestParam(value = "numPerPage", required = false) Integer numPerPage, @RequestParam(value = "numPerPage", required = false) Integer numPerPage,
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport, @RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "templetId", required = false) Long templetId, @RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId) @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException, JsonParseException; throws BizException, PermissionException, JsonParseException;
@ApiOperation("导出书刊收益") @ApiOperation("导出书刊收益")
......
...@@ -303,7 +303,8 @@ public class BookFacadeImpl implements BookFacade { ...@@ -303,7 +303,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "bookStatus", required = false) Integer bookStatus, @RequestParam(value = "bookStatus", required = false) Integer bookStatus,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId, @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "hasQrcode", required = false) Integer hasQrcode, @RequestParam(value = "hasQrcode", required = false) Integer hasQrcode,
@RequestParam(value = "isPrint", required = false) Boolean isPrint ) @RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException { throws BizException, PermissionException {
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) { if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
...@@ -324,6 +325,7 @@ public class BookFacadeImpl implements BookFacade { ...@@ -324,6 +325,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("secondTempletId", secondTempletId); paramMap.put("secondTempletId", secondTempletId);
paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList())); paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
paramMap.put("isPrint", isPrint); paramMap.put("isPrint", isPrint);
paramMap.put("minimumSupport", minimumSupport);
PageBean pageBean = bookBiz.getListPage4Adviser(paramMap, new PageParam(currentPage, numPerPage), adviserId, hasQrcode); PageBean pageBean = bookBiz.getListPage4Adviser(paramMap, new PageParam(currentPage, numPerPage), adviserId, hasQrcode);
return new ResponseDto<>(pageBean); return new ResponseDto<>(pageBean);
} }
...@@ -551,7 +553,8 @@ public class BookFacadeImpl implements BookFacade { ...@@ -551,7 +553,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "isbn", required = false) String isbn, @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, @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "isPrint", required = false) Boolean isPrint ) @RequestParam(value = "isPrint", required = false) Boolean isPrint,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException { throws BizException, PermissionException {
Long agentId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); Long agentId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage < 0 || numPerPage < 0) { if (currentPage < 0 || numPerPage < 0) {
...@@ -569,6 +572,7 @@ public class BookFacadeImpl implements BookFacade { ...@@ -569,6 +572,7 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("secondTempletId", secondTempletId); paramMap.put("secondTempletId", secondTempletId);
paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList())); paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
paramMap.put("isPrint", isPrint); paramMap.put("isPrint", isPrint);
paramMap.put("minimumSupport", minimumSupport);
return new ResponseDto<>( return new ResponseDto<>(
bookBiz.listPage4Agent(new PageParam(currentPage, numPerPage), paramMap, agentId)); bookBiz.listPage4Agent(new PageParam(currentPage, numPerPage), paramMap, agentId));
} }
...@@ -961,7 +965,8 @@ public class BookFacadeImpl implements BookFacade { ...@@ -961,7 +965,8 @@ public class BookFacadeImpl implements BookFacade {
@RequestParam(value = "numPerPage") Integer numPerPage, @RequestParam(value = "numPerPage") Integer numPerPage,
@RequestParam(value = "isFundSupport", required = false) Integer isFundSupport, @RequestParam(value = "isFundSupport", required = false) Integer isFundSupport,
@RequestParam(value = "templetId", required = false) Long templetId, @RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "secondTempletId", required = false) Long secondTempletId ) @RequestParam(value = "secondTempletId", required = false) Long secondTempletId,
@RequestParam(value = "minimumSupport", required = false) Integer minimumSupport)
throws BizException, PermissionException { throws BizException, PermissionException {
Long agentId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); Long agentId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) { if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
...@@ -975,9 +980,11 @@ public class BookFacadeImpl implements BookFacade { ...@@ -975,9 +980,11 @@ public class BookFacadeImpl implements BookFacade {
paramMap.put("templetId", templetId); paramMap.put("templetId", templetId);
paramMap.put("secondTempletId", secondTempletId); paramMap.put("secondTempletId", secondTempletId);
paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList())); paramMap.put("secondTempletIds", Optional.ofNullable(paramMap.get("secondTempletId")).map(Lists::newArrayList).orElse(Lists.newArrayList()));
paramMap.put("minimumSupport", minimumSupport);
return new ResponseDto<>(bookBiz.listPageIncomeDetail(new PageParam(currentPage, numPerPage), paramMap, agentId)); return new ResponseDto<>(bookBiz.listPageIncomeDetail(new PageParam(currentPage, numPerPage), paramMap, agentId));
} }
@Override
@ApiOperation("导出书刊收益") @ApiOperation("导出书刊收益")
@GetMapping("exportBookIncomeDetail") @GetMapping("exportBookIncomeDetail")
public ResponseDto<?> exportBookIncomeDetail( public ResponseDto<?> exportBookIncomeDetail(
...@@ -1276,4 +1283,28 @@ public class BookFacadeImpl implements BookFacade { ...@@ -1276,4 +1283,28 @@ public class BookFacadeImpl implements BookFacade {
Long adviserId = (Long) SessionUtil.getVlaue(token,SessionUtil.PARTY_ID); Long adviserId = (Long) SessionUtil.getVlaue(token,SessionUtil.PARTY_ID);
return new ResponseDto<>(bookBiz.bookEditionAnalysis(adviserId)); return new ResponseDto<>(bookBiz.bookEditionAnalysis(adviserId));
} }
@ApiOperation("保底支持书刊列表")
@GetMapping("listPageBookMinimunSupport4Platform")
public ResponseDto<PageBeanNew<BookDto>> listPageBookMinimunSupport4Platform(
@RequestHeader("token") String token,
@RequestParam(value = "publish", required = false) String publish,
@RequestParam(value = "bookName", required = false) String bookName,
@RequestParam(value = "isbn", required = false) String isbn,
@RequestParam(value = "serialNumber", required = false) String serialNumber,
@RequestParam(value = "isCurrentMonth", required = false) Integer isCurrentMonth,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage,
@RequestParam(value = "isOverdue", required = false) Integer isOverdue,
@RequestParam(value = "agentId", required = false) Long agentId)
throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
throw BookBizException.PAGE_PARAM_DELETION;
}
if (null != isCurrentMonth && null != isOverdue) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "查询条件不能同时勾选");
}
return new ResponseDto<>(bookBiz.listPageBookMinimunSupport4Platform(currentPage,numPerPage,isbn,bookName,publish,serialNumber,isCurrentMonth,isOverdue, agentId));
}
} }
package com.pcloud.book.book.facade.impl;
import com.pcloud.book.book.biz.BookMinimumSupportBiz;
import com.pcloud.book.book.entity.BookMinimumSupport;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.SessionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
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.RestController;
import java.util.Map;
import io.swagger.annotations.ApiOperation;
/**
* @ClassName com.pcloud.book.book.facade.impl.BookMinimumSupportFacade
* @Author zhuyajie
* @Description 书刊保底支持
* @Date 2021/1/4 14:34
* @Version 1.0
**/
@RestController("bookMinimumSupportFacade")
@RequestMapping("bookMinimumSupport")
public class BookMinimumSupportFacade {
@Autowired
private BookMinimumSupportBiz bookMinimumSupportBiz;
@ApiOperation("创建书刊保底支持")
@PostMapping("createBookMinimumSupport")
public ResponseDto<?> createBookMinimumSupport(@RequestHeader("token") String token, @RequestBody BookMinimumSupport bookMinimumSupport) {
Map<String,Object> map = SessionUtil.getToken4Redis(token);
Long partyId = (Long) map.get(SessionUtil.PARTY_ID);
String isSystem = (String) map.get(SessionUtil.IS_SYSTEM);
if ("0".equals(isSystem)){
partyId = (Long) map.get(SessionUtil.MEMBER_ID);
}
bookMinimumSupport.setCreateUser(partyId);
bookMinimumSupport.setUpdateUser(partyId);
bookMinimumSupportBiz.createBookMinimumSupport(bookMinimumSupport);
return new ResponseDto<>();
}
@ApiOperation("修改书刊保底支持")
@PostMapping("updateBookMinimumSupport")
public ResponseDto<?> updateBookMinimumSupport(@RequestHeader("token") String token, @RequestBody BookMinimumSupport bookMinimumSupport) {
Map<String,Object> map = SessionUtil.getToken4Redis(token);
Long partyId = (Long) map.get(SessionUtil.PARTY_ID);
String isSystem = (String) map.get(SessionUtil.IS_SYSTEM);
if ("0".equals(isSystem)){
partyId = (Long) map.get(SessionUtil.MEMBER_ID);
}
bookMinimumSupport.setUpdateUser(partyId);
bookMinimumSupportBiz.updateBookMinimumSupport(bookMinimumSupport);
return new ResponseDto<>();
}
}
...@@ -6,6 +6,7 @@ package com.pcloud.book.book.service.impl; ...@@ -6,6 +6,7 @@ package com.pcloud.book.book.service.impl;
import com.pcloud.book.book.biz.BookBiz; import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookLabelBiz; import com.pcloud.book.book.biz.BookLabelBiz;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz; import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.book.biz.BookMinimumSupportBiz;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO; import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDetialDTO; import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
...@@ -13,6 +14,7 @@ import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO; ...@@ -13,6 +14,7 @@ import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.enums.WxworkQrcodeType; import com.pcloud.book.book.enums.WxworkQrcodeType;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.book.book.service.BookService; import com.pcloud.book.book.service.BookService;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -46,6 +48,8 @@ public class BookServiceImpl implements BookService { ...@@ -46,6 +48,8 @@ public class BookServiceImpl implements BookService {
@Autowired @Autowired
private BookLabelBiz bookLabelBiz; private BookLabelBiz bookLabelBiz;
@Autowired @Autowired
private BookMinimumSupportBiz bookMinimumSupportBiz;
@Autowired
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz; private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
/** /**
...@@ -259,5 +263,16 @@ public class BookServiceImpl implements BookService { ...@@ -259,5 +263,16 @@ public class BookServiceImpl implements BookService {
return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.getWxworkQrcodeIdBySceneOrBookGroup(sceneId, bookGroupId, WxworkQrcodeType.GROUP_QRCODE.getCode())); return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.getWxworkQrcodeIdBySceneOrBookGroup(sceneId, bookGroupId, WxworkQrcodeType.GROUP_QRCODE.getCode()));
} }
@Override
@RequestMapping(value = "/isBookMinimumSupport", method = RequestMethod.GET)
public ResponseEntity<ResponseDto<Boolean>> isBookMinimumSupport(@RequestParam(value = "bookId", required = false) Long bookId,
@RequestParam(value = "date", required = false) String date) throws BizException{
return ResponseHandleUtil.toResponse(bookMinimumSupportBiz.isBookMinimumSupport(bookId, date));
}
@Override
@PostMapping("mapBookMinimunSupport")
public ResponseEntity<ResponseDto<Map<Long, BookMinimumSupportDTO4Service>>> mapBookMinimunSupport(@RequestBody List<Long> bookIds){
return ResponseHandleUtil.toResponse(bookMinimumSupportBiz.mapBookMinimunSupport(bookIds));
}
} }
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
<result column="vol_label_id" property="volLabelId" jdbcType="BIGINT" /> <result column="vol_label_id" property="volLabelId" jdbcType="BIGINT" />
<result column="unique_number" property="bookUniqueNumber" jdbcType="VARCHAR" /> <result column="unique_number" property="bookUniqueNumber" jdbcType="VARCHAR" />
<result column="edition" property="edition" jdbcType="VARCHAR" /> <result column="edition" property="edition" jdbcType="VARCHAR" />
<result column="minimumSupport" property="minimumSupport" jdbcType="BIT" />
</resultMap> </resultMap>
<resultMap id="bookListPageMap" type="bookDto" extends ="bookMap"> <resultMap id="bookListPageMap" type="bookDto" extends ="bookMap">
...@@ -76,6 +77,11 @@ ...@@ -76,6 +77,11 @@
select="com.pcloud.book.book.dao.impl.BookFundDaoImpl.getByBookId" /> select="com.pcloud.book.book.dao.impl.BookFundDaoImpl.getByBookId" />
</resultMap> </resultMap>
<resultMap id="bookListMinimumSupportMap" type="bookDto" extends ="bookMap">
<collection property="bookMinimumSupports" column="BOOK_ID" ofType="bookMinimumSupportDTO"
select="com.pcloud.book.book.dao.impl.BookMinimumSupportDaoImpl.getByBookId" />
</resultMap>
<!-- 新增书籍信息--> <!-- 新增书籍信息-->
<insert id="insert" parameterType="book" useGeneratedKeys="true" keyProperty="bookId" flushCache="true"> <insert id="insert" parameterType="book" useGeneratedKeys="true" keyProperty="bookId" flushCache="true">
INSERT INTO `BOOK` ( INSERT INTO `BOOK` (
...@@ -519,7 +525,8 @@ ...@@ -519,7 +525,8 @@
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, 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, A.IS_PRINT isPrint, A.BOOK_ADVISER_ID,I.BOOK_STATUS, CONCAT('BK',A.BOOK_ID) uniqueNumber, if(G.ID IS NULL, 0, 1) isBookGroup, A.IS_PRINT isPrint,
G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName, G.id BOOK_GROUP_ID, G.group_qrcode_url groupQrcodeUrl,G.group_qrcode_name groupQrcodeName,
G.join_group_type,a.is_open_robot_process,G.single_group singleGroup, G.related_book_group_id relatedBookGroupId G.join_group_type,a.is_open_robot_process,G.single_group singleGroup, G.related_book_group_id relatedBookGroupId,
IF(ISNULL(s.id),0,1) minimumSupport
FROM FROM
BOOK_ADVISER A 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 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
...@@ -528,6 +535,7 @@ ...@@ -528,6 +535,7 @@
LEFT JOIN book_auth_info I ON I.BOOK_ID = A.BOOK_ID AND I.ADVISER_ID = #{adviserId} 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 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
LEFT JOIN book_freeze f ON B.BOOK_ID = f.BOOK_ID LEFT JOIN book_freeze f ON B.BOOK_ID = f.BOOK_ID
LEFT JOIN book_minimum_support s ON B.BOOK_ID=s.book_id AND s.end_time <![CDATA[ > ]]> NOW() AND s.start_time <![CDATA[ < ]]> NOW()
WHERE WHERE
1=1 1=1
<if test="bookId!=null"> <if test="bookId!=null">
...@@ -564,6 +572,9 @@ ...@@ -564,6 +572,9 @@
OR f.IS_FREEZE = 1 OR f.IS_FREEZE = 1
) )
</if> </if>
<if test="minimumSupport != null">
AND s.id is NOT NULL
</if>
<if test="templetId != null"> <if test="templetId != null">
AND AND
A.TEMPLET_ID = #{templetId} A.TEMPLET_ID = #{templetId}
...@@ -1167,7 +1178,7 @@ ...@@ -1167,7 +1178,7 @@
SELECT 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, 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, 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.IS_PRINT isPrint IF(ISNULL(BF.BOOK_FUND_ID),0,1) IS_FUND_SUPPORT, A.TEMPLET_ID, A.IS_PRINT isPrint, IF(ISNULL(s.id),0,1) minimumSupport
FROM FROM
BOOK_ADVISER A BOOK_ADVISER A
INNER JOIN INNER JOIN
...@@ -1188,6 +1199,7 @@ ...@@ -1188,6 +1199,7 @@
BOOK_FUND BF BOOK_FUND BF
ON ON
BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW() BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
LEFT JOIN book_minimum_support s ON B.BOOK_ID=s.book_id AND s.end_time <![CDATA[ > ]]> NOW() AND s.start_time <![CDATA[ < ]]> NOW()
WHERE WHERE
1=1 1=1
<if test="typeCode!=null"> <if test="typeCode!=null">
...@@ -1233,6 +1245,9 @@ ...@@ -1233,6 +1245,9 @@
AND AND
A.IS_PRINT = #{isPrint} A.IS_PRINT = #{isPrint}
</if> </if>
<if test="minimumSupport != null">
AND s.id is NOT NULL
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY ORDER BY
A.CREATED_DATE DESC A.CREATED_DATE DESC
...@@ -1988,6 +2003,8 @@ ...@@ -1988,6 +2003,8 @@
BOOK_FUND BF BOOK_FUND BF
ON ON
BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW() BF.BOOK_ID = A.BOOK_ID AND BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
LEFT JOIN
book_minimum_support s ON B.BOOK_ID=s.book_id AND s.end_time <![CDATA[ > ]]> NOW() AND s.start_time <![CDATA[ < ]]> NOW()
WHERE WHERE
1=1 1=1
<if test="typeCode!=null"> <if test="typeCode!=null">
...@@ -2025,6 +2042,9 @@ ...@@ -2025,6 +2042,9 @@
AND AND
BF.BOOK_FUND_ID IS NOT NULL BF.BOOK_FUND_ID IS NOT NULL
</if> </if>
<if test="minimumSupport != null">
AND s.id is NOT NULL
</if>
GROUP BY A.BOOK_ID, A.CHANNEL_ID GROUP BY A.BOOK_ID, A.CHANNEL_ID
ORDER BY ORDER BY
A.CREATED_DATE DESC A.CREATED_DATE DESC
...@@ -2648,4 +2668,124 @@ ...@@ -2648,4 +2668,124 @@
#{bookId} #{bookId}
</foreach> </foreach>
</select> </select>
<select id="listPageBookMinimunSupport4Platform" resultMap="bookListMinimumSupportMap" parameterType="map">
SELECT
B.BOOK_ID, B.TYPE_CODE, B.ISBN, B.BOOK_NAME, B.AUTHOR, B.PUBLISH,
B.COVER_IMG, B.BOOK_PRICE, B.SERIAL_NUMBER, B.AD_IMG, a.ADVISER_ID
FROM
book_adviser a
INNER JOIN book B ON a.BOOK_ID = B.BOOK_ID
<if test="isCurrentMonth != null or isOverdue != null">
JOIN
(
SELECT DISTINCT BOOK_ID FROM book_minimum_support
WHERE 1=1
<if test="isCurrentMonth != null">
AND DATE_FORMAT(START_TIME, '%Y-%m') <![CDATA[ <= ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m')
AND DATE_FORMAT(END_TIME, '%Y-%m') <![CDATA[ >= ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m')
</if>
<if test="isOverdue != null">
GROUP BY book_id
HAVING
DATE_FORMAT(MAX(end_time), '%Y-%m-%d') <![CDATA[ < ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m-%d')
</if>
)
bm ON B.BOOK_ID = bm.BOOK_ID
</if>
LEFT JOIN (
SELECT BOOK_FUND_ID, BOOK_ID FROM book_fund GROUP BY BOOK_ID
) bf ON B.BOOK_ID = bf.BOOK_ID
WHERE
a.IS_DELETE = 0
AND B.IS_DELETE = 0
AND bf.BOOK_FUND_ID IS NULL
<if test="adviserIds != null and adviserIds.size>0">
AND a.ADVISER_ID in
<foreach collection="adviserIds" separator="," index="index" item="item" close=")" open="(">
${item}
</foreach>
</if>
<if test="serialNumber!=null">
AND
B.SERIAL_NUMBER LIKE CONCAT('%', #{serialNumber},'%')
</if>
<if test="bookName!=null">
AND (
B.BOOK_NAME LIKE CONCAT('%', #{bookName},'%')
)
</if>
<if test="isbn!=null">
AND
B.ISBN LIKE CONCAT(#{isbn},'%')
</if>
<if test="publish!=null">
AND
B.PUBLISH LIKE CONCAT('%', #{publish},'%')
</if>
GROUP BY a.BOOK_ID
ORDER BY a.CREATED_DATE DESC
LIMIT #{currentPage},#{numPerPage}
</select>
<select id="getBookMinimunSupportCount4Platform" resultType="integer" parameterType="map">
SELECT
COUNT(1)
FROM
(
SELECT
B.BOOK_ID
FROM
book_adviser a
INNER JOIN book B ON a.BOOK_ID = B.BOOK_ID
<if test="isCurrentMonth != null or isOverdue != null">
JOIN
(
SELECT DISTINCT BOOK_ID FROM book_minimum_support
WHERE 1=1
<if test="isCurrentMonth != null">
AND DATE_FORMAT(START_TIME, '%Y-%m') <![CDATA[ <= ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m')
AND DATE_FORMAT(END_TIME, '%Y-%m') <![CDATA[ >= ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m')
</if>
<if test="isOverdue != null">
GROUP BY book_id
HAVING
DATE_FORMAT(MAX(end_time), '%Y-%m-%d') <![CDATA[ < ]]> DATE_FORMAT(CURRENT_DATE(), '%Y-%m-%d')
</if>
)
bm ON B.BOOK_ID = bm.BOOK_ID
</if>
LEFT JOIN (
SELECT BOOK_FUND_ID, BOOK_ID FROM book_fund GROUP BY BOOK_ID
) bf ON B.BOOK_ID = bf.BOOK_ID
WHERE
a.IS_DELETE = 0
AND B.IS_DELETE = 0
AND bf.BOOK_FUND_ID IS NULL
<if test="adviserIds != null and adviserIds.size>0">
AND a.ADVISER_ID in
<foreach collection="adviserIds" separator="," index="index" item="item" close=")" open="(">
${item}
</foreach>
</if>
<if test="serialNumber!=null">
AND
B.SERIAL_NUMBER LIKE CONCAT('%', #{serialNumber},'%')
</if>
<if test="bookName!=null">
AND (
B.BOOK_NAME LIKE CONCAT('%', #{bookName},'%')
)
</if>
<if test="isbn!=null">
AND
B.ISBN LIKE CONCAT(#{isbn},'%')
</if>
<if test="publish!=null">
AND
B.PUBLISH LIKE CONCAT('%', #{publish},'%')
</if>
GROUP BY a.BOOK_ID
) a
</select>
</mapper> </mapper>
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
FROM book_freeze FROM book_freeze
WHERE BOOK_ID = #{bookId,jdbcType=BIGINT} WHERE BOOK_ID = #{bookId,jdbcType=BIGINT}
AND IS_FREEZE = 1 AND IS_FREEZE = 1
LIMIT 1
</select> </select>
......
...@@ -260,4 +260,18 @@ ...@@ -260,4 +260,18 @@
BOOK_ID = #{_parameter} BOOK_ID = #{_parameter}
AND <![CDATA[ START_TIME < now() ]]> AND <![CDATA[ START_TIME < now() ]]>
</select> </select>
<select id="getFundBookCount" resultType="integer">
SELECT
COUNT(DISTINCT b.BOOK_ID)
FROM
BOOK B
LEFT JOIN (
SELECT BOOK_FUND_ID, BOOK_ID FROM book_fund GROUP BY BOOK_ID
) bf ON B.BOOK_ID = bf.BOOK_ID
WHERE
IS_DELETE = 0
AND bf.BOOK_FUND_ID IS NOT NULL
</select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pcloud.book.book.dao.impl.BookMinimumSupportDaoImpl">
<resultMap type="com.pcloud.book.book.entity.BookMinimumSupport" id="BookMinimumSupportMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="bookId" column="book_id" jdbcType="INTEGER"/>
<result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="printAmount" column="print_amount" jdbcType="INTEGER"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="createUser" column="create_user" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUser" column="update_user" jdbcType="INTEGER"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<resultMap id="BookMinimumSupportDTO" type="com.pcloud.book.book.dto.BookMinimumSupportDTO">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="bookId" column="book_id" jdbcType="INTEGER"/>
<result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="printAmount" column="print_amount" jdbcType="INTEGER"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="createUser" column="create_user" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, book_id, start_time, end_time, print_amount, remark, create_user, create_time
</sql>
<!--查询单个-->
<select id="getById" resultMap="BookMinimumSupportMap">
select
<include refid="Base_Column_List"/>
from book.book_minimum_support
where id = #{id}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into book.book_minimum_support(book_id, start_time, end_time, print_amount, remark, create_user, create_time, update_user, update_time)
values (#{bookId}, #{startTime}, #{endTime}, #{printAmount}, #{remark}, #{createUser}, now(), #{updateUser}, now())
</insert>
<!--通过主键修改数据-->
<update id="update">
update book.book_minimum_support
<set>
<if test="startTime != null">
start_time = #{startTime},
</if>
<if test="endTime != null">
end_time = #{endTime},
</if>
<if test="printAmount != null">
print_amount = #{printAmount},
</if>
<if test="remark != null and remark != ''">
remark = #{remark},
</if>
<if test="updateUser != null">
update_user = #{updateUser},
</if>
update_time = now(),
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from book.book_minimum_support where id = #{id}
</delete>
<select id="getByBookId" resultMap="BookMinimumSupportDTO" parameterType="long">
select
<include refid="Base_Column_List"/>
from book.book_minimum_support
where book_id = #{bookId}
ORDER BY start_time DESC
</select>
<select id="getMinimunListByMap" parameterType="map" resultMap="BookMinimumSupportDTO">
SELECT
<include refid="Base_Column_List"/>
from book.book_minimum_support
where book_id = #{bookId}
and id != #{id}
</select>
<select id="getInfoByBookId" resultMap="BookMinimumSupportDTO" parameterType="java.lang.Long">
SELECT
<include refid="Base_Column_List"/>
from book.book_minimum_support
where book_id = #{bookId}
ORDER BY start_time DESC
LIMIT 1
</select>
<select id="getByParamMap" resultMap="BookMinimumSupportDTO" parameterType="map">
SELECT
<include refid="Base_Column_List"/>
from book.book_minimum_support
where book_id = #{bookId}
<if test="date != null">
and #{date} BETWEEN start_time AND end_time
</if>
</select>
<select id="getByBookIds" parameterType="map" resultMap="BookMinimumSupportDTO">
SELECT
book_id,
start_time,
end_time
FROM
book_minimum_support
WHERE
book_id IN
<foreach collection="bookIds" separator="," index="index" item="item" close=")" open="(">
#{item}
</foreach>
ORDER BY
create_time DESC
</select>
</mapper>
\ No newline at end of file
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