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; package com.pcloud.book.group.dto;
import com.google.common.collect.Lists;
import com.pcloud.common.dto.BaseDto; import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @Author zhuyajie * @Author zhuyajie
* @Description 书刊资源数量 * @Description 书刊资源数量
......
...@@ -240,4 +240,16 @@ public interface BookAdviserBiz { ...@@ -240,4 +240,16 @@ public interface BookAdviserBiz {
* * @param null * * @param null
*/ */
Integer getBookCountByAgentAndTime(Long agentId, String startTime, String endTime); 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; ...@@ -7,6 +7,7 @@ import com.pcloud.book.base.dto.CountDto;
import com.pcloud.book.book.dto.BookAdviserDto; import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookCountDto; import com.pcloud.book.book.dto.BookCountDto;
import com.pcloud.book.book.dto.BookDataStatisticsDTO; 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.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO; import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.entity.BookAdviser; import com.pcloud.book.book.entity.BookAdviser;
...@@ -228,4 +229,8 @@ public interface BookAdviserFacade { ...@@ -228,4 +229,8 @@ public interface BookAdviserFacade {
@ApiOperation("获取书刊统计数据(用户数、扫码量)") @ApiOperation("获取书刊统计数据(用户数、扫码量)")
@PostMapping("mapBookDataStatistics") @PostMapping("mapBookDataStatistics")
ResponseDto<Map<String, BookDataStatisticsDTO>> mapBookDataStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO); 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; ...@@ -8,11 +8,14 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.pcloud.book.book.dto.BookDataStatisticsDTO; 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.BookResourceStatisticsDTO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO; import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.QrcodeStatisticsDTO;
import com.pcloud.book.book.vo.QrCodeVO; import com.pcloud.book.book.vo.QrCodeVO;
import com.pcloud.channelcenter.qrcode.entity.QrcodeScene; import com.pcloud.channelcenter.qrcode.entity.QrcodeScene;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.ApiModelProperty;
import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.JsonParseException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -224,4 +227,20 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade { ...@@ -224,4 +227,20 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
public ResponseDto<Map<String, BookDataStatisticsDTO>> mapBookDataStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO) { public ResponseDto<Map<String, BookDataStatisticsDTO>> mapBookDataStatistics(@RequestBody MapResourceTotalCountDTO mapResourceTotalCountDTO) {
return new ResponseDto<>(bookAdviserBiz.mapBookDataStatistics(mapResourceTotalCountDTO.getAdviserIds(), mapResourceTotalCountDTO.getBookIds(), mapResourceTotalCountDTO.getChannelIds())); 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; ...@@ -6,6 +6,7 @@ package com.pcloud.book.consumer.user;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException; import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO; import com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO; 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.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.wechat.entity.AccountSetting; import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import com.pcloud.channelcenter.wechat.service.AccountSettingService; import com.pcloud.channelcenter.wechat.service.AccountSettingService;
...@@ -216,4 +217,19 @@ public class ChannelConsr { ...@@ -216,4 +217,19 @@ public class ChannelConsr {
throw new ChannelBizException(ChannelBizException.PARAM_IS_NULL, "channelId 为空"); 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; ...@@ -10,6 +10,12 @@ import java.util.concurrent.TimeUnit;
public class ThreadPoolUtils { 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, 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