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
4c6669fe
Commit
4c6669fe
authored
Feb 08, 2021
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug: [none] 处理ERP过期书刊导出
parent
9d2b3dd8
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
188 additions
and
9 deletions
+188
-9
BookGroupServeCountDTO.java
...ava/com/pcloud/book/group/dto/BookGroupServeCountDTO.java
+10
-0
BookQrcodeWxworkBiz.java
...in/java/com/pcloud/book/book/biz/BookQrcodeWxworkBiz.java
+12
-0
BookAdviserBizImpl.java
...ava/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
+53
-4
BookQrcodeWxworkBizImpl.java
...om/pcloud/book/book/biz/impl/BookQrcodeWxworkBizImpl.java
+29
-0
BookQrcodeWxworkDao.java
...in/java/com/pcloud/book/book/dao/BookQrcodeWxworkDao.java
+11
-0
BookQrcodeWxworkDaoImpl.java
...om/pcloud/book/book/dao/impl/BookQrcodeWxworkDaoImpl.java
+20
-0
BookAdviser.Mapper.xml
...ook/src/main/resources/mapper/book/BookAdviser.Mapper.xml
+1
-1
BookQrcodeWxworkDao.xml
...ok/src/main/resources/mapper/book/BookQrcodeWxworkDao.xml
+45
-0
BookGroupMapper.xml
...-book/src/main/resources/mapper/group/BookGroupMapper.xml
+2
-2
BookGroupServe.xml
...e-book/src/main/resources/mapper/group/BookGroupServe.xml
+5
-2
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/group/dto/BookGroupServeCountDTO.java
View file @
4c6669fe
...
@@ -39,4 +39,14 @@ public class BookGroupServeCountDTO extends BaseDto {
...
@@ -39,4 +39,14 @@ public class BookGroupServeCountDTO extends BaseDto {
@ApiModelProperty
(
"权益数量"
)
@ApiModelProperty
(
"权益数量"
)
private
Integer
rightsCount
;
private
Integer
rightsCount
;
@ApiModelProperty
(
"公众号sceneid/RAYS码bookgroupid"
)
private
Long
bookQrcodeId
;
@ApiModelProperty
(
"sceneId数组"
)
private
String
sceneIdStr
;
@ApiModelProperty
(
"sceneIds"
)
private
List
<
Long
>
sceneIds
=
Lists
.
newArrayList
();
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/BookQrcodeWxworkBiz.java
View file @
4c6669fe
...
@@ -2,8 +2,10 @@ package com.pcloud.book.book.biz;
...
@@ -2,8 +2,10 @@ package com.pcloud.book.book.biz;
import
com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO
;
import
com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO
;
import
com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO
;
import
com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 二维码配置企业微信
* 二维码配置企业微信
...
@@ -53,4 +55,14 @@ public interface BookQrcodeWxworkBiz {
...
@@ -53,4 +55,14 @@ public interface BookQrcodeWxworkBiz {
* * @param null
* * @param null
*/
*/
List
<
Long
>
getWxworkGroupQrcodeIdsExceptBook
(
Long
sceneId
,
Long
bookGroupId
);
List
<
Long
>
getWxworkGroupQrcodeIdsExceptBook
(
Long
sceneId
,
Long
bookGroupId
);
/**
* 获取二维码配置的企业微信
*/
Map
<
Long
,
BookGroupServeCountDTO
>
mapWxWorkServeCount4SceneIds
(
List
<
Long
>
sceneIds
,
Integer
bookQrcodeType
);
/**
* 获取二维码配置的企业微信
*/
Map
<
String
,
BookGroupServeCountDTO
>
mapWxWorkServeCount4BookIds
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
String
strSceneIds
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookAdviserBizImpl.java
View file @
4c6669fe
...
@@ -14,6 +14,7 @@ import com.pcloud.book.base.exception.BookBizException;
...
@@ -14,6 +14,7 @@ import com.pcloud.book.base.exception.BookBizException;
import
com.pcloud.book.book.biz.BookAdviserBiz
;
import
com.pcloud.book.book.biz.BookAdviserBiz
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.biz.BookBiz
;
import
com.pcloud.book.book.biz.BookFundBiz
;
import
com.pcloud.book.book.biz.BookFundBiz
;
import
com.pcloud.book.book.biz.BookQrcodeWxworkBiz
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.book.dao.BookAdviserDao
;
import
com.pcloud.book.book.dao.BookAdviserDao
;
import
com.pcloud.book.book.dto.AdviserBookInfoDTO
;
import
com.pcloud.book.book.dto.AdviserBookInfoDTO
;
...
@@ -35,6 +36,7 @@ import com.pcloud.book.book.dto.ErpBookInfoDTO;
...
@@ -35,6 +36,7 @@ import com.pcloud.book.book.dto.ErpBookInfoDTO;
import
com.pcloud.book.book.dto.QrcodeStatisticsDTO
;
import
com.pcloud.book.book.dto.QrcodeStatisticsDTO
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.Book
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.entity.BookAdviser
;
import
com.pcloud.book.book.enums.BookQrcodeType
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.book.set.BookSet
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.AgentBookStatsDetailVO
;
import
com.pcloud.book.book.vo.ErpAdviserBookVO
;
import
com.pcloud.book.book.vo.ErpAdviserBookVO
;
...
@@ -64,7 +66,6 @@ import com.pcloud.book.group.dto.BookAppletSceneDTO;
...
@@ -64,7 +66,6 @@ import com.pcloud.book.group.dto.BookAppletSceneDTO;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.book.group.dto.BookServeDTO
;
import
com.pcloud.book.group.dto.BookServeDTO
;
import
com.pcloud.book.group.entity.BookAppletScene
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.biz.RightsSettingBiz
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingDAO
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingDAO
;
...
@@ -90,6 +91,7 @@ import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
...
@@ -90,6 +91,7 @@ import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.facade.tradecenter.dto.Amount4BookAdviserDto
;
import
com.pcloud.facade.tradecenter.dto.Amount4BookAdviserDto
;
import
com.pcloud.raystask.entity.AdviserDefault
;
import
com.pcloud.raystask.entity.AdviserDefault
;
import
com.pcloud.readercenter.common.enums.YesOrNoNumEnum
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto
;
import
com.pcloud.usercenter.user.entity.UserLogin
;
import
com.pcloud.usercenter.user.entity.UserLogin
;
import
com.pcloud.wechatgroup.group.dto.GroupScanUserStatsDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupScanUserStatsDTO
;
...
@@ -197,6 +199,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -197,6 +199,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
private
MessageConsr
messageConsr
;
private
MessageConsr
messageConsr
;
@Autowired
@Autowired
private
BookAppletSceneDao
bookAppletSceneDao
;
private
BookAppletSceneDao
bookAppletSceneDao
;
@Autowired
private
BookAdviserBiz
bookAdviserBiz
;
@Autowired
private
BookQrcodeWxworkBiz
bookQrcodeWxworkBiz
;
@Override
@Override
public
List
<
BookDto
>
listByAdviserId
(
Long
adviserId
)
{
public
List
<
BookDto
>
listByAdviserId
(
Long
adviserId
)
{
...
@@ -1100,11 +1106,15 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1100,11 +1106,15 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
}
List
<
QrcodeSceneDto
>
qrcodeSceneDtos
=
qrcodeSceneConsr
.
getQrCodeList
(
bookId
,
adviserId
,
channelId
);
List
<
QrcodeSceneDto
>
qrcodeSceneDtos
=
qrcodeSceneConsr
.
getQrCodeList
(
bookId
,
adviserId
,
channelId
);
if
(!
ListUtils
.
isEmpty
(
qrcodeSceneDtos
))
{
if
(!
ListUtils
.
isEmpty
(
qrcodeSceneDtos
))
{
List
<
Long
>
sceneIds
=
qrcodeSceneDtos
.
stream
().
map
(
x
->
x
.
getSceneId
()).
collect
(
Collectors
.
toList
());
// 企业微信群资源数
Map
<
Long
,
BookGroupServeCountDTO
>
bookQrcodeWxworkMap
=
bookQrcodeWxworkBiz
.
mapWxWorkServeCount4SceneIds
(
sceneIds
,
BookQrcodeType
.
OFFICIAL_ACCOUNTS
.
getCode
());
for
(
QrcodeSceneDto
e
:
qrcodeSceneDtos
)
{
for
(
QrcodeSceneDto
e
:
qrcodeSceneDtos
)
{
QrCodeVO
qrCodeVO
=
new
QrCodeVO
();
QrCodeVO
qrCodeVO
=
new
QrCodeVO
();
qrCodeVO
.
setQrCodeName
(
e
.
getSceneName
());
qrCodeVO
.
setQrCodeName
(
e
.
getSceneName
());
qrCodeVO
.
setQrCodeUrl
(
e
.
getQrcodeUrl
());
qrCodeVO
.
setQrCodeUrl
(
e
.
getQrcodeUrl
());
qrCodeVO
.
setServeCount
(
ListUtils
.
isEmpty
(
e
.
getMessages
())
?
0
:
e
.
getMessages
().
size
());
BookGroupServeCountDTO
serveCountDTO
=
bookQrcodeWxworkMap
.
get
(
e
.
getSceneId
());
qrCodeVO
.
setServeCount
((
ListUtils
.
isEmpty
(
e
.
getMessages
())
?
0
:
e
.
getMessages
().
size
())
+
(
serveCountDTO
==
null
?
0
:
serveCountDTO
.
getServeCount
()));
qrCodeVOS
.
add
(
qrCodeVO
);
qrCodeVOS
.
add
(
qrCodeVO
);
}
}
}
}
...
@@ -1132,6 +1142,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1132,6 +1142,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
Future
<
Map
<
String
,
BookGroupServeCountDTO
>>
mapBookGroupRobotServeCountSubmit
=
ThreadPoolUtils
.
OTHER_POOL
.
submit
(()->
bookGroupBiz
.
mapBookGroupQrcodeServeCount
(
adviserIds
,
bookIds
,
channelIds
,
JoinGroupTypeEnum
.
ROBOT
.
getCode
()));
Future
<
Map
<
String
,
BookGroupServeCountDTO
>>
mapBookGroupRobotServeCountSubmit
=
ThreadPoolUtils
.
OTHER_POOL
.
submit
(()->
bookGroupBiz
.
mapBookGroupQrcodeServeCount
(
adviserIds
,
bookIds
,
channelIds
,
JoinGroupTypeEnum
.
ROBOT
.
getCode
()));
Future
<
Map
<
Long
,
RightsSettingDto
>>
rightsMapSubmit
=
ThreadPoolUtils
.
OTHER_POOL
.
submit
(()->
rightsSettingDAO
.
listByBookIds
(
bookIds
));
Future
<
Map
<
Long
,
RightsSettingDto
>>
rightsMapSubmit
=
ThreadPoolUtils
.
OTHER_POOL
.
submit
(()->
rightsSettingDAO
.
listByBookIds
(
bookIds
));
Map
<
String
,
QrcodeMessageDTO
>
mapQrcodeMessage
=
new
HashMap
<>();
Map
<
String
,
QrcodeMessageDTO
>
mapQrcodeMessage
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapWxworkServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupQrcodeServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupQrcodeServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupRobotServeCount
=
new
HashMap
<>();
Map
<
String
,
BookGroupServeCountDTO
>
mapBookGroupRobotServeCount
=
new
HashMap
<>();
...
@@ -1141,6 +1152,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1141,6 +1152,9 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
}
catch
(
InterruptedException
|
ExecutionException
|
TimeoutException
e
)
{
}
catch
(
InterruptedException
|
ExecutionException
|
TimeoutException
e
)
{
LOGGER
.
error
(
"获取二维码信息错误: {}=="
,
e
);
LOGGER
.
error
(
"获取二维码信息错误: {}=="
,
e
);
}
}
// 只查询公众号二维码中未被删除的sceneId对应的企业微信资源数
String
strSceneIds
=
mapQrcodeMessage
.
values
().
stream
().
map
(
x
->
x
.
getSceneIdStr
()).
collect
(
Collectors
.
joining
(
","
));
mapWxworkServeCount
=
bookQrcodeWxworkBiz
.
mapWxWorkServeCount4BookIds
(
adviserIds
,
bookIds
,
channelIds
,
strSceneIds
);
try
{
try
{
mapBookGroupServeCount
=
mapBookGroupServeCountSubmit
.
get
();
mapBookGroupServeCount
=
mapBookGroupServeCountSubmit
.
get
();
}
catch
(
InterruptedException
|
ExecutionException
e
)
{
}
catch
(
InterruptedException
|
ExecutionException
e
)
{
...
@@ -1203,6 +1217,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1203,6 +1217,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookResourceStatisticsDTO
=
new
BookResourceStatisticsDTO
();
bookResourceStatisticsDTO
=
new
BookResourceStatisticsDTO
();
QrcodeMessageDTO
qrcodeMessageDTO
=
mapQrcodeMessage
.
get
(
bookChannelAdviserId
);
QrcodeMessageDTO
qrcodeMessageDTO
=
mapQrcodeMessage
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookQrcodeWxwork
=
mapWxworkServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupServeCountDTO
=
mapBookGroupServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupServeCountDTO
=
mapBookGroupServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupQrcodeServeCountDTO
=
mapBookGroupQrcodeServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupQrcodeServeCountDTO
=
mapBookGroupQrcodeServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupRobotServeCountDTO
=
mapBookGroupRobotServeCount
.
get
(
bookChannelAdviserId
);
BookGroupServeCountDTO
bookGroupRobotServeCountDTO
=
mapBookGroupRobotServeCount
.
get
(
bookChannelAdviserId
);
...
@@ -1212,6 +1227,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1212,6 +1227,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookResourceStatisticsDTO
.
setQrcodeCount
(
0
);
bookResourceStatisticsDTO
.
setQrcodeCount
(
0
);
bookResourceStatisticsDTO
.
setServeCount
(
0
);
bookResourceStatisticsDTO
.
setServeCount
(
0
);
}
}
// 企业微信
if
(
bookQrcodeWxwork
!=
null
){
bookResourceStatisticsDTO
.
setServeCount
(
bookResourceStatisticsDTO
.
getServeCount
()
+
bookQrcodeWxwork
.
getServeCount
());
}
bookResourceStatisticsDTO
.
setServeCount
(
bookResourceStatisticsDTO
.
getServeCount
()
+
qrcodeMessageDTO
.
getServeCount
());
bookResourceStatisticsDTO
.
setServeCount
(
bookResourceStatisticsDTO
.
getServeCount
()
+
qrcodeMessageDTO
.
getServeCount
());
bookResourceStatisticsDTO
.
setQrcodeCount
(
bookResourceStatisticsDTO
.
getQrcodeCount
()
+
qrcodeMessageDTO
.
getQrcodeCount
());
bookResourceStatisticsDTO
.
setQrcodeCount
(
bookResourceStatisticsDTO
.
getQrcodeCount
()
+
qrcodeMessageDTO
.
getQrcodeCount
());
}
}
...
@@ -1269,23 +1288,35 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1269,23 +1288,35 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
Map
<
String
,
BookDataStatisticsDTO
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
BookDataStatisticsDTO
>
resultMap
=
new
HashMap
<>();
BookDataStatisticsDTO
bookDataStatisticsDTO
;
BookDataStatisticsDTO
bookDataStatisticsDTO
;
// 获取配置了书刊权益的书
// 获取配置了书刊权益的书
Future
<
Map
<
Long
,
RightsSettingDto
>>
rightsMapSubmit
=
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
submit
(()
->
rightsSettingBiz
.
listByBookIds
(
bookIds
));
//
Future<Map<Long, RightsSettingDto>> rightsMapSubmit = ThreadPoolUtils.OTHER_THREAD_POOL.submit(() -> rightsSettingBiz.listByBookIds(bookIds));
Future
<
Map
<
String
,
BrowseCacheRecordDto
>>
bookScanAndUvSubmit
=
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
submit
(()
->
browseRecordConsr
.
getBookScanAndUv
(
adviserIds
,
channelIds
,
bookIds
));
Future
<
Map
<
String
,
BrowseCacheRecordDto
>>
bookScanAndUvSubmit
=
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
submit
(()
->
browseRecordConsr
.
getBookScanAndUv
(
adviserIds
,
channelIds
,
bookIds
));
Future
<
Map
<
String
,
BookAdviserDto
>>
bookAdviserSubmit
=
ThreadPoolUtils
.
OTHER_THREAD_POOL
.
submit
(()
->
bookAdviserBiz
.
getBookInfoByBookIds
(
bookIds
,
adviserIds
,
channelIds
));
Map
<
Long
,
RightsSettingDto
>
rightsMap
=
new
HashMap
<>();
// 获取现代纸书统计数据
// 获取现代纸书统计数据
Map
<
String
,
BrowseCacheRecordDto
>
bookScanAndUv
=
new
HashMap
<>();
Map
<
String
,
BrowseCacheRecordDto
>
bookScanAndUv
=
new
HashMap
<>();
/*
Map<Long, RightsSettingDto> rightsMap = new HashMap<>();
try {
try {
rightsMap = rightsMapSubmit.get();
rightsMap = rightsMapSubmit.get();
} catch (InterruptedException | ExecutionException e) {
} catch (InterruptedException | ExecutionException e) {
LOGGER.error("获取配置了书刊权益的书错误: {}==", e);
LOGGER.error("获取配置了书刊权益的书错误: {}==", e);
}
}
*/
try
{
try
{
bookScanAndUv
=
bookScanAndUvSubmit
.
get
(
ThreadPoolUtils
.
REMOTE_TIME_OUT
,
TimeUnit
.
SECONDS
);
bookScanAndUv
=
bookScanAndUvSubmit
.
get
(
ThreadPoolUtils
.
REMOTE_TIME_OUT
,
TimeUnit
.
SECONDS
);
}
catch
(
InterruptedException
|
ExecutionException
|
TimeoutException
e
)
{
}
catch
(
InterruptedException
|
ExecutionException
|
TimeoutException
e
)
{
LOGGER
.
error
(
"获取现代纸书统计数据错误: {}=="
,
e
);
LOGGER
.
error
(
"获取现代纸书统计数据错误: {}=="
,
e
);
}
}
Map
<
String
,
BookAdviserDto
>
bookAdviserDtoMap
=
new
HashMap
<>();
try
{
bookAdviserDtoMap
=
bookAdviserSubmit
.
get
(
ThreadPoolUtils
.
REMOTE_TIME_OUT
,
TimeUnit
.
SECONDS
);
}
catch
(
InterruptedException
|
ExecutionException
|
TimeoutException
e
)
{
LOGGER
.
error
(
"获取现代纸书是否小睿流程错误: {}=="
,
e
);
}
// 根据条件筛选出社群书数据
// 根据条件筛选出社群书数据
List
<
BookGroupDTO
>
bookGroupList
=
bookGroupDao
.
getDTOByBookIdsAdviserIdsChannelIds
(
bookIds
,
adviserIds
,
channelIds
);
List
<
BookGroupDTO
>
bookGroupList
=
bookGroupDao
.
getDTOByBookIdsAdviserIdsChannelIds
(
bookIds
,
adviserIds
,
channelIds
);
if
(!
CollectionUtils
.
isEmpty
(
bookGroupList
)){
if
(!
CollectionUtils
.
isEmpty
(
bookGroupList
)){
...
@@ -1340,6 +1371,24 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
...
@@ -1340,6 +1371,24 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookDataStatisticsDTO
.
setBookCategory
(
"现代纸书"
);
bookDataStatisticsDTO
.
setBookCategory
(
"现代纸书"
);
resultMap
.
put
(
bookDataStatisticsDTO
.
getBookChannelAdviserId
(),
bookDataStatisticsDTO
);
resultMap
.
put
(
bookDataStatisticsDTO
.
getBookChannelAdviserId
(),
bookDataStatisticsDTO
);
}
}
// 判断现代纸书是否开启小睿流程
for
(
BookAdviserDto
dto
:
bookAdviserDtoMap
.
values
())
{
String
bookChannelAdviserId
=
dto
.
getBookId
()
+
"_"
+
dto
.
getChannelId
()
+
"_"
+
dto
.
getAdviserId
()
;
bookDataStatisticsDTO
=
resultMap
.
get
(
bookChannelAdviserId
);
if
(
bookDataStatisticsDTO
!=
null
){
if
(
YesOrNoNumEnum
.
YES
.
getValue
().
equals
(
dto
.
getIsOpenRobotProcess
())
&&
bookDataStatisticsDTO
.
getBookCategory
().
indexOf
(
"小睿书"
)
==
-
1
){
bookDataStatisticsDTO
.
setBookCategory
(
bookDataStatisticsDTO
.
getBookCategory
()+
"、小睿书"
);
}
continue
;
}
bookDataStatisticsDTO
=
new
BookDataStatisticsDTO
();
bookDataStatisticsDTO
.
setBookChannelAdviserId
(
bookChannelAdviserId
);
bookDataStatisticsDTO
.
setAdviserId
(
dto
.
getAdviserId
());
bookDataStatisticsDTO
.
setBookId
(
dto
.
getBookId
());
bookDataStatisticsDTO
.
setChannelId
(
dto
.
getChannelId
());
bookDataStatisticsDTO
.
setBookCategory
(
YesOrNoNumEnum
.
YES
.
getValue
().
equals
(
dto
.
getIsOpenRobotProcess
())
?
"小睿书"
:
"现代纸书"
);
resultMap
.
put
(
bookDataStatisticsDTO
.
getBookChannelAdviserId
(),
bookDataStatisticsDTO
);
}
return
resultMap
;
return
resultMap
;
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookQrcodeWxworkBizImpl.java
View file @
4c6669fe
package
com
.
pcloud
.
book
.
book
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
book
.
biz
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz
;
import
com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz
;
import
com.pcloud.book.applet.dto.AppletGroupStatementDTO
;
import
com.pcloud.book.applet.dto.AppletGroupStatementDTO
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
...
@@ -14,6 +15,7 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
...
@@ -14,6 +15,7 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dao.BookGroupDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto
;
import
com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO
;
import
com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO
;
...
@@ -28,6 +30,7 @@ import java.util.ArrayList;
...
@@ -28,6 +30,7 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* @ClassName com.pcloud.book.book.biz.impl.BookQrcodeWxworkBizImpl
* @ClassName com.pcloud.book.book.biz.impl.BookQrcodeWxworkBizImpl
...
@@ -234,4 +237,30 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
...
@@ -234,4 +237,30 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
List
<
Long
>
groupQrcodeIds
=
bookQrcodeWxworkDao
.
getWxworkQrcodeIdsExceptBook
(
bookId
,
wxworkQrcodeType
);
List
<
Long
>
groupQrcodeIds
=
bookQrcodeWxworkDao
.
getWxworkQrcodeIdsExceptBook
(
bookId
,
wxworkQrcodeType
);
return
groupQrcodeIds
;
return
groupQrcodeIds
;
}
}
@Override
public
Map
<
Long
,
BookGroupServeCountDTO
>
mapWxWorkServeCount4SceneIds
(
List
<
Long
>
sceneIds
,
Integer
bookQrcodeType
)
{
if
(
CollUtil
.
isEmpty
(
sceneIds
)){
return
new
HashMap
<>();
}
List
<
BookGroupServeCountDTO
>
list
=
bookQrcodeWxworkDao
.
mapWxWorkServeCount4SceneIds
(
sceneIds
,
bookQrcodeType
);
if
(
CollUtil
.
isEmpty
(
list
)){
return
new
HashMap
<>();
}
Map
<
Long
,
BookGroupServeCountDTO
>
resultMap
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getBookQrcodeId
(),
x
->
x
,
(
v1
,
v2
)
->
v2
));
return
CollUtil
.
isEmpty
(
resultMap
)
?
new
HashMap
<>()
:
resultMap
;
}
@Override
public
Map
<
String
,
BookGroupServeCountDTO
>
mapWxWorkServeCount4BookIds
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
String
strSceneIds
)
{
if
(
CollUtil
.
isEmpty
(
adviserIds
)
||
CollUtil
.
isEmpty
(
bookIds
)
||
CollUtil
.
isEmpty
(
channelIds
)){
return
new
HashMap
<>();
}
List
<
BookGroupServeCountDTO
>
list
=
bookQrcodeWxworkDao
.
mapWxWorkServeCount4BookIds
(
adviserIds
,
bookIds
,
channelIds
,
strSceneIds
,
BookQrcodeType
.
OFFICIAL_ACCOUNTS
.
getCode
());
if
(
CollUtil
.
isEmpty
(
list
)){
return
new
HashMap
<>();
}
Map
<
String
,
BookGroupServeCountDTO
>
resultMap
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getBookChannelAdviserId
(),
x
->
x
,
(
v1
,
v2
)
->
v2
));
return
CollUtil
.
isEmpty
(
resultMap
)
?
new
HashMap
<>()
:
resultMap
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/BookQrcodeWxworkDao.java
View file @
4c6669fe
package
com
.
pcloud
.
book
.
book
.
dao
;
package
com
.
pcloud
.
book
.
book
.
dao
;
import
com.pcloud.book.book.entity.BookQrcodeWxwork
;
import
com.pcloud.book.book.entity.BookQrcodeWxwork
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.common.core.dao.BaseDao
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
import
java.util.List
;
...
@@ -45,4 +46,14 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
...
@@ -45,4 +46,14 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
* * @param null
* * @param null
*/
*/
List
<
Long
>
getWxworkQrcodeIdsExceptBook
(
Long
bookId
,
Integer
wxworkQrcodeType
);
List
<
Long
>
getWxworkQrcodeIdsExceptBook
(
Long
bookId
,
Integer
wxworkQrcodeType
);
/**
* 获取二维码配置的企业微信
*/
List
<
BookGroupServeCountDTO
>
mapWxWorkServeCount4SceneIds
(
List
<
Long
>
sceneIds
,
Integer
bookQrcodeType
);
/**
* 获取二维码配置的企业微信
*/
List
<
BookGroupServeCountDTO
>
mapWxWorkServeCount4BookIds
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
String
strSceneIds
,
Integer
bookQrcodeType
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/book/dao/impl/BookQrcodeWxworkDaoImpl.java
View file @
4c6669fe
...
@@ -2,6 +2,7 @@ package com.pcloud.book.book.dao.impl;
...
@@ -2,6 +2,7 @@ package com.pcloud.book.book.dao.impl;
import
com.pcloud.book.book.dao.BookQrcodeWxworkDao
;
import
com.pcloud.book.book.dao.BookQrcodeWxworkDao
;
import
com.pcloud.book.book.entity.BookQrcodeWxwork
;
import
com.pcloud.book.book.entity.BookQrcodeWxwork
;
import
com.pcloud.book.group.dto.BookGroupServeCountDTO
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -55,4 +56,23 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple
...
@@ -55,4 +56,23 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple
map
.
put
(
"wxworkQrcodeType"
,
wxworkQrcodeType
);
map
.
put
(
"wxworkQrcodeType"
,
wxworkQrcodeType
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getWxworkQrcodeIdsExceptBook"
),
map
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"getWxworkQrcodeIdsExceptBook"
),
map
);
}
}
@Override
public
List
<
BookGroupServeCountDTO
>
mapWxWorkServeCount4SceneIds
(
List
<
Long
>
sceneIds
,
Integer
bookQrcodeType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"sceneIds"
,
sceneIds
);
map
.
put
(
"bookQrcodeType"
,
bookQrcodeType
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"mapWxWorkServeCount4SceneIds"
),
map
);
}
@Override
public
List
<
BookGroupServeCountDTO
>
mapWxWorkServeCount4BookIds
(
List
<
Long
>
adviserIds
,
List
<
Long
>
bookIds
,
List
<
Long
>
channelIds
,
String
strSceneIds
,
Integer
bookQrcodeType
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"adviserIds"
,
adviserIds
);
map
.
put
(
"bookIds"
,
bookIds
);
map
.
put
(
"channelIds"
,
channelIds
);
map
.
put
(
"strSceneIds"
,
strSceneIds
);
map
.
put
(
"bookQrcodeType"
,
bookQrcodeType
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"mapWxWorkServeCount4BookIds"
),
map
);
}
}
}
pcloud-service-book/src/main/resources/mapper/book/BookAdviser.Mapper.xml
View file @
4c6669fe
...
@@ -841,7 +841,7 @@
...
@@ -841,7 +841,7 @@
</select>
</select>
<select
id=
"getBookInfoByBookIds"
resultMap=
"bookAdviserMap"
>
<select
id=
"getBookInfoByBookIds"
resultMap=
"bookAdviserMap"
>
SELECT BOOK_ID,ADVISER_ID,CHANNEL_ID,TEMPLET_ID,CREATED_USER,SECOND_TEMPLET_ID,
SELECT BOOK_ID,ADVISER_ID,CHANNEL_ID,TEMPLET_ID,CREATED_USER,SECOND_TEMPLET_ID,
is_open_robot_process,
GRA_LABEL_ID,SUB_LABEL_ID,VER_LABEL_ID,AREA_LABEL_ID,dep_label_id,pro_label_id,pur_label_id,vol_label_id
GRA_LABEL_ID,SUB_LABEL_ID,VER_LABEL_ID,AREA_LABEL_ID,dep_label_id,pro_label_id,pur_label_id,vol_label_id
FROM book_adviser
FROM book_adviser
WHERE is_delete = 0
WHERE is_delete = 0
...
...
pcloud-service-book/src/main/resources/mapper/book/BookQrcodeWxworkDao.xml
View file @
4c6669fe
...
@@ -107,4 +107,49 @@
...
@@ -107,4 +107,49 @@
AND book_id != #{bookId}
AND book_id != #{bookId}
</select>
</select>
<select
id=
"mapWxWorkServeCount4SceneIds"
parameterType=
"map"
resultType=
"com.pcloud.book.group.dto.BookGroupServeCountDTO"
>
SELECT
book_qrcode_id bookQrcodeId, COUNT(id) serveCount, book_id bookId, adviser_id adviserId, channel_id channelId, COUNT(DISTINCT book_qrcode_id) qrcodeCount
FROM
book_qrcode_wxwork
WHERE
book_qrcode_type = #{bookQrcodeType}
AND book_qrcode_id IN
<foreach
collection=
"sceneIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
${item}
</foreach>
GROUP BY book_qrcode_id
</select>
<select
id=
"mapWxWorkServeCount4BookIds"
parameterType=
"map"
resultType=
"com.pcloud.book.group.dto.BookGroupServeCountDTO"
>
SELECT
CONCAT(book_id,'_',channel_id,'_',adviser_id) bookChannelAdviserId, book_qrcode_id bookQrcodeId,COUNT(id) serveCount,
book_id bookId, adviser_id adviserId, channel_id channelId, COUNT(DISTINCT book_qrcode_id) qrcodeCount,
GROUP_CONCAT(book_qrcode_id) sceneIdStr
FROM
book_qrcode_wxwork
WHERE
book_qrcode_type = #{bookQrcodeType}
AND book_qrcode_id IN (${strSceneIds})
<if
test=
"adviserIds!=null"
>
AND adviser_id IN
<foreach
collection=
"adviserIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
${item}
</foreach>
</if>
<if
test=
"bookIds!=null"
>
AND book_id IN
<foreach
collection=
"bookIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
${item}
</foreach>
</if>
<if
test=
"channelIds!=null"
>
AND channel_id IN
<foreach
collection=
"channelIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
${item}
</foreach>
</if>
GROUP BY book_id, channel_id, adviser_id
</select>
</mapper>
</mapper>
pcloud-service-book/src/main/resources/mapper/group/BookGroupMapper.xml
View file @
4c6669fe
...
@@ -159,7 +159,7 @@
...
@@ -159,7 +159,7 @@
select
select
<include
refid=
"Base_Column_List"
/>
<include
refid=
"Base_Column_List"
/>
from book_group
from book_group
where book_id in
where
is_delete = 0 AND
book_id in
<foreach
collection=
"bookIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
<foreach
collection=
"bookIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
${item}
</foreach>
</foreach>
...
@@ -177,7 +177,7 @@
...
@@ -177,7 +177,7 @@
select
select
<include
refid=
"Base_Column_List"
/>
<include
refid=
"Base_Column_List"
/>
from book_group
from book_group
where book_id in
where
is_delete = 0 AND
book_id in
<foreach
collection=
"bookIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
<foreach
collection=
"bookIds"
open=
"("
close=
")"
item=
"item"
separator=
","
>
${item}
${item}
</foreach>
</foreach>
...
...
pcloud-service-book/src/main/resources/mapper/group/BookGroupServe.xml
View file @
4c6669fe
...
@@ -211,12 +211,15 @@
...
@@ -211,12 +211,15 @@
</select>
</select>
<!--客服机器人、1v1、小睿的资源数-->
<!--客服机器人、1v1、小睿的资源数-->
<!--2021-02-19 企业微信群也算一个资源数-->
<select
id=
"mapBookGroupServeCount"
parameterType=
"map"
resultType=
"com.pcloud.book.group.dto.BookGroupServeCountDTO"
>
<select
id=
"mapBookGroupServeCount"
parameterType=
"map"
resultType=
"com.pcloud.book.group.dto.BookGroupServeCountDTO"
>
SELECT
SELECT
CONCAT(bg.book_id,'_',bg.channel_id,'_',bg.create_user) bookChannelAdviserId, COUNT(bgs.id) serveCount,
CONCAT(bg.book_id,'_',bg.channel_id,'_',bg.create_user) bookChannelAdviserId,
COUNT(DISTINCT bgs.id) + (SELECT COUNT(1) FROM book_qrcode_wxwork bqw WHERE bqw.book_qrcode_type = 2 AND bqw.book_qrcode_id = bg.id) serveCount,
bg.book_id bookId, bg.create_user adviserId, bg.channel_id channelId,COUNT(DISTINCT bg.group_qrcode_url) qrcodeCount,
bg.book_id bookId, bg.create_user adviserId, bg.channel_id channelId,COUNT(DISTINCT bg.group_qrcode_url) qrcodeCount,
bg.join_group_type joinGroupType
bg.join_group_type joinGroupType
FROM `book_group` bg LEFT JOIN book_group_serve bgs ON bg.id = bgs.book_group_id
FROM `book_group` bg
LEFT JOIN book_group_serve bgs ON bg.id = bgs.book_group_id
WHERE
WHERE
bg.is_delete=0
bg.is_delete=0
AND bg.book_id IN
AND bg.book_id IN
...
...
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