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
b9dbcd89
Commit
b9dbcd89
authored
Mar 24, 2022
by
田超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/1006818' into 'master'
feat: [1006818] 斗罗 See merge request rays/pcloud-book!1527
parents
a896a5bc
cd2ade1e
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
235 additions
and
57 deletions
+235
-57
pom.xml
pcloud-service-book/pom.xml
+8
-1
FunctionConsr.java
...java/com/pcloud/book/consumer/function/FunctionConsr.java
+50
-0
ResourcePageBiz.java
.../main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
+8
-0
BookGroupBizImpl.java
...java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
+88
-56
ResourcePageBizImpl.java
...a/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
+62
-0
ResourcePageFacade.java
...com/pcloud/book/group/facade/impl/ResourcePageFacade.java
+10
-0
ResourcePageItemVO.java
...ain/java/com/pcloud/book/group/vo/ResourcePageItemVO.java
+3
-0
ThreadPoolUtils.java
...ain/java/com/pcloud/book/util/common/ThreadPoolUtils.java
+6
-0
No files found.
pcloud-service-book/pom.xml
View file @
b9dbcd89
...
@@ -257,7 +257,14 @@
...
@@ -257,7 +257,14 @@
<dependency>
<dependency>
<groupId>
ru.yandex.clickhouse
</groupId>
<groupId>
ru.yandex.clickhouse
</groupId>
<artifactId>
clickhouse-jdbc
</artifactId>
<artifactId>
clickhouse-jdbc
</artifactId>
<version>
0.2.1
</version>
<version>
0.3.2
</version>
</dependency>
<!-- 判断斗罗书 -->
<dependency>
<groupId>
com.pcloud.facade
</groupId>
<artifactId>
pcloud-facade-function
</artifactId>
<version>
${pcloud-facade3.version}
</version>
</dependency>
</dependency>
</dependencies>
</dependencies>
...
...
pcloud-service-book/src/main/java/com/pcloud/book/consumer/function/FunctionConsr.java
0 → 100644
View file @
b9dbcd89
package
com
.
pcloud
.
book
.
consumer
.
function
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.function.douluo.dto.AppTaskDTO
;
import
com.pcloud.function.douluo.service.DlAppTaskService
;
import
com.pcloud.function.douluo.service.DlBookService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Component
public
class
FunctionConsr
{
@Autowired
private
DlBookService
dlBookService
;
@Autowired
private
DlAppTaskService
dlAppTaskService
;
/**
根据bookId判断是否斗罗书
*/
public
Boolean
checkIsDlBook
(
Long
bookId
){
Boolean
isDlBook
=
false
;
if
(
null
==
bookId
)
{
return
isDlBook
;
}
try
{
isDlBook
=
ResponseHandleUtil
.
parseResponse
(
dlBookService
.
checkIsDlBook
(
bookId
),
Boolean
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"function.dlBookService.checkIsDlBook远程调用失败"
);
}
return
isDlBook
;
}
public
List
<
AppTaskDTO
>
getAppTaskList
()
{
List
<
AppTaskDTO
>
appTaskList
=
new
ArrayList
<>();
try
{
appTaskList
=
ResponseHandleUtil
.
parseListResponse
(
dlAppTaskService
.
getAppTaskList
(),
AppTaskDTO
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"function.dlAppTaskService.getAppTaskList()远程调用失败"
);
}
return
appTaskList
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/ResourcePageBiz.java
View file @
b9dbcd89
...
@@ -564,4 +564,12 @@ public interface ResourcePageBiz {
...
@@ -564,4 +564,12 @@ public interface ResourcePageBiz {
Map
<
Long
,
Boolean
>
mapWxworkStateBySceneIds
(
List
<
Long
>
sceneIds
);
Map
<
Long
,
Boolean
>
mapWxworkStateBySceneIds
(
List
<
Long
>
sceneIds
);
List
<
BookGroupServe
>
getResourcePageList4Erp
(
List
<
Long
>
sceneIds
);
List
<
BookGroupServe
>
getResourcePageList4Erp
(
List
<
Long
>
sceneIds
);
/**
* 客户端-斗罗大陆获取配置资源
* @param wechatUserId
* @param sceneId
* @return
*/
List
<
ResourcePageItemVO
>
getServerList4Wechat
(
Long
wechatUserId
,
Long
sceneId
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
View file @
b9dbcd89
...
@@ -42,6 +42,7 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
...
@@ -42,6 +42,7 @@ import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.book.consumer.common.ExportConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.content.ResourceConsr
;
import
com.pcloud.book.consumer.exercisebook.ExerciseBookConsr
;
import
com.pcloud.book.consumer.exercisebook.ExerciseBookConsr
;
import
com.pcloud.book.consumer.function.FunctionConsr
;
import
com.pcloud.book.consumer.message.MessageConsr
;
import
com.pcloud.book.consumer.message.MessageConsr
;
import
com.pcloud.book.consumer.raystask.AdviserTaskConsr
;
import
com.pcloud.book.consumer.raystask.AdviserTaskConsr
;
import
com.pcloud.book.consumer.raystask.MainLineConsr
;
import
com.pcloud.book.consumer.raystask.MainLineConsr
;
...
@@ -273,6 +274,7 @@ import com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO;
...
@@ -273,6 +274,7 @@ import com.pcloud.resourcecenter.product.dto.UpdateAppProductParamDTO;
import
com.pcloud.resourcecenter.product.entity.Product
;
import
com.pcloud.resourcecenter.product.entity.Product
;
import
com.pcloud.resourcecenter.product.service.ProductService
;
import
com.pcloud.resourcecenter.product.service.ProductService
;
import
com.pcloud.resourcecenter.store.constants.StoreCons
;
import
com.pcloud.resourcecenter.store.constants.StoreCons
;
import
com.pcloud.settlementcenter.record.dto.AgentBookIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.GetGroupClassifyIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.GetGroupClassifyIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.GetGroupQrcodeIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.GetGroupQrcodeIncomeDTO
;
import
com.pcloud.settlementcenter.record.dto.GroupRescourceIncomeParamDTO
;
import
com.pcloud.settlementcenter.record.dto.GroupRescourceIncomeParamDTO
;
...
@@ -506,6 +508,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
...
@@ -506,6 +508,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
private
UpdateSuperSearchProducer
searchProducer
;
private
UpdateSuperSearchProducer
searchProducer
;
@Autowired
@Autowired
private
AdviserTaskConsr
adviserTaskConsr
;
private
AdviserTaskConsr
adviserTaskConsr
;
@Autowired
private
FunctionConsr
functionConsr
;
private
static
final
ThreadPoolExecutor
PLATFORM_STATISTICS_EXPORT_THREAD
=
new
ThreadPoolExecutor
(
2
,
2
,
private
static
final
ThreadPoolExecutor
PLATFORM_STATISTICS_EXPORT_THREAD
=
new
ThreadPoolExecutor
(
2
,
2
,
0
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
0
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
...
@@ -5636,70 +5640,99 @@ public class BookGroupBizImpl implements BookGroupBiz {
...
@@ -5636,70 +5640,99 @@ public class BookGroupBizImpl implements BookGroupBiz {
public
Map
<
String
,
Object
>
getBookBaseInfo4Applet
(
Long
adviserId
,
Long
channelId
,
Long
bookId
)
{
public
Map
<
String
,
Object
>
getBookBaseInfo4Applet
(
Long
adviserId
,
Long
channelId
,
Long
bookId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
//是否开启小睿
//是否开启小睿
map
.
put
(
"openRays"
,
resourcePageBiz
.
isOpenRaysBook
(
bookId
,
channelId
,
adviserId
));
CompletableFuture
<
Void
>
openRaysFuture
=
CompletableFuture
.
runAsync
(()
->
{
//书刊分类对应的小睿分类
map
.
put
(
"openRays"
,
resourcePageBiz
.
isOpenRaysBook
(
bookId
,
channelId
,
adviserId
));
BookAdviserDto
adviserDto
=
bookAdviserDao
.
getBase
(
bookId
,
channelId
,
adviserId
);
},
ThreadPoolUtils
.
BOOK_BASE_INFO_POOL
);
map
.
put
(
"isK12"
,
Boolean
.
FALSE
);
if
(
null
!=
adviserDto
)
{
// 新增判断是否K12分类
if
(
Objects
.
nonNull
(
adviserDto
.
getTempletId
()))
{
if
(
CollUtil
.
toList
(
RightsSettingConstant
.
K12_TEMPLET_ID_NEW
).
contains
(
adviserDto
.
getTempletId
()))
{
map
.
put
(
"isK12"
,
Boolean
.
TRUE
);
}
List
<
Long
>
idList
=
new
ArrayList
<>();
if
(
adviserDto
.
getTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getTempletId
());
}
if
(
adviserDto
.
getSecondTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getSecondTempletId
());
}
if
(
adviserDto
.
getThirdTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getThirdTempletId
());
}
Map
<
Long
,
String
>
longAssistTempletDTOMap
=
assistTempletConsr
.
mapNameByIds
(
idList
);
if
(
adviserDto
.
getTempletId
()!=
null
)
{
//书刊分类对应的小睿分类
String
first
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getTempletId
());
CompletableFuture
<
Void
>
TempletFuture
=
CompletableFuture
.
runAsync
(()
->
{
if
(
first
!=
null
){
BookAdviserDto
adviserDto
=
bookAdviserDao
.
getBase
(
bookId
,
channelId
,
adviserId
);
map
.
put
(
"templetId"
,
adviserDto
.
getTempletId
());
map
.
put
(
"isK12"
,
Boolean
.
FALSE
);
map
.
put
(
"templateName"
,
first
);
if
(
null
!=
adviserDto
)
{
}
// 新增判断是否K12分类
}
if
(
Objects
.
nonNull
(
adviserDto
.
getTempletId
()))
{
if
(
adviserDto
.
getSecondTempletId
()!=
null
)
{
if
(
CollUtil
.
toList
(
RightsSettingConstant
.
K12_TEMPLET_ID_NEW
).
contains
(
adviserDto
.
getTempletId
()))
{
String
second
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getSecondTempletId
());
map
.
put
(
"isK12"
,
Boolean
.
TRUE
);
if
(
second
!=
null
){
map
.
put
(
"secondTempletId"
,
adviserDto
.
getSecondTempletId
());
map
.
put
(
"secondTempletName"
,
second
);
}
}
// 设置模板名称
setTempletName
(
map
,
adviserDto
);
}
}
if
(
adviserDto
.
getThirdTempletId
()!=
null
)
{
Long
raysClassifyId
=
bookRaysClassifyDao
.
getClassifyIdByBookTemplateId
(
adviserDto
.
getTempletId
());
String
third
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getThirdTempletId
());
if
(
null
!=
raysClassifyId
)
{
if
(
third
!=
null
){
map
.
put
(
"raysClassifyId"
,
raysClassifyId
);
map
.
put
(
"thirdTempletId"
,
adviserDto
.
getThirdTempletId
());
map
.
put
(
"thirdTempletName"
,
third
);
}
}
}
}
},
ThreadPoolUtils
.
BOOK_BASE_INFO_POOL
);
//获取书名
CompletableFuture
<
Void
>
bookNameFuture
=
CompletableFuture
.
runAsync
(()
->
{
BookDto
bookDto
=
bookBiz
.
getBaseById
(
bookId
);
if
(
null
!=
bookDto
)
{
map
.
put
(
"bookName"
,
bookDto
.
getBookName
());
map
.
put
(
"coverImg"
,
bookDto
.
getCoverImg
());
map
.
put
(
"publish"
,
bookDto
.
getPublish
());
}
}
Long
raysClassifyId
=
bookRaysClassifyDao
.
getClassifyIdByBookTemplateId
(
adviserDto
.
getTempletId
());
},
ThreadPoolUtils
.
BOOK_BASE_INFO_POOL
);
if
(
null
!=
raysClassifyId
)
{
map
.
put
(
"raysClassifyId"
,
raysClassifyId
);
//获取是否馆配书、阅读人数、是否斗罗书
CompletableFuture
<
Void
>
douluoFuture
=
CompletableFuture
.
runAsync
(()
->
{
map
.
put
(
"isLibraryBook"
,
bookBiz
.
checkIsLibraryBook
(
adviserId
,
bookId
)
?
1
:
0
);
//获取本书阅读人数
setReaderCount
(
adviserId
,
channelId
,
bookId
,
map
);
//设置斗罗书
setDouLuoBOOK
(
map
,
bookId
);
},
ThreadPoolUtils
.
BOOK_BASE_INFO_POOL
);
try
{
CompletableFuture
.
allOf
(
openRaysFuture
,
TempletFuture
,
bookNameFuture
,
douluoFuture
).
get
();
}
catch
(
InterruptedException
|
ExecutionException
e
)
{
LOGGER
.
warn
(
"获取书刊信息失败 [BookGroupBizImpl.getBookBaseInfo4Applet] ERR:{}"
,
e
.
getMessage
(),
e
);
}
return
map
;
}
private
void
setDouLuoBOOK
(
Map
<
String
,
Object
>
map
,
Long
bookId
)
{
Boolean
isDlBook
=
functionConsr
.
checkIsDlBook
(
bookId
);
map
.
put
(
"isDouluo"
,
null
==
isDlBook
?
false
:
isDlBook
);
}
private
void
setTempletName
(
Map
<
String
,
Object
>
map
,
BookAdviserDto
adviserDto
)
{
List
<
Long
>
idList
=
new
ArrayList
<>();
if
(
adviserDto
.
getTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getTempletId
());
}
if
(
adviserDto
.
getSecondTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getSecondTempletId
());
}
if
(
adviserDto
.
getThirdTempletId
()!=
null
)
{
idList
.
add
(
adviserDto
.
getThirdTempletId
());
}
Map
<
Long
,
String
>
longAssistTempletDTOMap
=
assistTempletConsr
.
mapNameByIds
(
idList
);
if
(
adviserDto
.
getTempletId
()!=
null
)
{
String
first
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getTempletId
());
if
(
first
!=
null
){
map
.
put
(
"templetId"
,
adviserDto
.
getTempletId
());
map
.
put
(
"templateName"
,
first
);
}
}
}
}
//获取书名
if
(
adviserDto
.
getSecondTempletId
()!=
null
)
{
BookDto
bookDto
=
bookBiz
.
getBaseById
(
bookId
);
String
second
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getSecondTempletId
()
);
if
(
null
!=
bookDto
)
{
if
(
second
!=
null
)
{
map
.
put
(
"bookName"
,
bookDto
.
getBookName
());
map
.
put
(
"secondTempletId"
,
adviserDto
.
getSecondTempletId
());
map
.
put
(
"coverImg"
,
bookDto
.
getCoverImg
()
);
map
.
put
(
"secondTempletName"
,
second
);
map
.
put
(
"publish"
,
bookDto
.
getPublish
());
}
}
}
map
.
put
(
"isLibraryBook"
,
bookBiz
.
checkIsLibraryBook
(
adviserId
,
bookId
)
?
1
:
0
);
if
(
adviserDto
.
getThirdTempletId
()!=
null
)
{
//资源数量
String
third
=
longAssistTempletDTOMap
.
get
(
adviserDto
.
getThirdTempletId
());
/* List<BookServeDTO> serveDTOList = this.getBookAndBookGroupServeIds(adviserId, bookId, channelId);
if
(
third
!=
null
){
this.removeCanNotBuy(serveDTOList);
map
.
put
(
"thirdTempletId"
,
adviserDto
.
getThirdTempletId
());
map.put("resourceCount", ListUtils.isEmpty(serveDTOList) ? 0 : serveDTOList.size());*/
map
.
put
(
"thirdTempletName"
,
third
);
//获取本书阅读人数
}
}
}
private
void
setReaderCount
(
Long
adviserId
,
Long
channelId
,
Long
bookId
,
Map
<
String
,
Object
>
map
)
{
String
redisKey4Random
=
"BOOK:READER_COUNT:"
+
bookId
+
":"
+
channelId
+
":"
+
adviserId
;
String
redisKey4Random
=
"BOOK:READER_COUNT:"
+
bookId
+
":"
+
channelId
+
":"
+
adviserId
;
String
redisKey4Set
=
"BOOK:READER_SET:"
+
bookId
+
":"
+
channelId
+
":"
+
adviserId
;
String
redisKey4Set
=
"BOOK:READER_SET:"
+
bookId
+
":"
+
channelId
+
":"
+
adviserId
;
String
readerCountStr
=
JedisClusterUtils
.
get
(
redisKey4Random
);
String
readerCountStr
=
JedisClusterUtils
.
get
(
redisKey4Random
);
...
@@ -5717,7 +5750,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
...
@@ -5717,7 +5750,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
readerCount4Set
=
0
;
readerCount4Set
=
0
;
}
}
map
.
put
(
"readerCount"
,
readerCount4Random
+
readerCount4Set
);
map
.
put
(
"readerCount"
,
readerCount4Random
+
readerCount4Set
);
return
map
;
}
}
@Override
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/ResourcePageBizImpl.java
View file @
b9dbcd89
...
@@ -34,6 +34,7 @@ import com.pcloud.book.consumer.app.AppConsr;
...
@@ -34,6 +34,7 @@ import com.pcloud.book.consumer.app.AppConsr;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.combinedmarketing.MemberActivityConsr
;
import
com.pcloud.book.consumer.combinedmarketing.MemberActivityConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.erp.ErpConsr
;
import
com.pcloud.book.consumer.function.FunctionConsr
;
import
com.pcloud.book.consumer.raystask.AdviserTaskConsr
;
import
com.pcloud.book.consumer.raystask.AdviserTaskConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.consumer.reader.ReaderConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
...
@@ -144,6 +145,7 @@ import com.pcloud.common.utils.json.JSONUtils;
...
@@ -144,6 +145,7 @@ import com.pcloud.common.utils.json.JSONUtils;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.facade.shareimage.dto.HtmlDto
;
import
com.pcloud.facade.shareimage.dto.HtmlDto
;
import
com.pcloud.facade.wxwork.contact.vo.WxContactWayVO
;
import
com.pcloud.facade.wxwork.contact.vo.WxContactWayVO
;
import
com.pcloud.function.douluo.dto.AppTaskDTO
;
import
com.pcloud.message.common.enums.YesNoEnums
;
import
com.pcloud.message.common.enums.YesNoEnums
;
import
com.pcloud.readercenter.common.enums.YesOrNoNumEnum
;
import
com.pcloud.readercenter.common.enums.YesOrNoNumEnum
;
import
com.pcloud.readercenter.userlabel.dto.UserGradeLabelIdDTO
;
import
com.pcloud.readercenter.userlabel.dto.UserGradeLabelIdDTO
;
...
@@ -182,6 +184,7 @@ import java.util.concurrent.TimeUnit;
...
@@ -182,6 +184,7 @@ import java.util.concurrent.TimeUnit;
import
java.util.concurrent.TimeoutException
;
import
java.util.concurrent.TimeoutException
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.FileUtil
;
...
@@ -288,6 +291,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -288,6 +291,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private
ErpConsr
erpConsr
;
private
ErpConsr
erpConsr
;
@Autowired
@Autowired
private
ResourcePageShareMapper
shareMapper
;
private
ResourcePageShareMapper
shareMapper
;
@Autowired
private
FunctionConsr
functionConsr
;
@Value
(
"${book.share.defaultTitle}"
)
@Value
(
"${book.share.defaultTitle}"
)
...
@@ -1887,6 +1892,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -1887,6 +1892,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
}
}
}
}
});
});
//删除缓存
JedisClusterUtils
.
del
(
"FUNCTION:DOULUO_APP"
);
return
resourcePageId
;
return
resourcePageId
;
}
}
...
@@ -3933,4 +3940,59 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
...
@@ -3933,4 +3940,59 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
List
<
BookGroupServe
>
resourcePageList4Erp
=
resourcePageItemDao
.
getResourcePageList4Erp
(
sceneIds
);
List
<
BookGroupServe
>
resourcePageList4Erp
=
resourcePageItemDao
.
getResourcePageList4Erp
(
sceneIds
);
return
CollUtil
.
defaultIfEmpty
(
resourcePageList4Erp
,
CollUtil
.
toList
());
return
CollUtil
.
defaultIfEmpty
(
resourcePageList4Erp
,
CollUtil
.
toList
());
}
}
@Override
public
List
<
ResourcePageItemVO
>
getServerList4Wechat
(
Long
wechatUserId
,
Long
sceneId
)
{
ResourcePage
bySceneId
=
resourcePageDao
.
getBySceneId
(
sceneId
);
if
(
null
==
bySceneId
)
{
return
new
ArrayList
<>();
}
List
<
ResourcePageItemVO
>
itemVOList
=
resourcePageItemDao
.
getResourcePageItemByPageId
(
bySceneId
.
getId
(),
true
);
if
(
CollUtil
.
isEmpty
(
itemVOList
))
{
return
new
ArrayList
<>();
}
if
(
CollUtil
.
isNotEmpty
(
itemVOList
))
{
//二维码类型
fillQrcodeType
(
bySceneId
.
getId
(),
itemVOList
);
Map
<
String
,
List
<
ResourcePageItemVO
>>
listMap
=
itemVOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
ResourcePageItemVO:
:
getServeType
));
itemVOList
=
new
ArrayList
<>();
//应用和作品提出来一起查
List
<
ResourcePageItemVO
>
itemAppAndProductVOList
=
new
ArrayList
<>();
//过滤一些资源,重新排序
for
(
Map
.
Entry
<
String
,
List
<
ResourcePageItemVO
>>
entry
:
listMap
.
entrySet
())
{
if
(
ResourcePageConstants
.
ServeTypeEnum
.
APP
.
getValue
().
equals
(
entry
.
getKey
())
||
ServeTypeEnum
.
PRODUCT
.
getValue
().
equals
(
entry
.
getKey
()))
{
itemAppAndProductVOList
.
addAll
(
entry
.
getValue
());
continue
;
}
this
.
fillResourceByType
(
entry
.
getValue
(),
wechatUserId
,
entry
.
getKey
());
itemVOList
.
addAll
(
entry
.
getValue
());
}
if
(
CollUtil
.
isNotEmpty
(
itemAppAndProductVOList
))
{
fillAppProductServe
(
itemAppAndProductVOList
,
wechatUserId
);
//暂不返回 直接根据typecode进行判断
//fillTaskType(itemAppAndProductVOList);
itemVOList
.
addAll
(
itemAppAndProductVOList
);
}
itemVOList
.
sort
(
Comparator
.
comparing
(
ResourcePageItemVO:
:
getId
));
}
return
itemVOList
;
}
private
void
fillTaskType
(
List
<
ResourcePageItemVO
>
itemAppAndProductVOList
)
{
if
(
CollUtil
.
isEmpty
(
itemAppAndProductVOList
))
{
return
;
}
//填充斗罗任务类型
List
<
AppTaskDTO
>
appTaskDTOs
=
functionConsr
.
getAppTaskList
();
if
(
CollUtil
.
isEmpty
(
appTaskDTOs
))
{
return
;
}
Map
<
Long
,
Integer
>
appTaskMap
=
appTaskDTOs
.
stream
().
collect
(
Collectors
.
toMap
(
AppTaskDTO:
:
getAppId
,
AppTaskDTO:
:
getTaskType
,
(
k1
,
k2
)
->
k1
));
itemAppAndProductVOList
.
stream
().
forEach
(
item
->
{
if
(
CollUtil
.
isNotEmpty
(
appTaskMap
)
&&
null
!=
appTaskMap
.
get
(
item
.
getServeId
()))
{
item
.
setTaskType
(
appTaskMap
.
get
(
item
.
getServeId
()));
}
});
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/ResourcePageFacade.java
View file @
b9dbcd89
...
@@ -467,4 +467,14 @@ public class ResourcePageFacade {
...
@@ -467,4 +467,14 @@ public class ResourcePageFacade {
public
ResponseDto
<
List
<
BookGroupServe
>>
getResourcePageList4Erp
(
@RequestBody
List
<
Long
>
sceneIds
)
throws
PermissionException
{
public
ResponseDto
<
List
<
BookGroupServe
>>
getResourcePageList4Erp
(
@RequestBody
List
<
Long
>
sceneIds
)
throws
PermissionException
{
return
new
ResponseDto
<>(
resourcePageBiz
.
getResourcePageList4Erp
(
sceneIds
));
return
new
ResponseDto
<>(
resourcePageBiz
.
getResourcePageList4Erp
(
sceneIds
));
}
}
@ApiOperation
(
"客户端-斗罗大陆获取配置资源"
)
@GetMapping
(
"getServerList4Wechat"
)
public
ResponseDto
<?>
getServerList4Wechat
(
@CookieValue
(
"userInfo"
)
String
userInfo
,
@RequestParam
(
value
=
"sceneId"
)
Long
sceneId
){
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
resourcePageBiz
.
getServerList4Wechat
(
wechatUserId
,
sceneId
));
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ResourcePageItemVO.java
View file @
b9dbcd89
...
@@ -138,4 +138,7 @@ public class ResourcePageItemVO extends BaseDto{
...
@@ -138,4 +138,7 @@ public class ResourcePageItemVO extends BaseDto{
@ApiModelProperty
(
"自定义标题"
)
@ApiModelProperty
(
"自定义标题"
)
private
String
selfServeName
;
private
String
selfServeName
;
@ApiModelProperty
(
"任务类型"
)
private
Integer
taskType
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/util/common/ThreadPoolUtils.java
View file @
b9dbcd89
...
@@ -116,6 +116,12 @@ public class ThreadPoolUtils {
...
@@ -116,6 +116,12 @@ public class ThreadPoolUtils {
public
static
final
ThreadPoolExecutor
BOOK_RECORD_POOL
=
new
ThreadPoolExecutor
(
8
,
8
,
0
,
TimeUnit
.
SECONDS
,
public
static
final
ThreadPoolExecutor
BOOK_RECORD_POOL
=
new
ThreadPoolExecutor
(
8
,
8
,
0
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"book_record-pool-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"book_record-pool-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
/**
* bookBaseInfo线程池
*/
public
static
final
ExecutorService
BOOK_BASE_INFO_POOL
=
new
ThreadPoolExecutor
(
16
,
128
,
0L
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(),
new
ThreadFactoryBuilder
().
setNameFormat
(
"book-base-info-pool-%d"
).
build
(),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
}
}
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