Commit 8c1be427 by daixing

平台端增加社群/精英任务等数据统计

parent 2d060bd3
package com.pcloud.book.book.dto;
import java.io.Serializable;
/**
* @author 戴兴
* @description TODO
* @date 2019/3/13 16:43
*/
public class BookCountAndAdviserIdDTO implements Serializable {
private Long adviserId;
private Integer bookCount;
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public Integer getBookCount() {
return bookCount;
}
public void setBookCount(Integer bookCount) {
this.bookCount = bookCount;
}
@Override
public String toString() {
return "BookCountAndAdviserIdDTO{" +
"adviserId=" + adviserId +
", bookCount=" + bookCount +
'}';
}
}
\ No newline at end of file
package com.pcloud.book.book.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @author 戴兴
* @description TODO
* @date 2019/3/25 15:52
*/
public class BookCountByAdvisersDto implements Serializable {
private List<Long> adviserIds;
@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;
public List<Long> getAdviserIds() {
return adviserIds;
}
public void setAdviserIds(List<Long> adviserIds) {
this.adviserIds = adviserIds;
}
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
@JsonFormat(
pattern = "yyyy-MM-dd HH:mm:ss",
timezone = "GMT+8"
)
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
@Override
public String toString() {
return "BookCountByAdvisersDto{" +
"adviserIds=" + adviserIds +
", startTime=" + startTime +
", endTime=" + endTime +
'}';
}
}
\ No newline at end of file
......@@ -3,12 +3,11 @@
*/
package com.pcloud.book.book.service;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
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;
......@@ -108,4 +107,9 @@ public interface BookAdviserService {
@PostMapping("listAdviserBookInfo")
@ApiOperation("获取图书基本信息")
ResponseEntity<ResponseDto<Map<String,AdviserBookInfoDTO>>> listAdviserBookInfo(@RequestBody AviserBookInfoParam AviserBookInfoParam) throws BizException ;
@PostMapping("getBookCountByAdviserId")
@ApiOperation("根据编辑ID获取图书数量")
@ApiImplicitParams({@ApiImplicitParam(name = "bookCountByAdvisersDto", value = "bookCountByAdvisersDto", dataType = "BookCountByAdvisersDto", paramType = "body")})
ResponseEntity<ResponseDto<Map<Long, BookCountAndAdviserIdDTO>>> getBookCountByAdviserId(@RequestBody BookCountByAdvisersDto bookCountByAdvisersDto) throws BizException ;
}
......@@ -7,11 +7,7 @@ import java.util.List;
import java.util.Map;
import com.pcloud.book.base.dto.CountDto;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.exceptions.BizException;
......@@ -185,4 +181,6 @@ public interface BookAdviserBiz {
public void setBookTemplet(BookAdviser bookAdviser);
Map<String,AdviserBookInfoDTO> listAdviserBookInfo(AviserBookInfoParam aviserBookInfoParam);
Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto);
}
......@@ -7,12 +7,7 @@ import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.constant.BookConstant;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.book.set.BookSet;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
......@@ -708,4 +703,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
return adviserBookInfoDTOMap;
}
@Override
public Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto) {
return bookAdviserDao.getBookCountByAdviserId(bookCountByAdvisersDto);
}
}
......@@ -6,11 +6,7 @@ package com.pcloud.book.book.dao;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.*;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.core.dao.BaseDao;
......@@ -240,4 +236,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
* @Date:2019/2/13 17:35
*/
List<AdviserBookInfoDTO> listAdviserBookInfo(AviserBookInfoParam aviserBookInfoParam);
Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto);
}
......@@ -7,14 +7,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AviserBookInfoParam;
import com.pcloud.book.book.dto.*;
import org.springframework.stereotype.Repository;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.common.core.dao.BaseDaoImpl;
......@@ -228,4 +224,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
public List<AdviserBookInfoDTO> listAdviserBookInfo(AviserBookInfoParam aviserBookInfoParam) {
return super.getSqlSession().selectList(this.getStatement("listAdviserBookInfo"), aviserBookInfoParam);
}
@Override
public Map<Long, BookCountAndAdviserIdDTO> getBookCountByAdviserId(BookCountByAdvisersDto bookCountByAdvisersDto) {
return super.getSqlSession().selectMap(this.getStatement("getBookCountByAdviserId"),bookCountByAdvisersDto,"adviserId");
}
}
......@@ -6,10 +6,10 @@ package com.pcloud.book.book.service.impl;
import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.AviserBookInfoParam;
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;
......@@ -93,4 +93,10 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Map<String,AdviserBookInfoDTO>>> listAdviserBookInfo(@RequestBody AviserBookInfoParam AviserBookInfoParam) throws BizException {
return ResponseHandleUtil.toResponse(bookAdviserBiz.listAdviserBookInfo(AviserBookInfoParam));
}
@Override
@PostMapping("getBookCountByAdviserId")
public ResponseEntity<ResponseDto<Map<Long, BookCountAndAdviserIdDTO>>> getBookCountByAdviserId(@RequestBody BookCountByAdvisersDto bookCountByAdvisersDto) throws BizException {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookCountByAdviserId(bookCountByAdvisersDto));
}
}
......@@ -470,4 +470,21 @@
</foreach>
</if>
</select>
<select id="getBookCountByAdviserId" parameterType="bookCountByAdvisersDto" resultType="bookCountAndAdviserIdDTO">
SELECT adviser_id adviserId, count(distinct (book_id)) bookCount
FROM book_adviser
WHERE adviser_id IN
<foreach collection="adviserIds" item="adviserId" open="(" close=")" separator=",">
#{adviserId}
</foreach>
<if test="startTime != null">
AND CREATED_DATE &gt;= DATE_FORMAT(#{startTime}, '%Y-%m-%d 00:00:00')
</if>
<if test="endTime != null">
AND CREATED_DATE &lt;= DATE_FORMAT(#{endTime}, '%Y-%m-%d 23:59:59')
</if>
GROUP BY adviser_id
</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