记得上下班打卡 | 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
ad431924
Commit
ad431924
authored
Dec 08, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TextMsgHandler merge
parent
323334a2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
61 deletions
+68
-61
TextMsgHandler.java
...a/com/liquidnet/service/sweet/handler/TextMsgHandler.java
+68
-61
No files found.
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/handler/TextMsgHandler.java
View file @
ad431924
...
@@ -2,13 +2,9 @@ package com.liquidnet.service.sweet.handler;
...
@@ -2,13 +2,9 @@ package com.liquidnet.service.sweet.handler;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.third.shumei.util.ShumeiUtil
;
import
com.liquidnet.common.third.shumei.util.ShumeiUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.commons.lang.util.StringUtil
;
import
com.liquidnet.service.sweet.config.WechatMaConfigure
;
import
com.liquidnet.service.sweet.config.WechatMaConfigure
;
import
com.liquidnet.service.sweet.
utils.QueueUtils
;
import
com.liquidnet.service.sweet.
constant.SweetConstant
;
import
com.liquidnet.service.sweet.utils.WechatUsersRedisUtils
;
import
com.liquidnet.service.sweet.utils.WechatUsersRedisUtils
;
import
com.liquidnet.service.sweet.vo.SweetMaoDengVo
;
import
com.liquidnet.service.sweet.vo.SweetMaoDengVo
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -23,11 +19,8 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage;
...
@@ -23,11 +19,8 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
import
java.util.Map
;
import
static
com
.
liquidnet
.
service
.
sweet
.
constant
.
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_MAODENG_OPEN_POSTER
;
/**
/**
* <p>
* <p>
* 文本消息
* 文本消息
...
@@ -42,55 +35,93 @@ public class TextMsgHandler implements WxMpMessageHandler {
...
@@ -42,55 +35,93 @@ public class TextMsgHandler implements WxMpMessageHandler {
@Autowired
@Autowired
private
WechatUsersRedisUtils
redisUtils
;
private
WechatUsersRedisUtils
redisUtils
;
@Autowired
@Autowired
WechatMaConfigure
maConfigure
;
WechatMaConfigure
maConfigure
;
@Autowired
@Autowired
private
ShumeiUtil
shumeiUtil
;
private
ShumeiUtil
shumeiUtil
;
@Autowired
QueueUtils
queueUtils
;
@Autowired
@Autowired
private
RedisUtil
redisUtil
;
private
RedisUtil
redisUtil
;
@Override
@Override
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
public
WxMpXmlOutMessage
handle
(
WxMpXmlMessage
wxMessage
,
Map
<
String
,
Object
>
context
,
WxMpService
wxMpService
,
WxSessionManager
sessionManager
)
throws
WxErrorException
{
WxSessionManager
sessionManager
)
throws
WxErrorException
{
String
maoContent
=
wxMessage
.
getContent
();
//获取文字消息
String
openId
=
wxMessage
.
getFromUser
();
String
fromUser
=
wxMessage
.
getFromUser
();
//用户id
String
content
=
wxMessage
.
getContent
();
SweetMaoDengVo
sweetMaoDengVo
=
SweetMaoDengVo
.
getNew
();
sweetMaoDengVo
.
setUserId
(
fromUser
);
// 2021草莓音乐节海报活动
sweetMaoDengVo
.
setTextMsg
(
maoContent
);
if
(
StringUtil
.
trim
(
content
).
equals
(
"白日梦"
))
{
String
maoId
=
IDGenerator
.
nextSnowId
();
redisUtils
.
setStrawberryPosterClick
(
wxMessage
.
getFromUser
(),
10
*
60
);
//敏感词判断
//此处判断不需要用户登录,所以使用时间代替
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"你梦中的草莓音乐节会有怎样的阵容?\n"
+
String
currentUid
=
DateUtil
.
now
().
getTime
()
+
""
;
"不如做一次白日梦,挑选你心水的草莓阵容!\n"
+
if
(!
shumeiUtil
.
checkText
(
currentUid
,
maoContent
))
{
"参与活动之前,请先告诉我你的昵称!(直接在对话框输入即可\uD83D\uDC47,9个字以内)"
)
//文字敏感 提示,发送文本消息
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"无法识别,TA是不是还有别的名字呢!(请勿使用表情等特殊字符)"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
.
build
();
return
build
;
}
else
if
(
redisUtils
.
getStrawberryPosterClick
(
openId
))
{
// 验证
if
(
content
.
length
()
>
9
)
{
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"昵称要9个字以内~"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
openId
)
.
build
();
}
if
(!
shumeiUtil
.
checkText
(
openId
,
content
))
{
return
WxMpXmlOutMessage
.
TEXT
().
content
(
"无法识别,换个昵称吧!(请勿使用表情等特殊字符)"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
openId
)
.
build
();
}
// 发送文本消息
/*WxMpXmlOutTextMessage build = WxMpXmlOutMessage.TEXT().content("你好,".concat(content).concat("!点击下方小程序卡片开始搭建你梦想的草莓音乐节阵容!"))
.fromUser(wxMessage.getToUser()).toUser(openId)
.build();*/
WxMpKefuMessage
message
=
WxMpKefuMessage
.
TEXT
().
content
(
"你好,"
.
concat
(
content
).
concat
(
"!点击下方小程序卡片开始搭建你梦想的草莓音乐节阵容!"
))
.
toUser
(
openId
).
build
();
wxMpService
.
getKefuService
().
sendKefuMessage
(
message
);
// 发送活动小程序卡片
WxMpKefuMessage
message1
=
WxMpKefuMessage
.
MINIPROGRAMPAGE
()
.
appId
(
maConfigure
.
getWxMaAppid
(
4
))
.
pagePath
(
"/pages/webview?query=strawberryMusic&voteWhere=2&nickname="
.
concat
(
content
))
// .thumbMediaId("ov08q51In7bXX6tXv7Few8cBjTW0osSV_t9FCLg8Q1Q") // 正在
.
thumbMediaId
(
"OFjnPjluDGoHH1KOAdxQ_vfMiIKRu2Eo9QFhI5TOtHE"
)
// 摩登
.
title
(
"做一场白日梦,挑选你心水的草莓阵容!"
)
.
toUser
(
openId
)
.
build
();
wxMpService
.
getKefuService
().
sendKefuMessage
(
message1
);
}
}
if
(
maoContent
.
equals
(
"猫登天空"
))
{
redisUtils
.
setSweetMaoDengOpen
(
fromUser
,
10
*
60
);
if
(
content
.
equals
(
"猫登天空"
))
{
redisUtils
.
setSweetMaoDengOpen
(
openId
,
10
*
60
);
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"没想到吧,你的喵星人主子在玩耍逗喵棒之外,也有一个隐秘的音乐人分身呢!\n"
+
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"没想到吧,你的喵星人主子在玩耍逗喵棒之外,也有一个隐秘的音乐人分身呢!\n"
+
"看看TA到底是怎样一只音乐喵!\n"
+
"看看TA到底是怎样一只音乐喵!\n"
+
"参与活动之前,请先告诉我们猫咪的名字!(直接在对话框输入即可👇,9个汉字或18个英文字符以内)\n"
)
"参与活动之前,请先告诉我们猫咪的名字!(直接在对话框输入即可👇,9个汉字或18个英文字符以内)\n"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
.
build
();
return
build
;
return
build
;
}
}
else
if
(
StringUtil
.
isNotEmpty
(
redisUtils
.
getSweetMaoDengOpen
(
openId
)))
{
//是否参加了活动
String
i
=
redisUtils
.
getSweetMaoDengOpen
(
fromUser
);
//敏感词判断
//是否参加了活动
//此处判断不需要用户登录,所以使用时间代替
if
(
StringUtil
.
isNotEmpty
(
i
))
{
if
(!
shumeiUtil
.
checkText
(
openId
,
content
))
{
//文字敏感 提示,发送文本消息
SweetMaoDengVo
sweetMaoDeng
=
redisUtils
.
getSweetMaoDengTransfer
(
fromUser
);
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"无法识别,TA是不是还有别的名字呢!(请勿使用表情等特殊字符)"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
return
build
;
}
SweetMaoDengVo
sweetMaoDengVo
=
SweetMaoDengVo
.
getNew
();
sweetMaoDengVo
.
setUserId
(
openId
);
sweetMaoDengVo
.
setTextMsg
(
content
);
SweetMaoDengVo
sweetMaoDeng
=
redisUtils
.
getSweetMaoDengTransfer
(
openId
);
if
(
sweetMaoDeng
!=
null
)
{
if
(
sweetMaoDeng
!=
null
)
{
String
picUrl
=
sweetMaoDeng
.
getPicUrl
();
String
picUrl
=
sweetMaoDeng
.
getPicUrl
();
sweetMaoDengVo
.
setPicUrl
(
picUrl
);
sweetMaoDengVo
.
setPicUrl
(
picUrl
);
}
}
//获取过期时间
//获取过期时间
long
expire
=
redisUtil
.
getExpire
(
REDIS_KEY_SWEET_WECHAT_MAODENG_OPEN_POSTER
+
fromUser
);
long
expire
=
redisUtil
.
getExpire
(
SweetConstant
.
REDIS_KEY_SWEET_WECHAT_MAODENG_OPEN_POSTER
+
openId
);
redisUtils
.
setSweetMaoDengTransfer
(
sweetMaoDengVo
,
expire
);
redisUtils
.
setSweetMaoDengTransfer
(
sweetMaoDengVo
,
expire
);
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"请发我猫咪的图片"
)
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"请发我猫咪的图片"
)
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
...
@@ -100,30 +131,6 @@ public class TextMsgHandler implements WxMpMessageHandler {
...
@@ -100,30 +131,6 @@ public class TextMsgHandler implements WxMpMessageHandler {
}
}
return
null
;
//--------------------------------------------------------------------------------------------------------------------------
boolean
IsPosterClick
=
redisUtils
.
getStrawberryPosterClick
(
wxMessage
.
getFromUser
());
if
(
IsPosterClick
)
{
String
content
=
wxMessage
.
getContent
();
// 发送文本消息
WxMpXmlOutTextMessage
build
=
WxMpXmlOutMessage
.
TEXT
().
content
(
"您已参与活动,输入的姓名为:"
.
concat
(
content
).
concat
(
" 请点击下方小程序参加活动"
))
.
fromUser
(
wxMessage
.
getToUser
()).
toUser
(
wxMessage
.
getFromUser
())
.
build
();
// 发送活动小程序卡片
WxMpKefuMessage
message
=
WxMpKefuMessage
.
MINIPROGRAMPAGE
()
.
appId
(
maConfigure
.
getWxMaAppid
(
4
))
.
pagePath
(
"/pages/index?nickname="
.
concat
(
content
))
.
thumbMediaId
(
"ov08q51In7bXX6tXv7FewxFNN0G78n-pPRsbi3LZbPE"
)
.
title
(
"正在摩登"
)
.
toUser
(
wxMessage
.
getFromUser
())
.
build
();
wxMpService
.
getKefuService
().
sendKefuMessage
(
message
);
return
build
;
}
else
{
// 正常消息不处理
return
null
;
}
}
}
}
}
\ 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