记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
董敬伟
liquidnet-bus-v1
Commits
aaa7a693
Commit
aaa7a693
authored
Nov 25, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
海报活动微信公众号事件处理
parent
a1ce192d
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
119 additions
and
0 deletions
+119
-0
SweetConstant.java
...a/com/liquidnet/service/sweet/constant/SweetConstant.java
+2
-0
WechatMpConfigure.java
...com/liquidnet/service/sweet/config/WechatMpConfigure.java
+18
-0
StrawberryPosterHandler.java
...uidnet/service/sweet/handler/StrawberryPosterHandler.java
+40
-0
TextMsgHandler.java
...a/com/liquidnet/service/sweet/handler/TextMsgHandler.java
+46
-0
WechatUsersRedisUtils.java
.../liquidnet/service/sweet/utils/WechatUsersRedisUtils.java
+13
-0
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/constant/SweetConstant.java
View file @
aaa7a693
...
...
@@ -46,6 +46,8 @@ public class SweetConstant {
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE
=
"sweet:cityVote"
;
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_USER
=
":user:"
;
public
final
static
String
REDIS_KEY_SWEET_CITY_VOTE_STAT_UPDATE_TIME
=
":updateTime"
;
// 2021草莓音乐节海报活动活动
public
static
final
String
REDIS_KEY_SWEET_STRAWBERRY_POSTER_CLICK
=
"sweet:strawberryPoster:click:openId:"
;
// 微信用户相关
public
final
static
String
REDIS_KEY_SWEET_WECHAT_USER_INFO
=
"sweet:wechatUser:zhengzai:unionId:"
;
public
final
static
String
REDIS_KEY_SWEET_WECHAT_USER_INFO_MODERNSKY
=
"sweet:wechatUser:modernsky:unionId:"
;
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/config/WechatMpConfigure.java
View file @
aaa7a693
package
com
.
liquidnet
.
service
.
sweet
.
config
;
import
com.liquidnet.service.sweet.handler.StrawberryPosterHandler
;
import
com.liquidnet.service.sweet.handler.SubscribeHandler
;
import
com.liquidnet.service.sweet.handler.TextMsgHandler
;
import
com.liquidnet.service.sweet.handler.UnsubscribeHandler
;
import
me.chanjar.weixin.common.api.WxConsts
;
import
me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker
;
...
...
@@ -64,6 +66,10 @@ public class WechatMpConfigure {
private
SubscribeHandler
subscribeHandler
;
@Autowired
private
UnsubscribeHandler
unsubscribeHandler
;
@Autowired
private
StrawberryPosterHandler
posterHandler
;
@Autowired
private
TextMsgHandler
textMsgHandler
;
@PostConstruct
public
void
init
()
{
...
...
@@ -135,6 +141,18 @@ public class WechatMpConfigure {
.
handler
(
unsubscribeHandler
)
.
end
();
// 2021草莓音乐节海报活动菜单点击事件
router
.
rule
().
async
(
false
).
msgType
(
WxConsts
.
XmlMsgType
.
EVENT
)
.
event
(
WxConsts
.
EventType
.
CLICK
)
.
eventKey
(
"V1001_GOOD"
)
.
handler
(
posterHandler
)
.
end
();
// 文本消息
router
.
rule
().
async
(
false
).
msgType
(
WxConsts
.
XmlMsgType
.
TEXT
)
.
handler
(
textMsgHandler
)
.
end
();
return
router
;
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/StrawberryPosterHandler.java
0 → 100644
View file @
aaa7a693
package
com
.
liquidnet
.
service
.
sweet
.
handler
;
import
com.liquidnet.service.sweet.utils.WechatUsersRedisUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.common.session.WxSessionManager
;
import
me.chanjar.weixin.mp.api.WxMpMessageHandler
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlMessage
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
/**
* <p>
* 2021草莓音乐节海报活动菜单点击
* </p>
*
* @author jiangxiulong
* @since 2021-11-25
*/
@Component
@Slf4j
public
class
StrawberryPosterHandler
implements
WxMpMessageHandler
{
@Autowired
private
WechatUsersRedisUtils
redisUtils
;
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
redisUtils
.
setStrawberryPosterClick
(
wxMessage
.
getFromUser
(),
10
*
60
);
// TODO: 2021/11/25 线上改成正规文案
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"您已进入活动,请回复姓名,zhengzai.tv, 10分钟内回复有效"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/TextMsgHandler.java
0 → 100644
View file @
aaa7a693
package
com
.
liquidnet
.
service
.
sweet
.
handler
;
import
com.liquidnet.service.sweet.utils.WechatUsersRedisUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.error.WxErrorException
;
import
me.chanjar.weixin.common.session.WxSessionManager
;
import
me.chanjar.weixin.mp.api.WxMpMessageHandler
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlMessage
;
import
me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
/**
* <p>
* 文本消息
* </p>
*
* @author jiangxiulong
* @since 2021-11-25
*/
@Component
@Slf4j
public
class
TextMsgHandler
implements
WxMpMessageHandler
{
@Autowired
private
WechatUsersRedisUtils
redisUtils
;
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
boolean
IsPosterClick
=
redisUtils
.
getStrawberryPosterClick
(
wxMessage
.
getFromUser
());
// TODO: 2021/11/25 线上改成正规模版消息
if
(
IsPosterClick
)
{
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"您已参与活动,结果为:"
.
concat
(
wxMessage
.
getContent
()))
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
}
else
{
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"您未参与活动或者超过10分钟回复期限,结果为:"
.
concat
(
wxMessage
.
getContent
()))
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
}
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/utils/WechatUsersRedisUtils.java
View file @
aaa7a693
...
...
@@ -84,4 +84,17 @@ public class WechatUsersRedisUtils {
redisUtil
.
set
(
redisKeyU
,
sweetAppletUsersVo
);
}
public
void
setStrawberryPosterClick
(
String
openId
,
long
time
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_STRAWBERRY_POSTER_CLICK
.
concat
(
openId
);
redisUtil
.
set
(
redisKey
,
1
,
time
);
}
public
boolean
getStrawberryPosterClick
(
String
openId
)
{
String
redisKey
=
SweetConstant
.
REDIS_KEY_SWEET_STRAWBERRY_POSTER_CLICK
.
concat
(
openId
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
null
==
obj
)
{
return
false
;
}
else
{
return
true
;
}
}
}
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