Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐少华
midjourney-proxy
Commits
4738d2f4
Commit
4738d2f4
authored
Aug 12, 2020
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1003402]近期关键节点数据与告警数据导出
parent
a35bca8a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
138 additions
and
0 deletions
+138
-0
BookDataStatisticsDTO.java
.../java/com/pcloud/book/book/dto/BookDataStatisticsDTO.java
+28
-0
BookAdviserBiz.java
...rc/main/java/com/pcloud/book/book/biz/BookAdviserBiz.java
+9
-0
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+61
-0
BookAdviserFacade.java
...n/java/com/pcloud/book/book/facade/BookAdviserFacade.java
+5
-0
BookAdviserFacadeImpl.java
...m/pcloud/book/book/facade/impl/BookAdviserFacadeImpl.java
+6
-0
BookGroupDao.java
...src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
+2
-0
BookGroupDaoImpl.java
...java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
+9
-0
BookGroupMapper.xml
...-book/src/main/resources/mapper/group/BookGroupMapper.xml
+18
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/dto/BookDataStatisticsDTO.java
0 → 100644
View file @
4738d2f4
package
com
.
pcloud
.
book
.
book
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
BookDataStatisticsDTO
{
private
String
bookChannelAdviserId
;
@ApiModelProperty
(
"图书标识"
)
private
Long
bookId
;
@ApiModelProperty
(
"运营标识"
)
private
Long
channelId
;
@ApiModelProperty
(
"编辑id"
)
private
Long
adviserId
;
@ApiModelProperty
(
"扫码量"
)
private
Long
scanCount
=
0L
;
@ApiModelProperty
(
"用户量"
)
private
Long
userCount
=
0L
;
@ApiModelProperty
(
"书刊类型"
)
private
String
bookCategory
;
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookAdviserBiz.java
View file @
4738d2f4
...
...
@@ -223,4 +223,13 @@ public interface BookAdviserBiz {
* @return
*/
Map
<
String
,
BookResourceStatisticsDTO
>
mapResourceTotalCount
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
);
/**
* 获取书刊统计数据(用户数、扫码量)【现代纸书和社群书的总和】
* @param adviserIds
* @param bookIds
* @param channelIds
* @return
*/
Map
<
String
,
BookDataStatisticsDTO
>
mapBookDataStatistics
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
4738d2f4
...
...
@@ -9,11 +9,15 @@ import java.util.List;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.pcloud.analysisengine.browse.dto.BrowseCacheRecordDto
;
import
com.pcloud.book.book.biz.BookFundBiz
;
import
com.pcloud.book.book.dto.BookDataStatisticsDTO
;
import
com.pcloud.book.book.dto.BookResourceStatisticsDTO
;
import
com.pcloud.book.book.dto.BookRightsSettingDTO
;
import
com.pcloud.book.book.vo.QrCodeVO
;
import
com.pcloud.book.book.vo.request.UpdateBookRobotProcessDto
;
import
com.pcloud.book.consumer.analysisengine.BrowseRecordConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
...
...
@@ -25,6 +29,7 @@ import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import
com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO
;
import
com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto
;
import
com.pcloud.wechatgroup.group.dto.GroupUserCountDTO
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -134,6 +139,11 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
@Autowired
private
BookFundBiz
bookFundBiz
;
@Autowired
private
WechatGroupConsr
wechatGroupConsr
;
@Autowired
private
BrowseRecordConsr
browseRecordConsr
;
@Override
public
List
<
BookDto
>
listByAdviserId
(
Long
adviserId
)
{
...
...
@@ -1055,4 +1065,55 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
return
mapBookResourceStatistics
;
}
@Override
public
Map
<
String
,
BookDataStatisticsDTO
>
mapBookDataStatistics
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
)
{
Map
<
String
,
BookDataStatisticsDTO
>
resultMap
=
new
HashMap
<>();
BookDataStatisticsDTO
bookDataStatisticsDTO
;
// 获取社群统计数据
List
<
BookGroupDTO
>
bookGroupList
=
bookGroupDao
.
getDTOByBookIdsAdviserIdsChannelIds
(
bookIds
,
adviserIds
,
channelIds
);
if
(!
CollectionUtils
.
isEmpty
(
bookGroupList
)){
List
<
Long
>
bookGroupIds
=
bookGroupList
.
stream
().
map
(
x
->
x
.
getId
()).
collect
(
Collectors
.
toList
());
Map
<
Long
,
GroupUserCountDTO
>
scanCountByGroup
=
wechatGroupConsr
.
getScanCountByGroup
(
bookGroupIds
,
null
);
for
(
BookGroupDTO
bookGroupDTO
:
bookGroupList
)
{
GroupUserCountDTO
groupUserCountDTO
=
scanCountByGroup
.
get
(
bookGroupDTO
.
getId
());
bookDataStatisticsDTO
=
new
BookDataStatisticsDTO
();
bookDataStatisticsDTO
.
setBookChannelAdviserId
(
bookGroupDTO
.
getBookId
()+
"_"
+
bookGroupDTO
.
getChannelId
()+
"_"
+
bookGroupDTO
.
getCreateUser
());
bookDataStatisticsDTO
.
setAdviserId
(
bookGroupDTO
.
getCreateUser
());
bookDataStatisticsDTO
.
setBookId
(
bookGroupDTO
.
getBookId
());
bookDataStatisticsDTO
.
setChannelId
(
bookGroupDTO
.
getChannelId
());
if
(
groupUserCountDTO
!=
null
){
bookDataStatisticsDTO
.
setScanCount
(
groupUserCountDTO
.
getCount
().
longValue
());
bookDataStatisticsDTO
.
setUserCount
(
groupUserCountDTO
.
getUserCount
().
longValue
());
}
bookDataStatisticsDTO
.
setBookCategory
(
"社群书"
);
resultMap
.
put
(
bookDataStatisticsDTO
.
getBookChannelAdviserId
(),
bookDataStatisticsDTO
);
}
}
// 获取现代纸书统计数据
Map
<
String
,
BrowseCacheRecordDto
>
bookScanAndUv
=
browseRecordConsr
.
getBookScanAndUv
(
adviserIds
,
channelIds
,
bookIds
);
// 综合
for
(
BrowseCacheRecordDto
browseCacheRecordDto
:
bookScanAndUv
.
values
())
{
String
bookChannelAdviserId
=
browseCacheRecordDto
.
getJournalId
()
+
"_"
+
browseCacheRecordDto
.
getChannelId
()
+
"_"
+
browseCacheRecordDto
.
getAdviserId
();
bookDataStatisticsDTO
=
resultMap
.
get
(
bookChannelAdviserId
);
if
(
bookDataStatisticsDTO
!=
null
){
bookDataStatisticsDTO
.
setScanCount
(
bookDataStatisticsDTO
.
getScanCount
()
+
browseCacheRecordDto
.
getScanCount
());
bookDataStatisticsDTO
.
setUserCount
(
bookDataStatisticsDTO
.
getUserCount
()
+
browseCacheRecordDto
.
getBrowserCounts
());
bookDataStatisticsDTO
.
setBookCategory
(
"现代纸书、社群书"
);
continue
;
}
bookDataStatisticsDTO
=
new
BookDataStatisticsDTO
();
bookDataStatisticsDTO
.
setBookChannelAdviserId
(
bookChannelAdviserId
);
bookDataStatisticsDTO
.
setAdviserId
(
browseCacheRecordDto
.
getAdviserId
());
bookDataStatisticsDTO
.
setBookId
(
browseCacheRecordDto
.
getJournalId
());
bookDataStatisticsDTO
.
setChannelId
(
browseCacheRecordDto
.
getChannelId
());
bookDataStatisticsDTO
.
setScanCount
(
browseCacheRecordDto
.
getCount
());
bookDataStatisticsDTO
.
setUserCount
(
browseCacheRecordDto
.
getBrowseCounts
());
bookDataStatisticsDTO
.
setBookCategory
(
"现代纸书"
);
resultMap
.
put
(
bookDataStatisticsDTO
.
getBookChannelAdviserId
(),
bookDataStatisticsDTO
);
}
return
resultMap
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/BookAdviserFacade.java
View file @
4738d2f4
...
...
@@ -6,6 +6,7 @@ package com.pcloud.book.book.facade;
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.BookResourceStatisticsDTO
;
import
com.pcloud.book.book.dto.MapResourceTotalCountDTO
;
import
com.pcloud.book.book.entity.BookAdviser
;
...
...
@@ -223,4 +224,8 @@ public interface BookAdviserFacade {
@ApiOperation
(
"获取书下资源总数(包括现代纸书、1V1、小睿、社群码)"
)
@PostMapping
(
"mapResourceTotalCount"
)
ResponseDto
<
Map
<
String
,
BookResourceStatisticsDTO
>>
mapResourceTotalCount
(
@RequestBody
MapResourceTotalCountDTO
mapResourceTotalCountDTO
);
@ApiOperation
(
"获取书刊统计数据(用户数、扫码量)"
)
@PostMapping
(
"mapBookDataStatistics"
)
ResponseDto
<
Map
<
String
,
BookDataStatisticsDTO
>>
mapBookDataStatistics
(
@RequestBody
MapResourceTotalCountDTO
mapResourceTotalCountDTO
);
}
pcloud-service-book/src/main/java/com/pcloud/book/book/facade/impl/BookAdviserFacadeImpl.java
View file @
4738d2f4
...
...
@@ -7,6 +7,7 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.Map
;
import
com.pcloud.book.book.dto.BookDataStatisticsDTO
;
import
com.pcloud.book.book.dto.BookResourceStatisticsDTO
;
import
com.pcloud.book.book.dto.MapResourceTotalCountDTO
;
import
com.pcloud.book.book.vo.QrCodeVO
;
...
...
@@ -218,4 +219,9 @@ public class BookAdviserFacadeImpl implements BookAdviserFacade {
public
ResponseDto
<
Map
<
String
,
BookResourceStatisticsDTO
>>
mapResourceTotalCount
(
@RequestBody
MapResourceTotalCountDTO
mapResourceTotalCountDTO
)
{
return
new
ResponseDto
<>(
bookAdviserBiz
.
mapResourceTotalCount
(
mapResourceTotalCountDTO
.
getAdviserIds
(),
mapResourceTotalCountDTO
.
getBookIds
(),
mapResourceTotalCountDTO
.
getChannelIds
()));
}
@Override
public
ResponseDto
<
Map
<
String
,
BookDataStatisticsDTO
>>
mapBookDataStatistics
(
@RequestBody
MapResourceTotalCountDTO
mapResourceTotalCountDTO
)
{
return
new
ResponseDto
<>(
bookAdviserBiz
.
mapBookDataStatistics
(
mapResourceTotalCountDTO
.
getAdviserIds
(),
mapResourceTotalCountDTO
.
getBookIds
(),
mapResourceTotalCountDTO
.
getChannelIds
()));
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
View file @
4738d2f4
...
...
@@ -57,6 +57,8 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
*/
List
<
BookGroupDTO
>
getDTOByBookIdsAnsAdviserIds
(
List
<
Long
>
bookIds
,
List
<
Long
>
adviserIds
);
List
<
BookGroupDTO
>
getDTOByBookIdsAdviserIdsChannelIds
(
List
<
Long
>
bookIds
,
List
<
Long
>
adviserIds
,
List
<
Long
>
channelIds
);
/**
* 根据书刊ID删除
* @param bookId 书刊ID
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
View file @
4738d2f4
...
...
@@ -70,6 +70,15 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"getDTOByBookIdsAnsAdviserIds"
),
paramMap
);
}
@Override
public
List
<
BookGroupDTO
>
getDTOByBookIdsAdviserIdsChannelIds
(
List
<
Long
>
bookIds
,
List
<
Long
>
adviserIds
,
List
<
Long
>
channelIds
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"bookIds"
,
bookIds
);
paramMap
.
put
(
"adviserIds"
,
adviserIds
);
paramMap
.
put
(
"channelIds"
,
channelIds
);
return
super
.
getSqlSession
().
selectList
(
getStatement
(
"getDTOByBookIdsAdviserIdsChannelIds"
),
paramMap
);
}
/**
* 根据书刊ID删除
*/
...
...
pcloud-service-book/src/main/resources/mapper/group/BookGroupMapper.xml
View file @
4738d2f4
...
...
@@ -144,6 +144,24 @@
</foreach>
</select>
<select
id=
"getDTOByBookIdsAdviserIdsChannelIds"
resultMap=
"BookGroupDTO"
parameterType=
"map"
>
select
<include
refid=
"Base_Column_List"
/>
from book_group
where book_id in
<foreach
collection=
"bookIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
and create_user in
<foreach
collection=
"adviserIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
and channel_id in
<foreach
collection=
"channelIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
</foreach>
</select>
<select
id=
"getBookGroupCount"
resultType=
"Integer"
parameterType=
"Long"
>
SELECT
COUNT(DISTINCT G.id)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment