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
523efea9
Commit
523efea9
authored
Aug 09, 2022
by
吴博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1007887] 【新增】平台端-数据分析-做书数据分析 + 1007911】【优化】出版端书刊管理数据导出优化
parent
eb899bf4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
82 additions
and
10 deletions
+82
-10
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+34
-3
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+8
-5
BookSet.java
...-book/src/main/java/com/pcloud/book/book/set/BookSet.java
+22
-1
DataConsr.java
...rc/main/java/com/pcloud/book/consumer/data/DataConsr.java
+18
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
523efea9
package
com
.
pcloud
.
book
.
book
.
biz
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.map.MapUtil
;
...
...
@@ -102,7 +103,10 @@ import com.pcloud.common.utils.NumberUtil;
import
com.pcloud.common.utils.ServeLinkUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.data.domain.dto.AdsAgentAnalysebookTotalDTO
;
import
com.pcloud.data.domain.dto.AdsPlatformAnalyseagentbookTotalDTO
;
import
com.pcloud.data.domain.dto.BookScanCountParamDTO
;
import
com.pcloud.data.domain.enums.QuarterEnum
;
import
com.pcloud.data.domain.vo.BookScanCountVO
;
import
com.pcloud.facade.tradecenter.dto.Amount4BookAdviserDto
;
import
com.pcloud.raystask.entity.AdviserDefault
;
...
...
@@ -2339,11 +2343,19 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
});
// 分析引擎获取非社群书统计结果
List
<
BookBrowseAndScanStatsDTO
>
browseAndScanStats
=
browseRecordConsr
.
getBookBrowseAndScanStats
(
requestDtos
);
//List<BookBrowseAndScanStatsDTO> browseAndScanStats = browseRecordConsr.getBookBrowseAndScanStats(requestDtos);
//从数据获取书刊统计结果 包括社群书及非社群书
List
<
AdsAgentAnalysebookTotalDTO
>
adsAgentAnalysebookTotalDTOS
=
new
ArrayList
<>();
if
(
CollUtil
.
isNotEmpty
(
requestDtos
))
{
adsAgentAnalysebookTotalDTOS
=
BeanUtil
.
copyToList
(
requestDtos
,
AdsAgentAnalysebookTotalDTO
.
class
);
}
List
<
AdsAgentAnalysebookTotalDTO
>
analysebookTotalDTOS
=
dataConsr
.
getBookBrowseAndScanStats
(
adsAgentAnalysebookTotalDTOS
);
List
<
BookBrowseAndScanStatsDTO
>
browseAndScanStats
=
convertToBrowseAndScanStats
(
analysebookTotalDTOS
);
// 微信群获取社群书统计结果
List
<
Long
>
bookGroupIds
=
pageBeanNew
.
getRecordList
().
stream
().
filter
(
x
->
Objects
.
nonNull
(
x
.
getBookGroupId
())).
map
(
AgentBookStatsDetailVO:
:
getBookGroupId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
GroupScanUserStatsDTO
>
bookGroupScanStats
=
wechatGroupConsr
.
getAdviserBookGroupScanStats
(
bookGroupIds
);
//List<GroupScanUserStatsDTO> bookGroupScanStats = wechatGroupConsr.getAdviserBookGroupScanStats(bookGroupIds);
//书刊扫码数据已全部从data查询,此处社群书不单独查询
List
<
GroupScanUserStatsDTO
>
bookGroupScanStats
=
new
ArrayList
<>();
// 查询交易信息
List
<
Amount4BookAdviserDto
>
amount4BookAdviser
=
tradeConsr
.
getAmount4BookAdviser
(
amountRequestDtos
);
...
...
@@ -2473,6 +2485,25 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
return
pageBeanNew
;
}
private
List
<
BookBrowseAndScanStatsDTO
>
convertToBrowseAndScanStats
(
List
<
AdsAgentAnalysebookTotalDTO
>
adsAgentAnalysebookTotalDTOS
)
{
List
<
BookBrowseAndScanStatsDTO
>
bookBrowseAndScanStatsDTOS
=
new
ArrayList
<>();
if
(
CollUtil
.
isEmpty
(
adsAgentAnalysebookTotalDTOS
))
{
return
bookBrowseAndScanStatsDTOS
;
}
adsAgentAnalysebookTotalDTOS
.
stream
().
forEach
(
e
->
{
BookBrowseAndScanStatsDTO
bookBrowseAndScanStatsDTO
=
new
BookBrowseAndScanStatsDTO
();
bookBrowseAndScanStatsDTO
.
setBookId
(
e
.
getBookId
());
bookBrowseAndScanStatsDTO
.
setAdviserId
(
e
.
getAdviserId
());
bookBrowseAndScanStatsDTO
.
setChannelId
(
e
.
getChannelId
());
bookBrowseAndScanStatsDTO
.
setBookBrowseTotal
(
e
.
getBrowseAmount
().
intValue
());
bookBrowseAndScanStatsDTO
.
setBookBrowseUserTotal
(
e
.
getBrowseuserAmount
().
intValue
());
bookBrowseAndScanStatsDTO
.
setBookScanTotal
(
e
.
getScanAmount
().
intValue
());
bookBrowseAndScanStatsDTO
.
setBookScanUserTotal
(
e
.
getScannerAmount
().
intValue
());
bookBrowseAndScanStatsDTOS
.
add
(
bookBrowseAndScanStatsDTO
);
});
return
bookBrowseAndScanStatsDTOS
;
}
@Override
public
void
exportAgentBookStatsDetail
(
Long
agentId
,
String
name
,
Date
startDate
,
Date
endDate
,
Integer
isRay
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
523efea9
...
...
@@ -1475,21 +1475,24 @@ public class BookBizImpl implements BookBiz {
if
(
list
.
size
()>
1500
){
throw
new
ExportException
(
ExportException
.
OPERATE_ERROR
,
"数量超过限制,请添加条件再导出!"
);
}
// 设置编辑名称
bookSet
.
setAdviserName4BookDtoNew
(
list
);
ThreadPoolUtils
.
EXPORT_THREAD_POOL
.
execute
(()
->
{
try
{
List
<
Object
[]>
dataList
=
new
ArrayList
<>();
for
(
int
i
=
0
,
size
=
list
.
size
();
i
<
size
;
i
++)
{
BookDto
bookDto
=
list
.
get
(
i
);
Object
[]
obj
=
new
Object
[
5
];
Object
[]
obj
=
new
Object
[
6
];
obj
[
0
]
=
i
+
1
;
obj
[
1
]
=
bookDto
.
getBookName
();
obj
[
2
]
=
bookDto
.
getIsbn
();
obj
[
3
]
=
bookDto
.
getBookId
();
obj
[
4
]
=
null
!=
bookDto
.
getCreatedDate
()
?
DateUtils
.
getStrFormTime
(
"yyyy-MM-dd HH:mm:ss"
,
bookDto
.
getCreatedDate
())
:
null
;
obj
[
2
]
=
bookDto
.
getAdviserName
();
obj
[
3
]
=
bookDto
.
getIsbn
();
obj
[
4
]
=
bookDto
.
getBookId
();
obj
[
5
]
=
null
!=
bookDto
.
getCreatedDate
()
?
DateUtils
.
getStrFormTime
(
"yyyy-MM-dd HH:mm:ss"
,
bookDto
.
getCreatedDate
())
:
null
;
dataList
.
add
(
obj
);
}
Date
date
=
new
Date
();
String
[]
rowsName
=
{
"序号"
,
"书刊名称"
,
"书刊号"
,
"书刊ID"
,
"创建时间"
};
String
[]
rowsName
=
{
"序号"
,
"书刊名称"
,
"
编辑"
,
"
书刊号"
,
"书刊ID"
,
"创建时间"
};
String
fileName
=
"书刊管理书刊列表--"
+
DateUtils
.
getStrFormTime
(
"yyyyMMdd"
,
date
);
String
fileUrl
=
exportConsr
.
exportExcel
(
fileName
,
rowsName
,
dataList
);
String
letterType
=
"book_download"
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/set/BookSet.java
View file @
523efea9
...
...
@@ -1656,7 +1656,6 @@ public class BookSet {
/**
* 设置图书是否关联二维码和个数
*
* @param recordList (List<BookDto>)
*/
/* public void setIsRelationQrcodeAndCount(List<Object> recordList) {
LOGGER.info("设置图书关联二维码个数【START】");
...
...
@@ -2199,4 +2198,26 @@ public class BookSet {
}
}
}
public
void
setAdviserName4BookDtoNew
(
List
<
BookDto
>
list
)
{
if
(
CollUtil
.
isEmpty
(
list
))
{
return
;
}
// 组装编辑标识(去重)
List
<
Long
>
adviserIds
=
list
.
stream
().
map
(
e
->
e
.
getAdviserId
()).
filter
(
f
->
null
!=
f
).
distinct
().
collect
(
Collectors
.
toList
());
// 从用户中心批量获取编辑名称
Map
<
Long
,
String
>
adviserNameMap
=
adviserConsr
.
getNames
(
adviserIds
);
if
(
MapUtils
.
isEmpty
(
adviserNameMap
))
{
return
;
}
// 批量填充编辑名称
for
(
BookDto
bookDto
:
list
)
{
Long
adviserId
=
bookDto
.
getAdviserId
();
if
(
adviserNameMap
.
containsKey
(
adviserId
))
{
bookDto
.
setAdviserName
(
adviserNameMap
.
get
(
adviserId
));
}
else
{
bookDto
.
setAdviserName
(
""
);
}
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/consumer/data/DataConsr.java
View file @
523efea9
...
...
@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import
com.pcloud.common.dto.ResponseDto
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.data.domain.dto.AdsAgentAnalysebookTotalDTO
;
import
com.pcloud.data.domain.dto.AdsPlatformAnalyseagentbookTotalDTO
;
import
com.pcloud.data.domain.dto.BookScanCountParamDTO
;
import
com.pcloud.data.domain.dto.BookStatisParamDTO
;
import
com.pcloud.data.domain.dto.QrcodeStatisParamDTO
;
...
...
@@ -20,6 +22,7 @@ import com.pcloud.data.domain.vo.CalUserInfoProvinceVO;
import
com.pcloud.data.domain.vo.CalUserInfoSexVO
;
import
com.pcloud.data.domain.vo.DailyQrcodeSummaryVO
;
import
com.pcloud.data.domain.vo.MidUserInfoMergeVO
;
import
com.pcloud.data.provider.AdsAgentAnalysebookTotalService
;
import
com.pcloud.data.provider.BookScanCountService
;
import
com.pcloud.data.provider.BookStatisService
;
import
com.pcloud.data.provider.CalGroupTrackTargetService
;
...
...
@@ -29,8 +32,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -54,6 +57,8 @@ public class DataConsr {
private
CalGroupTrackTargetService
calGroupTrackTargetService
;
@Autowired
private
BookScanCountService
bookScanCountService
;
@Autowired
private
AdsAgentAnalysebookTotalService
adsAgentAnalysebookTotalService
;
/**
* 获取书刊统计信息(书刊总收益、二维码数量、扫码量、扫码人、浏览量)
...
...
@@ -277,4 +282,16 @@ public class DataConsr {
return
new
HashMap
<>();
}
public
List
<
AdsAgentAnalysebookTotalDTO
>
getBookBrowseAndScanStats
(
List
<
AdsAgentAnalysebookTotalDTO
>
requestDtos
)
{
List
<
AdsAgentAnalysebookTotalDTO
>
adsAgentAnalysebookTotalDTOS
=
new
ArrayList
<>();
if
(
CollUtil
.
isEmpty
(
requestDtos
))
{
return
adsAgentAnalysebookTotalDTOS
;
}
try
{
adsAgentAnalysebookTotalDTOS
=
ResponseHandleUtil
.
parseList
(
adsAgentAnalysebookTotalService
.
getBookBrowseAndScanStats
(
requestDtos
),
AdsAgentAnalysebookTotalDTO
.
class
);
}
catch
(
Exception
e
)
{
LOGGER
.
warn
(
"调用数据统计接口 [adsAgentAnalysebookTotalService.getBookBrowseAndScanStats] 失败"
,
e
);
}
return
adsAgentAnalysebookTotalDTOS
;
}
}
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