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
2393a8cd
Commit
2393a8cd
authored
Jan 27, 2021
by
桂前礼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug: [none] 补充立享权益数量,过滤不适合在小程序展示的资源数量
parent
c8752044
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
6 deletions
+58
-6
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+20
-6
RightsNowItemDao.java
...a/com/pcloud/book/rightsSetting/dao/RightsNowItemDao.java
+3
-0
RightsNowItemDaoImpl.java
...oud/book/rightsSetting/dao/impl/RightsNowItemDaoImpl.java
+12
-0
RightNowItem.xml
.../src/main/resources/mapper/rightssetting/RightNowItem.xml
+23
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
2393a8cd
...
...
@@ -127,6 +127,8 @@ import com.pcloud.book.group.entity.BookGroupServe;
import
com.pcloud.book.group.enums.JoinGroupTypeEnum
;
import
com.pcloud.book.mq.producer.BookMQProducer
;
import
com.pcloud.book.rightsSetting.constants.RightsSettingConstant
;
import
com.pcloud.book.rightsSetting.dao.RightsNowItemDao
;
import
com.pcloud.book.rightsSetting.dao.RightsSettingItemDao
;
import
com.pcloud.book.rightsSetting.mapper.RightsSettingBookRelationMapper
;
import
com.pcloud.book.util.common.ThreadPoolUtils
;
import
com.pcloud.book.util.common.YesOrNoEnums
;
...
...
@@ -325,6 +327,8 @@ public class BookBizImpl implements BookBiz {
private
EdtionRecordDao
edtionRecordDao
;
@Autowired
private
BookTypeDao
bookTypeDao
;
@Autowired
private
RightsNowItemDao
rightsNowItemDao
;
/**
* 创建书籍,同时建立与编辑的推广关系
...
...
@@ -3981,7 +3985,7 @@ public class BookBizImpl implements BookBiz {
// 查询图书信息
CompletableFuture
<
List
<
BookInfo4ScanCount
>>
bookInfoFuture
=
CompletableFuture
.
supplyAsync
(()
->
Optional
.
ofNullable
(
bookAdviserDao
.
listBookInfo4ScanCount
(
adviserIds
,
channelIds
,
bookIds
)).
orElse
(
new
ArrayList
<>()));
// 补充资源数量 - 平台端相关配置
// 补充资源数量 - 平台端相关配置
part1. 非立享权益
Map
<
String
,
BookResourceNumDTO
>
pcloudResourceNumMap
=
new
HashMap
<>();
CompletableFuture
<
Void
>
pcloudResourceNumFuture
=
CompletableFuture
.
runAsync
(()
->
{
List
<
BookResourceNumDTO
>
list
=
rightsSettingBookRelationMapper
.
listReousrceNum4Book
(
adviserIds
,
channelIds
,
bookIds
);
...
...
@@ -3991,6 +3995,15 @@ public class BookBizImpl implements BookBiz {
pcloudResourceNumMap
.
putAll
(
map
);
});
// 补充资源数量 - 平台端相关配置 part2. 立享权益
Map
<
String
,
BookResourceNumDTO
>
pcloudResource4NowNumMap
=
new
HashMap
<>();
CompletableFuture
<
Void
>
pcloudResource4NowNumFuture
=
CompletableFuture
.
runAsync
(()
->
{
List
<
BookResourceNumDTO
>
list
=
rightsNowItemDao
.
listResourceNum4AdviserBook
(
adviserIds
,
channelIds
,
bookIds
);
Map
<
String
,
BookResourceNumDTO
>
map
=
Optional
.
ofNullable
(
list
).
map
(
x
->
x
.
stream
().
collect
(
Collectors
.
toMap
(
book
->
book
.
getBookId
()
+
"-"
+
book
.
getAdviserId
()
+
"-"
+
book
.
getChannelId
(),
Function
.
identity
())))
.
orElse
(
new
HashMap
<>());
pcloudResource4NowNumMap
.
putAll
(
map
);
});
// 补充资源数量 - 编辑端相关配置 part1. 渠道获取数据
Map
<
String
,
AdviserBookResourceNumRespDTO
>
adviserResourceNum4ChannelMap
=
new
HashMap
<>();
...
...
@@ -4013,7 +4026,7 @@ public class BookBizImpl implements BookBiz {
});
// 资源数量任务组
CompletableFuture
<
Void
>
resourceNumGroupFuture
=
CompletableFuture
.
allOf
(
pcloudResourceNumFuture
,
adviserResourceNum4ChannelFuture
,
adviserResourceNum4BookFuture
);
CompletableFuture
<
Void
>
resourceNumGroupFuture
=
CompletableFuture
.
allOf
(
pcloudResourceNumFuture
,
adviserResourceNum4ChannelFuture
,
adviserResourceNum4BookFuture
,
pcloudResource4NowNumFuture
);
// 等待结果返回
try
{
...
...
@@ -4086,11 +4099,12 @@ public class BookBizImpl implements BookBiz {
if
(
Objects
.
isNull
(
erpBookApprovalDTO
)
||
Objects
.
isNull
(
erpBookApprovalDTO
.
getIsApproval
()))
{
book
.
setIsApproval
(
1
);
}
// 配置资源数 = 平台端配置资源数 + 渠道来源的编辑端配置资源数 + 图书来源的编辑端配置资源数
// 配置资源数 = 平台端配置
非立享权益资源数 + 平台端配置立享权益
资源数 + 渠道来源的编辑端配置资源数 + 图书来源的编辑端配置资源数
book
.
setResourceNum
(
Optional
.
ofNullable
(
pcloudResourceNumMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
BookResourceNumDTO:
:
getResourceNum
).
orElse
(
0
)
+
Optional
.
ofNullable
(
adviserResourceNum4ChannelMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
AdviserBookResourceNumRespDTO:
:
getResourceNum
).
orElse
(
0
)
+
Optional
.
ofNullable
(
adviserResourceNum4BookMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
BookResourceNumDTO:
:
getResourceNum
).
orElse
(
0
)
Optional
.
of
(
pcloudResourceNumMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
BookResourceNumDTO:
:
getResourceNum
).
orElse
(
0
)
+
Optional
.
of
(
pcloudResource4NowNumMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
BookResourceNumDTO:
:
getResourceNum
).
orElse
(
0
)
+
Optional
.
of
(
adviserResourceNum4ChannelMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
AdviserBookResourceNumRespDTO:
:
getResourceNum
).
orElse
(
0
)
+
Optional
.
of
(
adviserResourceNum4BookMap
).
map
(
x
->
x
.
get
(
key
)).
map
(
BookResourceNumDTO:
:
getResourceNum
).
orElse
(
0
)
);
}
return
bookInfo4ScanCounts
;
...
...
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/dao/RightsNowItemDao.java
View file @
2393a8cd
package
com
.
pcloud
.
book
.
rightsSetting
.
dao
;
import
com.pcloud.book.book.vo.BookResourceNumDTO
;
import
com.pcloud.book.rightsSetting.entity.RightsNowItem
;
import
com.pcloud.common.core.dao.BaseDao
;
...
...
@@ -72,4 +73,6 @@ public interface RightsNowItemDao extends BaseDao<RightsNowItem> {
* @param packageIds
*/
void
deletePackageIds
(
List
<
Long
>
packageIds
);
List
<
BookResourceNumDTO
>
listResourceNum4AdviserBook
(
List
<
Long
>
adviserIds
,
List
<
Long
>
channelIds
,
List
<
Long
>
bookIds
);
}
pcloud-service-book/src/main/java/com/pcloud/book/rightsSetting/dao/impl/RightsNowItemDaoImpl.java
View file @
2393a8cd
package
com
.
pcloud
.
book
.
rightsSetting
.
dao
.
impl
;
import
cn.hutool.core.map.MapUtil
;
import
com.pcloud.book.book.vo.BookResourceNumDTO
;
import
com.pcloud.book.rightsSetting.dao.RightsNowItemDao
;
import
com.pcloud.book.rightsSetting.entity.RightsNowItem
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
...
...
@@ -110,4 +112,14 @@ public class RightsNowItemDaoImpl extends BaseDaoImpl<RightsNowItem> implements
public
void
deletePackageIds
(
List
<
Long
>
packageIds
)
{
getSessionTemplate
().
delete
(
getStatement
(
"deletePackageIds"
),
packageIds
);
}
@Override
public
List
<
BookResourceNumDTO
>
listResourceNum4AdviserBook
(
List
<
Long
>
adviserIds
,
List
<
Long
>
channelIds
,
List
<
Long
>
bookIds
)
{
HashMap
<
String
,
List
<
Long
>>
param
=
MapUtil
.
of
(
"adviserIds"
,
adviserIds
);
param
.
put
(
"channelIds"
,
channelIds
);
param
.
put
(
"bookIds"
,
bookIds
);
return
getSessionTemplate
().
selectList
(
getStatement
(
"listResourceNum4AdviserBook"
),
param
);
}
}
pcloud-service-book/src/main/resources/mapper/rightssetting/RightNowItem.xml
View file @
2393a8cd
...
...
@@ -317,4 +317,26 @@
#{item}
</foreach>
</delete>
<select
id=
"listResourceNum4AdviserBook"
parameterType=
"map"
resultType=
"com.pcloud.book.book.vo.BookResourceNumDTO"
>
select count(concat(serve_type, serve_id)) resourceNum,
b.adviser_id adviserId,
b.book_id bookId,
b.channel_id channelId
from rights_now_item a
left join rights_setting_book_relation b on a.rights_setting_id = b.rights_setting_id
where book_id in
<foreach
collection=
"bookIds"
separator=
","
item=
"item"
close=
")"
open=
"("
>
${item}
</foreach>
and adviser_id in
<foreach
collection=
"adviserIds"
separator=
","
item=
"item"
close=
")"
open=
"("
>
${item}
</foreach>
and channel_id in
<foreach
collection=
"channelIds"
separator=
","
item=
"item"
close=
")"
open=
"("
>
${item}
</foreach>
group by adviserId, bookId, channelId
</select>
</mapper>
\ No newline at end of file
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