Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
93659227
Commit
93659227
authored
Jul 09, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发送商品订阅消息2
parent
be9d2368
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
82 additions
and
86 deletions
+82
-86
ch-wx-api/src/main/java/com/wwdz/ch/wx/job/SpecialPerformanceNoticeJob.java
.../java/com/wwdz/ch/wx/job/SpecialPerformanceNoticeJob.java
+82
-86
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/job/SpecialPerformanceNoticeJob.java
View file @
93659227
...
...
@@ -148,42 +148,39 @@ public class SpecialPerformanceNoticeJob {
return
;
}
SpecialPerformance
specialPerformance
=
specialPerformanceList
.
get
(
0
);
String
abortStartKey
=
SPECIAL_PERFORMANCE_START_NOTICE_KEY
+
specialPerformance
.
getId
();
if
(!
redisUtils
.
hasKey
(
abortStartKey
))
{
/* if ("dev".equals(env)) {
logger.info(">>>>>>>>>>>>>>>>>>>>>>> dev环境, 不执行专场即将开始通知任务<<<<<<<<<<<<<<<<<<<<<");
return;
}*/
logger
.
info
(
"当前即将开始的专场id:{}, 名称为 {} "
,
specialPerformance
.
getId
(),
specialPerformance
.
getTitle
());
//发送专场开始订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
();
disposableSubscribeRecordRequestDto
.
setTargetId
(
Long
.
valueOf
(
specialPerformance
.
getId
()));
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
PRE_START
.
getType
());
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
SPECIAL_PERFORMANCE_URL
,
"specialId="
+
specialPerformance
.
getId
());
String
msg
=
specialPerformance
.
getTitle
()
+
"将在"
+
DateUtils
.
toString
(
specialPerformance
.
getStartTime
())
+
"开始,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
);
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
);
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
logger
.
info
(
"当前即将开始的专场id:{}, 名称为 {} "
,
specialPerformance
.
getId
(),
specialPerformance
.
getTitle
());
//发送专场开始订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
();
disposableSubscribeRecordRequestDto
.
setTargetId
(
Long
.
valueOf
(
specialPerformance
.
getId
()));
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
PRE_START
.
getType
());
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
SPECIAL_PERFORMANCE_URL
,
"specialId="
+
specialPerformance
.
getId
());
String
msg
=
specialPerformance
.
getTitle
()
+
"将在"
+
DateUtils
.
toString
(
specialPerformance
.
getStartTime
())
+
"开始,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
);
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
);
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
String
abortStartKey
=
SPECIAL_PERFORMANCE_START_NOTICE_KEY
+
disposableSubscribeRecord
.
getUserId
()
+
":"
+
specialPerformance
.
getId
();
if
(!
redisUtils
.
hasKey
(
abortStartKey
))
{
sendStartSubscribeMsg
(
specialPerformance
,
disposableSubscribeRecord
,
msg
);
}
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送专场开始订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
redisUtils
.
set
(
abortStartKey
,
specialPerformance
.
getId
(),
3600
*
24
);
}
else
{
logger
.
info
(
"============= 发送专场开始订阅消息循环结束 ============="
);
break
;
logger
.
info
(
"================专场id: {}, 即将开始通知任务已经完成,无需重复发送 =============="
,
specialPerformance
.
getId
());
}
}
logger
.
info
(
"================专场id: {}, 即将开始通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
redisUtils
.
set
(
abortStartKey
,
specialPerformance
.
getId
(),
3600
*
24
);
}
else
{
logger
.
info
(
"================专场id: {}, 即将开始通知任务已经完成,无需重复发送 =============="
,
specialPerformance
.
getId
());
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送专场开始订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
}
else
{
logger
.
info
(
"============= 发送专场开始订阅消息循环结束 ============="
);
break
;
}
}
logger
.
info
(
"================专场id: {}, 即将开始通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
}
...
...
@@ -220,38 +217,37 @@ public class SpecialPerformanceNoticeJob {
handleItemSubscribeMsg
(
specialPerformance
,
auctionConfigList
);
//如果有即将截拍的商品,就可以发送所属专场即将结束的通知
String
abortEndKey
=
SPECIAL_PERFORMANCE_END_NOTICE_KEY
+
specialPerformance
.
getId
();
if
(!
redisUtils
.
hasKey
(
abortEndKey
))
{
logger
.
info
(
"当前即将结束的专场id:{}, 名称为 {} "
,
specialPerformance
.
getId
(),
specialPerformance
.
getTitle
());
//发送专场即将结束订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
();
disposableSubscribeRecordRequestDto
.
setTargetId
(
Long
.
valueOf
(
specialPerformance
.
getId
()));
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
PRE_END
.
getType
());
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
SPECIAL_PERFORMANCE_URL
,
"specialId="
+
specialPerformance
.
getId
());
String
msg
=
specialPerformance
.
getTitle
()
+
"将在"
+
DateUtils
.
toString
(
specialPerformance
.
getEndTime
())
+
"结束,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
);
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
);
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
logger
.
info
(
"当前即将结束的专场id:{}, 名称为 {} "
,
specialPerformance
.
getId
(),
specialPerformance
.
getTitle
());
//发送专场即将结束订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
();
disposableSubscribeRecordRequestDto
.
setTargetId
(
Long
.
valueOf
(
specialPerformance
.
getId
()));
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
PRE_END
.
getType
());
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
SPECIAL_PERFORMANCE_URL
,
"specialId="
+
specialPerformance
.
getId
());
String
msg
=
specialPerformance
.
getTitle
()
+
"将在"
+
DateUtils
.
toString
(
specialPerformance
.
getEndTime
())
+
"结束,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
);
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
);
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
String
abortEndKey
=
SPECIAL_PERFORMANCE_END_NOTICE_KEY
+
disposableSubscribeRecord
.
getUserId
()
+
":"
+
specialPerformance
.
getId
();
if
(!
redisUtils
.
hasKey
(
abortEndKey
))
{
sendEndSubscribeMsg
(
specialPerformance
,
disposableSubscribeRecord
,
msg
);
}
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送专场结束订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
redisUtils
.
set
(
abortEndKey
,
specialPerformance
.
getId
(),
3600
*
24
);
}
else
{
logger
.
info
(
"============= 发送专场结束订阅消息循环结束 ============="
);
break
;
logger
.
info
(
"================用户id:{}, 专场id: {}, 即将结束通知任务已经完成,无需重复发送 =============="
,
disposableSubscribeRecord
.
getUserId
(),
specialPerformance
.
getId
());
}
}
logger
.
info
(
"================专场id: {}, 即将结束通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
redisUtils
.
set
(
abortEndKey
,
specialPerformance
.
getId
(),
3600
*
24
);
}
else
{
logger
.
info
(
"================专场id: {}, 即将结束通知任务已经完成,无需重复发送 =============="
,
specialPerformance
.
getId
());
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送专场结束订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
}
else
{
logger
.
info
(
"============= 发送专场结束订阅消息循环结束 ============="
);
break
;
}
}
logger
.
info
(
"================专场id: {}, 即将结束通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
}
}
...
...
@@ -264,40 +260,40 @@ public class SpecialPerformanceNoticeJob {
private
void
handleItemSubscribeMsg
(
SpecialPerformance
specialPerformance
,
List
<
AuctionConfig
>
auctionConfigList
)
{
for
(
AuctionConfig
auctionConfig
:
auctionConfigList
)
{
long
itemId
=
auctionConfig
.
getItemId
();
S
tring
abortEndKey
=
ITEM_OF_SPECIAL_PERFORMANCE_END_NOTICE_KEY
+
itemId
;
if
(!
redisUtils
.
hasKey
(
abortEndKey
))
{
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
itemId
);
logger
.
info
(
"当前即将截拍的商品id:{}, 商品名称:{}, 专场名称为 {} "
,
itemId
,
supplierItem
.
getName
(),
specialPerformance
.
getTitle
());
//发送专场即将结束订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
(
);
disposableSubscribeRecordRequestDto
.
setTargetId
(
itemId
)
;
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
ITEM_PRE_END
.
getType
())
;
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
ITEM_OF_SPECIAL_PERFORMANCE_URL
,
"itemId="
+
itemId
);
String
msg
=
"商品'"
+
supplierItem
.
getName
()
+
"'将在"
+
DateUtils
.
toString
(
auctionConfig
.
getRealEndTime
())
+
"结束,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
);
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
)
;
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
S
upplierItem
supplierItem
=
supplierItemDao
.
findById
(
itemId
)
;
logger
.
info
(
"当前即将截拍的商品id:{}, 商品名称:{}, 专场名称为 {} "
,
itemId
,
supplierItem
.
getName
(),
specialPerformance
.
getTitle
());
//发送专场即将结束订阅通知
DisposableSubscribeRecordRequestDto
disposableSubscribeRecordRequestDto
=
new
DisposableSubscribeRecordRequestDto
();
disposableSubscribeRecordRequestDto
.
setTargetId
(
itemId
);
disposableSubscribeRecordRequestDto
.
setType
(
DisposableSubscribeRecordEnum
.
TypeEnum
.
ITEM_PRE_END
.
getType
()
);
boolean
hasNextPage
=
true
;
int
page
=
1
;
String
url
=
wxAppletApi
.
getUrlLink
(
CommConsts
.
ITEM_OF_SPECIAL_PERFORMANCE_URL
,
"itemId="
+
itemId
)
;
String
msg
=
"商品'"
+
supplierItem
.
getName
()
+
"'将在"
+
DateUtils
.
toString
(
auctionConfig
.
getRealEndTime
())
+
"结束,请前往"
+
url
+
"查看"
;
while
(
hasNextPage
)
{
List
<
DisposableSubscribeRecord
>
disposableSubscribeRecordList
=
disposableSubscribeRecordDao
.
findList
(
disposableSubscribeRecordRequestDto
)
;
PageInfo
pageInfo
=
new
PageInfo
(
disposableSubscribeRecordList
);
for
(
DisposableSubscribeRecord
disposableSubscribeRecord
:
disposableSubscribeRecordList
)
{
String
abortEndKey
=
ITEM_OF_SPECIAL_PERFORMANCE_END_NOTICE_KEY
+
disposableSubscribeRecord
.
getUserId
()
+
":"
+
itemId
;
if
(!
redisUtils
.
hasKey
(
abortEndKey
)
)
{
sendItemEndSubscribeMsg
(
supplierItem
,
specialPerformance
,
disposableSubscribeRecord
,
msg
);
}
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送商品截拍订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
redisUtils
.
set
(
abortEndKey
,
itemId
,
3600
*
24
);
}
else
{
logger
.
info
(
"============= 发送商品截拍订阅消息循环结束 ============="
);
break
;
logger
.
info
(
"================ 用户ID:{}, 商品id: {}, 商品截拍任务已经完成,无需重复发送 =============="
,
disposableSubscribeRecord
.
getUserId
(),
disposableSubscribeRecord
.
getTargetId
());
}
}
logger
.
info
(
"================专场id: {}, 商品截拍通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
redisUtils
.
set
(
abortEndKey
,
itemId
,
3600
*
24
);
}
else
{
logger
.
info
(
"================专场id: {}, 商品截拍任务已经完成,无需重复发送 =============="
,
specialPerformance
.
getId
());
if
(
pageInfo
.
isHasNextPage
())
{
page
=
page
+
1
;
disposableSubscribeRecordRequestDto
.
setPage
(
page
);
logger
.
info
(
"要发送商品截拍订阅消息的用户数据总页数为 : {}, 当前为 : {}"
,
pageInfo
.
getPages
(),
page
);
}
else
{
logger
.
info
(
"============= 发送商品截拍订阅消息循环结束 ============="
);
break
;
}
}
}
logger
.
info
(
"================专场id: {}, 商品截拍通知消息全部发送成功 =============="
,
specialPerformance
.
getId
());
}
...
...
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