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
c655b088
Commit
c655b088
authored
Oct 14, 2019
by
郑永强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加入判断规则
parent
a1995685
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
22 deletions
+35
-22
AdNewsBizImpl.java
...n/java/com/pcloud/book/adnews/biz/impl/AdNewsBizImpl.java
+35
-22
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/adnews/biz/impl/AdNewsBizImpl.java
View file @
c655b088
...
@@ -26,6 +26,7 @@ import com.pcloud.book.adnews.enums.AdContentFromEnum;
...
@@ -26,6 +26,7 @@ import com.pcloud.book.adnews.enums.AdContentFromEnum;
import
com.pcloud.book.adnews.enums.AdNewsBanEnum
;
import
com.pcloud.book.adnews.enums.AdNewsBanEnum
;
import
com.pcloud.book.adnews.dto.AdNewsListParam
;
import
com.pcloud.book.adnews.dto.AdNewsListParam
;
import
com.pcloud.book.adnews.enums.AdNewsContentTypeEnum
;
import
com.pcloud.book.adnews.enums.AdNewsContentTypeEnum
;
import
com.pcloud.book.adnews.enums.AdNewsSendRuleEnum
;
import
com.pcloud.book.adnews.vo.AdNewsGroupRecordVO
;
import
com.pcloud.book.adnews.vo.AdNewsGroupRecordVO
;
import
com.pcloud.book.adnews.vo.AdNewsMessageStatisticVO
;
import
com.pcloud.book.adnews.vo.AdNewsMessageStatisticVO
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
...
@@ -427,35 +428,47 @@ public class AdNewsBizImpl implements AdNewsBiz {
...
@@ -427,35 +428,47 @@ public class AdNewsBizImpl implements AdNewsBiz {
groupQrcodeFoAdDTO
.
setAdNewsList
(
adNewsList
.
stream
().
collect
(
Collectors
.
toList
()));
groupQrcodeFoAdDTO
.
setAdNewsList
(
adNewsList
.
stream
().
collect
(
Collectors
.
toList
()));
}
}
List
<
AdNews
>
_adNewsList
=
new
ArrayList
<>();
// 如果自有公众号的数据条数少于要发送的条数,则用系统推荐公众号的补齐剩余的条数
// 如果自有公众号的数据条数少于要发送的条数,则用系统推荐公众号的补齐剩余的条数
if
(
adNewsList
.
size
()
<
adNewsSet
.
getSendCount
()){
if
(
adNewsList
.
size
()
<
adNewsSet
.
getSendCount
()){
// 根据群批量查找社群码的标签
List
<
AdNews
>
_adNewsList
=
new
ArrayList
<>();
setGroupLabelName
(
groupQrcodeFoAdDTOS
);
// 标签去重进行匹配新闻
if
(
AdNewsSendRuleEnum
.
MATCH_LABEL
.
key
==
adNewsSet
.
getSendRule
()){
List
<
Long
>
bookGroupIds
=
groupQrcodeFoAdDTOS
.
stream
().
map
(
x
->
x
.
getBookGroupId
()).
distinct
().
collect
(
Collectors
.
toList
());
// 根据群批量查找社群码的标签
setGroupLabelName
(
groupQrcodeFoAdDTOS
);
// 三天前
// 标签去重进行匹配新闻
String
beginTime
=
DateUtils
.
formatDate
(
DateUtils
.
subDays
(
3
),
DateUtils
.
DATE_FORMAT_DATEONLY
);
List
<
Long
>
bookGroupIds
=
groupQrcodeFoAdDTOS
.
stream
().
map
(
x
->
x
.
getBookGroupId
()).
distinct
().
collect
(
Collectors
.
toList
());
for
(
GroupQrcodeFoAdDTO
groupQrcodeFoAdDTO
:
groupQrcodeFoAdDTOS
){
_adNewsList
=
adNewsDao
.
getNewsByLabelName
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
beginTime
,
groupQrcodeFoAdDTO
.
getProLabelName
(),
groupQrcodeFoAdDTO
.
getDepLabelName
(),
groupQrcodeFoAdDTO
.
getPurLabelName
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
if
(!
ListUtils
.
isEmpty
(
_adNewsList
)){
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
}
// 如果筛选新闻条数还不够,继续再公众号匹配
// 三天前
if
(
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
()
<
adNewsSet
.
getSendCount
())
{
String
beginTime
=
DateUtils
.
formatDate
(
DateUtils
.
subDays
(
3
),
DateUtils
.
DATE_FORMAT_DATEONLY
);
_adNewsList
=
adNewsDao
.
getNews4WechatByLabelName
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
beginTime
,
groupQrcodeFoAdDTO
.
getProLabelName
(),
groupQrcodeFoAdDTO
.
getDepLabelName
(),
groupQrcodeFoAdDTO
.
getPurLabelName
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
for
(
GroupQrcodeFoAdDTO
groupQrcodeFoAdDTO
:
groupQrcodeFoAdDTOS
){
_adNewsList
=
adNewsDao
.
getNewsByLabelName
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
beginTime
,
groupQrcodeFoAdDTO
.
getProLabelName
(),
groupQrcodeFoAdDTO
.
getDepLabelName
(),
groupQrcodeFoAdDTO
.
getPurLabelName
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
if
(!
ListUtils
.
isEmpty
(
_adNewsList
)){
if
(!
ListUtils
.
isEmpty
(
_adNewsList
)){
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
}
}
}
// 继续筛选新闻条数不够的群,根据时间排序补齐剩余
// 如果筛选新闻条数还不够,继续再公众号匹配
if
(
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
()
<
adNewsSet
.
getSendCount
())
{
if
(
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
()
<
adNewsSet
.
getSendCount
())
{
_adNewsList
=
adNewsDao
.
getNewsToSendBySetIdAndAdviser
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
_adNewsList
=
adNewsDao
.
getNews4WechatByLabelName
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
beginTime
,
groupQrcodeFoAdDTO
.
getProLabelName
(),
groupQrcodeFoAdDTO
.
getDepLabelName
(),
groupQrcodeFoAdDTO
.
getPurLabelName
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
if
(!
ListUtils
.
isEmpty
(
_adNewsList
))
{
if
(!
ListUtils
.
isEmpty
(
_adNewsList
)){
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
}
}
// 继续筛选新闻条数不够的群,根据时间排序补齐剩余
if
(
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
()
<
adNewsSet
.
getSendCount
())
{
_adNewsList
=
adNewsDao
.
getNewsToSendBySetIdAndAdviser
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
adNewsSet
.
getSendCount
()
-
groupQrcodeFoAdDTO
.
getAdNewsList
().
size
());
if
(!
ListUtils
.
isEmpty
(
_adNewsList
))
{
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
}
}
}
}
else
{
// 直接用最新数据补齐剩余条数
_adNewsList
=
adNewsDao
.
getNewsToSendBySetIdAndAdviser
(
adNewsSet
.
getId
(),
adNewsSet
.
getCreateUser
(),
adNewsSet
.
getSendCount
()
-
adNewsList
.
size
());
if
(!
ListUtils
.
isEmpty
(
_adNewsList
))
{
for
(
GroupQrcodeFoAdDTO
groupQrcodeFoAdDTO
:
groupQrcodeFoAdDTOS
)
{
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
groupQrcodeFoAdDTO
.
getAdNewsList
().
addAll
(
_adNewsList
);
}
}
}
}
...
...
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