Commit eec136d6 by 郑永强

feat:[1003410] 首页数据概览-二维码数据统计

parent 321174af
package com.pcloud.book.book.dto;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class BookQrcodeStatisticsDTO {
private String bookChannelAdviserId;
@ApiModelProperty("图书标识")
private Long bookId;
@ApiModelProperty("运营标识")
private Long channelId;
@ApiModelProperty("编辑id")
private Long adviserId;
@ApiModelProperty("二维码统计详情")
private List<QrcodeStatisticsDTO> qrcodeSceneDtoList = Lists.newArrayList();
}
package com.pcloud.book.book.dto;
import lombok.Data;
@Data
public class QrcodeStatisticsDTO {
private Long id;
private String qrcodeName;
private String qrcodeUrl;
private Long counts;
private Long browserCounts;
}
package com.pcloud.book.group.dto;
import com.google.common.collect.Lists;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author zhuyajie
* @Description 书刊资源数量
......
......@@ -240,4 +240,16 @@ public interface BookAdviserBiz {
* * @param null
*/
Integer getBookCountByAgentAndTime(Long agentId, String startTime, String endTime);
/**
* 获取书刊二维码统计数据
* @param adviserIds
* @param bookIds
* @param channelIds
* @return
*/
Map<String, BookQrcodeStatisticsDTO> mapBookQrcodeStatistics(List<Long> adviserIds, List<Long> bookIds, List<Long> channelIds);
PageBeanNew<QrcodeStatisticsDTO> getBookQrcodeStatistics(Long adviserId, Long bookId, Long channelId, Integer currentPage, Integer numPerPage);
}
......@@ -7,6 +7,7 @@ import com.pcloud.book.base.dto.CountDto;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.BookDataStatisticsDTO;
import com.pcloud.book.book.dto.BookQrcodeStatisticsDTO;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.entity.BookAdviser;
......@@ -228,4 +229,8 @@ public interface BookAdviserFacade {
@ApiOperation("获取书刊统计数据(用户数、扫码量)")
@PostMapping("mapBookDataStatistics")
ResponseDto<Map<String, BookDataStatisticsDTO>> mapBookDataStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO);
@ApiOperation("获取书刊二维码统计数据")
@PostMapping("mapBookQrcodeStatistics")
ResponseDto<Map<String, BookQrcodeStatisticsDTO>> mapBookQrcodeStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO);
}
......@@ -8,11 +8,14 @@ import java.util.List;
import java.util.Map;
import com.pcloud.book.book.dto.BookDataStatisticsDTO;
import com.pcloud.book.book.dto.BookQrcodeStatisticsDTO;
import com.pcloud.book.book.dto.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.QrcodeStatisticsDTO;
import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.channelcenter.qrcode.entity.QrcodeScene;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.ApiModelProperty;
import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -224,4 +227,20 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
public ResponseDto<Map<String, BookDataStatisticsDTO>> mapBookDataStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO) {
return new ResponseDto<>(bookAdviserBiz.mapBookDataStatistics(mapResourceTotalCountDTO.getAdviserIds(), mapResourceTotalCountDTO.getBookIds(), mapResourceTotalCountDTO.getChannelIds()));
}
@Override
public ResponseDto<Map<String, BookQrcodeStatisticsDTO>> mapBookQrcodeStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO){
return new ResponseDto<>(bookAdviserBiz.mapBookQrcodeStatistics(mapResourceTotalCountDTO.getAdviserIds(), mapResourceTotalCountDTO.getBookIds(), mapResourceTotalCountDTO.getChannelIds()));
}
@ApiModelProperty("分页获取疑似未印刷二维码")
@GetMapping("getBookQrcodeStatistics")
public ResponseDto<PageBeanNew<QrcodeStatisticsDTO>> getBookQrcodeStatistics(@RequestParam("adviserId") Long adviserId,
@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage){
return new ResponseDto<>(bookAdviserBiz.getBookQrcodeStatistics(adviserId, bookId, channelId, currentPage, numPerPage));
}
}
......@@ -6,6 +6,7 @@ package com.pcloud.book.consumer.user;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import com.pcloud.channelcenter.wechat.service.AccountSettingService;
......@@ -216,4 +217,19 @@ public class ChannelConsr {
throw new ChannelBizException(ChannelBizException.PARAM_IS_NULL, "channelId 为空");
}
}
/**
* 批量获取现代纸书下所有的二维码
* @param adviserIds
* @param bookIds
* @param channelIds
* @return
*/
public List<QrcodeSceneDto> listQrcodeScene(List<Long> adviserIds, List<Long> bookIds, List<Long> channelIds) {
MapResourceCountDTO mapResourceCountDTO = new MapResourceCountDTO();
mapResourceCountDTO.setAdviserIds(adviserIds);
mapResourceCountDTO.setBookIds(bookIds);
mapResourceCountDTO.setChannelIds(channelIds);
return ResponseHandleUtil.parseList(qrcodeSceneService.listQrcodeScene(mapResourceCountDTO), QrcodeSceneDto.class);
}
}
......@@ -10,6 +10,12 @@ import java.util.concurrent.TimeUnit;
public class ThreadPoolUtils {
/**
* 远程调用超时时间(单位:秒)
*/
public static final int REMOTE_TIME_OUT = 5;
/**
* 异步导出线程池
*/
public static final ExecutorService EXPORT_THREAD_POOL = new ThreadPoolExecutor(8, 8, 0L, TimeUnit.SECONDS,
......
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