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 { ...@@ -70,7 +70,7 @@ public class BookInfoAnalysicsDTO extends BaseDto {
} }
public void setIsFundSupport(Boolean isFundSupport) { public void setIsFundSupport(Boolean isFundSupport) {
isFundSupport = isFundSupport; this.isFundSupport = isFundSupport;
} }
public String getTempleName() { public String getTempleName() {
......
...@@ -6,6 +6,7 @@ package com.pcloud.book.book.service; ...@@ -6,6 +6,7 @@ package com.pcloud.book.book.service;
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;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -229,4 +230,12 @@ public interface BookService { ...@@ -229,4 +230,12 @@ public interface BookService {
@ApiImplicitParam(name = "monthDate", value = "数据统计时间", dataType = "String", paramType = "query")}) @ApiImplicitParam(name = "monthDate", value = "数据统计时间", dataType = "String", paramType = "query")})
@RequestMapping(value = "/getBookInfoBy", method = RequestMethod.POST) @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; 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; ...@@ -7,6 +7,7 @@ import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDetialDTO; import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto; 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.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.vo.BookAnalysic4PCVO; import com.pcloud.book.book.vo.BookAnalysic4PCVO;
...@@ -527,4 +528,22 @@ public interface BookBiz { ...@@ -527,4 +528,22 @@ public interface BookBiz {
* @return * @return
*/ */
Long getBookTempletIdId(Long adviserId, Long channelId, Long bookId); 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; ...@@ -27,6 +27,7 @@ import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookFreezeDto; import com.pcloud.book.book.dto.BookFreezeDto;
import com.pcloud.book.book.dto.BookFundDto; 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.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.BookAdviser; import com.pcloud.book.book.entity.BookAdviser;
...@@ -1603,4 +1604,32 @@ public class BookBizImpl implements BookBiz { ...@@ -1603,4 +1604,32 @@ public class BookBizImpl implements BookBiz {
Long templetId = bookDao.getTempletId(adviserId, channelId, bookId); Long templetId = bookDao.getTempletId(adviserId, channelId, bookId);
return templetId; 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 @@ ...@@ -4,6 +4,7 @@
package com.pcloud.book.book.dao; package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.BookDto; 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.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -278,4 +279,11 @@ public interface BookDao extends BaseDao<Book> { ...@@ -278,4 +279,11 @@ public interface BookDao extends BaseDao<Book> {
*/ */
List<BookInfoAnalysicsDTO> getBookInfoBy(Map<String, Object> param); 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; ...@@ -6,6 +6,7 @@ package com.pcloud.book.book.dao.impl;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.book.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookDto; 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.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
...@@ -268,4 +269,9 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao { ...@@ -268,4 +269,9 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public List<BookInfoAnalysicsDTO> getBookInfoBy(Map<String, Object> param) { public List<BookInfoAnalysicsDTO> getBookInfoBy(Map<String, Object> param) {
return super.getSqlSession().selectList(this.getStatement("getBookInfoBy"),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 { ...@@ -714,14 +714,19 @@ public class BookFacadeImpl implements BookFacade {
PageParam pageParam = new PageParam(currentPage, numPerPage); PageParam pageParam = new PageParam(currentPage, numPerPage);
return new ResponseDto<>(bookBiz.getBookBaseInfoListByChannelId4Adviser(partyId, channelId, pageParam)); return new ResponseDto<>(bookBiz.getBookBaseInfoListByChannelId4Adviser(partyId, channelId, pageParam));
} }
@ApiOperation("书刊分析")
@PostMapping("getBookAnalysis4PC") @RequestMapping(value = "listPage4PC", method = RequestMethod.GET)
public ResponseDto<PageBean> getBookAnalysis4PC(@RequestHeader("token") String token,@RequestBody BookAnalysic4PCVO bookAnalysic4PCVO)throws PermissionException,BizException{ public ResponseDto<PageBean> getListPage4PC(@RequestHeader("token") String token,
if(null == bookAnalysic4PCVO.getCurrentPage() || null == bookAnalysic4PCVO.getNumPerPage()){ @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; throw BookBizException.PAGE_PARAM_DELETION;
} }
PageBean pageBean = bookBiz.getBookAnalysis4PC(new PageParam(bookAnalysic4PCVO.getCurrentPage(),bookAnalysic4PCVO.getNumPerPage()),bookAnalysic4PCVO); PageBean pageBean = bookBiz.getListPage4PC(new PageParam(currentPage,numPerPage),name);
return new ResponseDto<PageBean>(null == pageBean ? new PageBean():pageBean);
return new ResponseDto<PageBean>(null == pageBean?new PageBean():pageBean);
} }
} }
...@@ -18,6 +18,7 @@ import com.pcloud.book.book.biz.BookBiz; ...@@ -18,6 +18,7 @@ import com.pcloud.book.book.biz.BookBiz;
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;
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.service.BookService; import com.pcloud.book.book.service.BookService;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
...@@ -172,4 +173,11 @@ public class BookServiceImpl implements BookService { ...@@ -172,4 +173,11 @@ public class BookServiceImpl implements BookService {
return ResponseHandleUtil.toResponse(bookBiz.getBookInfoBy(bookInfoAnalysicsDTOS,monthDate)); 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 @@ ...@@ -1073,11 +1073,10 @@
AND AND
<choose> <choose>
<when test="statisTime != null"> <when test="statisTime != null">
bf.END_TIME <![CDATA[ > ]]> DATE_FORMAT(#{statisTime},'yyyy-MM') DATE_FORMAT(bf.START_TIME ,'%Y-%m') <![CDATA[ <= ]]> #{statisTime}
AND bf.START_TIME <![CDATA[ < ]]> DATE_FORMAT(#{statisTime},'yyyy-MM')
</when> </when>
<otherwise> <otherwise>
BF.END_TIME <![CDATA[ > ]]> NOW() AND BF.START_TIME <![CDATA[ < ]]> NOW() bf.START_TIME <![CDATA[ < ]]> NOW()
</otherwise> </otherwise>
</choose> </choose>
WHERE WHERE
...@@ -1106,4 +1105,68 @@ ...@@ -1106,4 +1105,68 @@
</foreach> </foreach>
</if> </if>
</select> </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> </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