Commit 94ec948a by lixue123

书刊分析接口

parent e513c4d3
package com.pcloud.book.book.dto;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
/**
*
*/
public class BookInfo4AnlysicsDTO extends BaseDto {
@ApiModelProperty("图书ID")
private Long bookId;
@ApiModelProperty("图书名字")
private String bookName;
private String templeName;
@ApiModelProperty("是否基金书籍")
private Boolean isFundSupport;
@ApiModelProperty("ISBN")
private String isbn;
public Long getBookId() {
return bookId;
}
public void setBookId(Long bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getTempleName() {
return templeName;
}
public void setTempleName(String templeName) {
this.templeName = templeName;
}
public Boolean getIsFundSupport() {
return isFundSupport;
}
public void setIsFundSupport(Boolean isFundSupport) {
this.isFundSupport = isFundSupport;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
@Override
public String toString() {
return "BookInfo4AnlysicsDTO{" +
"bookId=" + bookId +
", bookName='" + bookName + '\'' +
", templeName='" + templeName + '\'' +
", isFundSupport=" + isFundSupport +
", isbn='" + isbn + '\'' +
'}';
}
}
......@@ -70,7 +70,7 @@ public class BookInfoAnalysicsDTO extends BaseDto {
}
public void setIsFundSupport(Boolean isFundSupport) {
isFundSupport = isFundSupport;
this.isFundSupport = isFundSupport;
}
public String getTempleName() {
......
......@@ -6,6 +6,7 @@ package com.pcloud.book.book.service;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
......@@ -229,4 +230,12 @@ public interface BookService {
@ApiImplicitParam(name = "monthDate", value = "数据统计时间", dataType = "String", paramType = "query")})
@RequestMapping(value = "/getBookInfoBy", method = RequestMethod.POST)
public ResponseEntity<ResponseDto<Map<String,BookInfoAnalysicsDTO>>> getBookInfoBy(@RequestBody List<BookInfoAnalysicsDTO> bookInfoAnalysicsDTOS,@RequestParam(value = "monthDate",required = false) String monthDate)throws BizException;
@ApiOperation(value = "获取书刊信息", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "bookIds", value = "图书ID", dataType = "List<Long>", paramType = "body"),
@ApiImplicitParam(name = "monthDate", value = "数据统计时间", dataType = "String", paramType = "query")})
@RequestMapping(value = "/getBookAnalysis", method = RequestMethod.POST)
public ResponseEntity<ResponseDto<Map<Long,BookInfo4AnlysicsDTO>>> getBookAnalysis(@RequestBody List<Long> bookIds, @RequestParam(value = "monthDate",required = false) String monthDate)throws BizException;
}
......@@ -7,6 +7,7 @@ import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.vo.BookAnalysic4PCVO;
......@@ -527,4 +528,22 @@ public interface BookBiz {
* @return
*/
Long getBookTempletIdId(Long adviserId, Long channelId, Long bookId);
/**
* 获取书刊信息
* @param bookIds
* @param monthDate
* @return
* @throws BizException
*/
Map<Long,BookInfo4AnlysicsDTO> getBookAnalysis(List<Long> bookIds, String monthDate)throws BizException;
/**
* 获取书刊基本信息
* @param pageParam
* @param name
* @return
* @throws BizException
*/
PageBean getListPage4PC(PageParam pageParam,String name)throws BizException;
}
......@@ -27,6 +27,7 @@ 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.entity.Book;
import com.pcloud.book.book.entity.BookAdviser;
......@@ -1603,4 +1604,32 @@ public class BookBizImpl implements BookBiz {
Long templetId = bookDao.getTempletId(adviserId, channelId, bookId);
return templetId;
}
@ParamLog(description = "获取书刊信息--分析引擎内部接口")
@Override
public Map<Long, BookInfo4AnlysicsDTO> getBookAnalysis(List<Long> bookIds, String monthDate) throws BizException {
if(ListUtils.isEmpty(bookIds)){
return null;
}
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("bookIds",bookIds);
if(!StringUtil.isEmpty(monthDate)){
paramMap.put("monthDate",monthDate);
}
Map<Long,BookInfo4AnlysicsDTO> resultMap = null;
List<BookInfo4AnlysicsDTO> bookList = bookDao.getBookAnalysis(paramMap);
if(!ListUtils.isEmpty(bookList)){
resultMap = bookList.stream().collect(Collectors.toMap(BookInfo4AnlysicsDTO::getBookId,bookInfo4AnlysicsDTO -> bookInfo4AnlysicsDTO));
}
return resultMap;
}
@Override
public PageBean getListPage4PC(PageParam pageParam, String name) throws BizException {
Map<String,Object> paramMap = Maps.newHashMap();
if(!StringUtil.isEmpty(name)){
paramMap.put("name",name);
}
return bookDao.listPage(pageParam,paramMap,"getBookBaseInfo");
}
}
......@@ -4,6 +4,7 @@
package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book;
import com.pcloud.common.core.dao.BaseDao;
......@@ -278,4 +279,11 @@ public interface BookDao extends BaseDao<Book> {
*/
List<BookInfoAnalysicsDTO> getBookInfoBy(Map<String, Object> param);
/**
* 获取书刊信息
* @param paramMap
* @return
*/
List<BookInfo4AnlysicsDTO> getBookAnalysis(Map<String,Object> paramMap);
}
......@@ -6,6 +6,7 @@ package com.pcloud.book.book.dao.impl;
import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book;
import com.pcloud.common.core.dao.BaseDaoImpl;
......@@ -268,4 +269,9 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public List<BookInfoAnalysicsDTO> getBookInfoBy(Map<String, Object> param) {
return super.getSqlSession().selectList(this.getStatement("getBookInfoBy"),param);
}
@Override
public List<BookInfo4AnlysicsDTO> getBookAnalysis(Map<String, Object> paramMap) {
return super.getSqlSession().selectList(this.getStatement("getBookAnalysis"),paramMap);
}
}
......@@ -714,14 +714,19 @@ public class BookFacadeImpl implements BookFacade {
PageParam pageParam = new PageParam(currentPage, numPerPage);
return new ResponseDto<>(bookBiz.getBookBaseInfoListByChannelId4Adviser(partyId, channelId, pageParam));
}
@ApiOperation("书刊分析")
@PostMapping("getBookAnalysis4PC")
public ResponseDto<PageBean> getBookAnalysis4PC(@RequestHeader("token") String token,@RequestBody BookAnalysic4PCVO bookAnalysic4PCVO)throws PermissionException,BizException{
if(null == bookAnalysic4PCVO.getCurrentPage() || null == bookAnalysic4PCVO.getNumPerPage()){
throw BookBizException.PAGE_PARAM_DELETION;
}
PageBean pageBean = bookBiz.getBookAnalysis4PC(new PageParam(bookAnalysic4PCVO.getCurrentPage(),bookAnalysic4PCVO.getNumPerPage()),bookAnalysic4PCVO);
return new ResponseDto<PageBean>(null == pageBean?new PageBean():pageBean);
}
@RequestMapping(value = "listPage4PC", method = RequestMethod.GET)
public ResponseDto<PageBean> getListPage4PC(@RequestHeader("token") String token,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "currentPage", required = false) Integer currentPage,
@RequestParam(value = "numPerPage", required = false) Integer numPerPage)
throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
if (currentPage == null || numPerPage == null || currentPage < 0 || numPerPage < 0) {
throw BookBizException.PAGE_PARAM_DELETION;
}
PageBean pageBean = bookBiz.getListPage4PC(new PageParam(currentPage,numPerPage),name);
return new ResponseDto<PageBean>(null == pageBean ? new PageBean():pageBean);
}
}
......@@ -18,6 +18,7 @@ import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.service.BookService;
import com.pcloud.common.dto.ResponseDto;
......@@ -172,4 +173,11 @@ public class BookServiceImpl implements BookService {
return ResponseHandleUtil.toResponse(bookBiz.getBookInfoBy(bookInfoAnalysicsDTOS,monthDate));
}
@PostMapping("getBookAnalysis")
@Override
public ResponseEntity<ResponseDto<Map<Long, BookInfo4AnlysicsDTO>>> getBookAnalysis(@RequestBody List<Long> bookIds,@RequestParam(value = "monthDate",required = false) String
monthDate) throws BizException {
return ResponseHandleUtil.toResponse(bookBiz.getBookAnalysis(bookIds,monthDate));
}
}
......@@ -1073,11 +1073,10 @@
AND
<choose>
<when test="statisTime != null">
bf.END_TIME <![CDATA[ > ]]> DATE_FORMAT(#{statisTime},'yyyy-MM')
AND bf.START_TIME <![CDATA[ < ]]> DATE_FORMAT(#{statisTime},'yyyy-MM')
DATE_FORMAT(bf.START_TIME ,'%Y-%m') <![CDATA[ <= ]]> #{statisTime}
</when>
<otherwise>
BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW()
bf.START_TIME <![CDATA[ < ]]> NOW()
</otherwise>
</choose>
WHERE
......@@ -1106,4 +1105,68 @@
</foreach>
</if>
</select>
<select id="getBookAnalysis" parameterType="map" resultType="BookInfo4AnlysicsDTO">
SELECT
b.BOOK_ID bookId,
b.BOOK_NAME bookName,
b.ISBN isbn,
b.CREATED_DATE createdDate,
IF (
ISNULL(bf.BOOK_FUND_ID),
0,
1
) isFundSupport
FROM
book b
LEFT JOIN book_fund bf ON b.BOOK_ID = bf.BOOK_ID
AND
<choose>
<when test="monthDate != null">
DATE_FORMAT(bf.START_TIME ,'%Y-%m') <![CDATA[ <= ]]> #{monthDate}
</when>
<otherwise>
bf.START_TIME <![CDATA[ < ]]> NOW()
</otherwise>
</choose>
WHERE
b.IS_DELETE = 0
AND
b.BOOK_ID in
<foreach collection="bookIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
group by b.BOOK_ID
</select>
<select id="getBookBaseInfo" parameterType="map" resultMap="bookMap">
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
FROM
book b
WHERE
b.BOOK_ID IN (
SELECT
ba.BOOK_ID
FROM
book_adviser ba
GROUP BY
ba.BOOK_ID
)
AND B.IS_DELETE = 0
<if test="name!=null">
AND
(B.BOOK_NAME LIKE CONCAT('%', #{name},'%') OR B.ISBN LIKE CONCAT(#{name},'%'))
</if>
</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