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
66f05147
Commit
66f05147
authored
Sep 20, 2019
by
裴大威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat 紧急需求欢迎语文案修改
parent
76dbe420
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
117 additions
and
96 deletions
+117
-96
SendWeixinRequestTools.java
...a/com/pcloud/book/group/tools/SendWeixinRequestTools.java
+117
-96
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/tools/SendWeixinRequestTools.java
View file @
66f05147
...
@@ -139,88 +139,6 @@ public class SendWeixinRequestTools {
...
@@ -139,88 +139,6 @@ public class SendWeixinRequestTools {
}*/
}*/
}
}
@ParamLog
(
"发送欢迎语消息"
)
public
static
void
sendGuideMessage
(
SendGuideMessageDTO
dto
)
{
if
(
Objects
.
isNull
(
dto
)
||
CollectionUtils
.
isEmpty
(
dto
.
getReplyMessages
()))
{
return
;
}
List
<
ReplyMessageVO
>
replyMessages
=
dto
.
getReplyMessages
();
String
robotId
=
dto
.
getRobotId
();
String
weixinGroupId
=
dto
.
getWeixinGroupId
();
Boolean
isGroupRobot
=
dto
.
getIsGroupRobot
();
List
<
KeywordDTO
>
keywords
=
dto
.
getKeywords
();
KeywordStatusDTO
keywordStatusDTO
=
dto
.
getDto
();
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
dto
.
getClassifyQrcodeInfo
();
String
ip
=
dto
.
getIp
();
Integer
code
=
dto
.
getCode
();
int
i
=
0
;
for
(
ReplyMessageVO
replyMessageVO
:
replyMessages
)
{
SendMessageDTO
sendMessageDTO
=
new
SendMessageDTO
();
BeanUtils
.
copyProperties
(
replyMessageVO
,
sendMessageDTO
);
String
nickNameStr
=
getNickNameStr
(
weixinGroupId
);
if
(
i
==
0
)
{
LOGGER
.
info
(
"发送欢迎语"
+
nickNameStr
);
// if (StringUtils.isNotEmpty(nickNameStr)) {
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
sendMessageDTO
.
getReplyType
()))
{
String
s
=
nickNameStr
+
" "
+
sendMessageDTO
.
getContent
();
StringBuilder
sb
=
new
StringBuilder
();
boolean
isOld
=
true
;
if
(!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
)
{
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
List
<
KeywordDTO
>
collect
=
keywords
.
stream
()
.
filter
(
p
->
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())
||
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
p
.
getReplyType
())))
.
collect
(
Collectors
.
toList
());
// 1001745 包含图片则不合并关键词详情
if
(
CollectionUtils
.
isEmpty
(
collect
)){
isOld
=
false
;
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
s
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
875
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
keyword
.
getReplyType
())
||
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
()))
{
String
linkUrl
=
SendWeixinRequestTools
.
splitUrlNew
(
dto
.
getAccountSettingDto
(),
keyword
.
getLinkUrl
(),
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getGroupQrcodeId
());
sb
.
append
(
" "
).
append
(
keyword
.
getDescription
()).
append
(
keyword
.
getContent
()).
append
(
UrlUtils
.
getShortUrl4Own
(
linkUrl
)).
append
(
"\n\n"
);
}
}
}
else
{
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
s
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
922
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】"
);
}
}
}
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
,
isOld
);
groupKeyword
.
append
(
"后续也可以回复【】里的关键词,再次领取"
);
// 1001692 自定义欢迎语+关键词文案,如果超过300字,关键词拆分出来发
if
(
s
.
length
()
+
groupKeyword
.
length
()
>=
1000
)
{
sendMessageDTO
.
setContent
(
s
);
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
sendMessageDTO
.
setContent
(
groupKeyword
.
toString
().
replaceFirst
(
"\n\n"
,
""
));
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
i
++;
continue
;
}
else
{
sendMessageDTO
.
setContent
(
s
+
groupKeyword
.
toString
());
}
}
else
{
SendTextMessageVO
sendTextMessageVO
=
new
SendTextMessageVO
();
sendTextMessageVO
.
setContent
(
nickNameStr
);
sendTextMessageVO
.
setAltId
(
robotId
);
sendTextMessageVO
.
setWxGroupId
(
weixinGroupId
);
sendTextMessageVO
.
setIp
(
ip
);
WxGroupSDK
.
sendTextMessage
(
sendTextMessageVO
);
}
// }
}
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
i
++;
}
}
@ParamLog
(
"推送消息"
)
@ParamLog
(
"推送消息"
)
private
static
void
sendMessage
(
SendMessageDTO
sendMessageDTO
,
String
robotId
,
String
weixinGroupId
,
String
ip
,
Integer
code
)
{
private
static
void
sendMessage
(
SendMessageDTO
sendMessageDTO
,
String
robotId
,
String
weixinGroupId
,
String
ip
,
Integer
code
)
{
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
sendMessageDTO
.
getReplyType
()))
{
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
sendMessageDTO
.
getReplyType
()))
{
...
@@ -427,25 +345,27 @@ public class SendWeixinRequestTools {
...
@@ -427,25 +345,27 @@ public class SendWeixinRequestTools {
}
}
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
boolean
isOld
=
true
;
boolean
isOld
=
true
;
if
(!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
)
{
boolean
haveKeyword
=
!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
;
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
if
(
haveKeyword
)
{
List
<
KeywordDTO
>
collect
=
keywords
.
stream
()
List
<
KeywordDTO
>
collect
=
keywords
.
stream
()
.
filter
(
p
->
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())
||
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
p
.
getReplyType
())))
.
filter
(
p
->
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())
||
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
p
.
getReplyType
())))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
// 1001745 包含图片
则不合并关键词详情
// 1001745 包含图片
和文字则不合并关键词详情,其他情况走之前的模式
if
(
CollectionUtils
.
isEmpty
(
collect
)){
if
(
CollectionUtils
.
isEmpty
(
collect
)){
isOld
=
false
;
isOld
=
false
;
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
for
(
KeywordDTO
keyword
:
keywords
)
{
for
(
KeywordDTO
keyword
:
keywords
)
{
if
(
(
content
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
875
)
{
if
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
()
>=
830
)
{
break
;
break
;
}
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
keyword
.
getReplyType
())
||
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
()))
{
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
keyword
.
getReplyType
())
||
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
()))
{
String
linkUrl
=
SendWeixinRequestTools
.
splitUrlNew
(
dto
.
getAccountSettingDto
(),
keyword
.
getLinkUrl
(),
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getGroupQrcodeId
());
String
linkUrl
=
SendWeixinRequestTools
.
splitUrlNew
(
dto
.
getAccountSettingDto
(),
keyword
.
getLinkUrl
(),
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getGroupQrcodeId
());
sb
.
append
(
" "
).
append
(
keyword
.
get
Description
()).
append
(
keyword
.
get
Content
()).
append
(
UrlUtils
.
getShortUrl4Own
(
linkUrl
)).
append
(
"\n\n"
);
sb
.
append
(
" "
).
append
(
keyword
.
getContent
()).
append
(
UrlUtils
.
getShortUrl4Own
(
linkUrl
)).
append
(
"\n\n"
);
}
}
}
}
}
else
{
}
else
{
sb
.
append
(
"\n\n在群内回复以下关键词,领取任务或资源:\n"
);
for
(
KeywordDTO
keyword
:
keywords
)
{
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
content
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
922
)
{
if
((
content
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
922
)
{
break
;
break
;
...
@@ -454,8 +374,11 @@ public class SendWeixinRequestTools {
...
@@ -454,8 +374,11 @@ public class SendWeixinRequestTools {
}
}
}
}
}
}
// 运营关键词
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
,
isOld
);
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
,
isOld
);
groupKeyword
.
append
(
"后续也可以回复【】里的关键词,再次领取"
);
if
(
haveKeyword
&&
!
isOld
)
{
groupKeyword
.
append
(
"后续也可以回复【】里的关键词,再次领取"
);
}
// 1001692 自定义欢迎语+关键词文案,如果超过300字,关键词拆分出来发
// 1001692 自定义欢迎语+关键词文案,如果超过300字,关键词拆分出来发
if
((
content
.
length
()
+
sb
.
length
())
>=
1000
)
{
if
((
content
.
length
()
+
sb
.
length
())
>=
1000
)
{
sendTextMessage
(
content
.
toString
(),
robotId
,
weixinGroupId
,
ip
);
sendTextMessage
(
content
.
toString
(),
robotId
,
weixinGroupId
,
ip
);
...
@@ -465,27 +388,125 @@ public class SendWeixinRequestTools {
...
@@ -465,27 +388,125 @@ public class SendWeixinRequestTools {
}
}
}
}
@ParamLog
(
"发送欢迎语消息"
)
public
static
void
sendGuideMessage
(
SendGuideMessageDTO
dto
)
{
if
(
Objects
.
isNull
(
dto
)
||
CollectionUtils
.
isEmpty
(
dto
.
getReplyMessages
()))
{
return
;
}
List
<
ReplyMessageVO
>
replyMessages
=
dto
.
getReplyMessages
();
String
robotId
=
dto
.
getRobotId
();
String
weixinGroupId
=
dto
.
getWeixinGroupId
();
Boolean
isGroupRobot
=
dto
.
getIsGroupRobot
();
List
<
KeywordDTO
>
keywords
=
dto
.
getKeywords
();
KeywordStatusDTO
keywordStatusDTO
=
dto
.
getDto
();
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
dto
.
getClassifyQrcodeInfo
();
String
ip
=
dto
.
getIp
();
Integer
code
=
dto
.
getCode
();
int
i
=
0
;
for
(
ReplyMessageVO
replyMessageVO
:
replyMessages
)
{
SendMessageDTO
sendMessageDTO
=
new
SendMessageDTO
();
BeanUtils
.
copyProperties
(
replyMessageVO
,
sendMessageDTO
);
String
nickNameStr
=
getNickNameStr
(
weixinGroupId
);
if
(
i
!=
0
)
{
LOGGER
.
info
(
"发送欢迎语"
+
nickNameStr
);
// if (StringUtils.isNotEmpty(nickNameStr)) {
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
sendMessageDTO
.
getReplyType
()))
{
String
s
=
nickNameStr
+
" "
+
sendMessageDTO
.
getContent
();
StringBuilder
sb
=
new
StringBuilder
();
boolean
isOld
=
true
;
boolean
haveKeyword
=
!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
;
if
(
haveKeyword
)
{
List
<
KeywordDTO
>
collect
=
keywords
.
stream
()
.
filter
(
p
->
(
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())
||
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
p
.
getReplyType
())))
.
collect
(
Collectors
.
toList
());
// 1001745 包含图片则不合并关键词详情
if
(
CollectionUtils
.
isEmpty
(
collect
)){
isOld
=
false
;
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
for
(
KeywordDTO
keyword
:
keywords
)
{
if
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
()
>=
850
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
if
(
ReplyTypeEnum
.
LINK
.
value
.
equals
(
keyword
.
getReplyType
())
||
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
()))
{
String
linkUrl
=
SendWeixinRequestTools
.
splitUrlNew
(
dto
.
getAccountSettingDto
(),
keyword
.
getLinkUrl
(),
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getGroupQrcodeId
());
sb
.
append
(
" "
).
append
(
keyword
.
getDescription
()).
append
(
keyword
.
getContent
()).
append
(
UrlUtils
.
getShortUrl4Own
(
linkUrl
)).
append
(
"\n\n"
);
}
}
}
else
{
sb
.
append
(
"\n\n在群内回复以下关键词,领取任务或资源:\n"
);
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
s
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
922
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】"
);
}
}
}
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
,
isOld
);
if
(
haveKeyword
&&
!
isOld
)
{
groupKeyword
.
append
(
"后续也可以回复【】里的关键词,再次领取"
);
}
// 1001692 自定义欢迎语+关键词文案,如果超过300字,关键词拆分出来发
if
(
s
.
length
()
+
groupKeyword
.
length
()
>=
1000
)
{
sendMessageDTO
.
setContent
(
s
);
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
sendMessageDTO
.
setContent
(
groupKeyword
.
toString
().
replaceFirst
(
"\n\n"
,
""
));
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
i
++;
continue
;
}
else
{
sendMessageDTO
.
setContent
(
s
+
groupKeyword
.
toString
());
}
}
else
{
SendTextMessageVO
sendTextMessageVO
=
new
SendTextMessageVO
();
sendTextMessageVO
.
setContent
(
nickNameStr
);
sendTextMessageVO
.
setAltId
(
robotId
);
sendTextMessageVO
.
setWxGroupId
(
weixinGroupId
);
sendTextMessageVO
.
setIp
(
ip
);
WxGroupSDK
.
sendTextMessage
(
sendTextMessageVO
);
}
// }
}
sendMessage
(
sendMessageDTO
,
robotId
,
weixinGroupId
,
ip
,
code
);
i
++;
}
}
/**
* 组装群运营关键词
* @param dto 运营关键词相关参数
* @param sb 推送内容
* @param isOld 包含图片或者文字走旧流程就不包含描述,否则加描述
* @return 最终发送内容
*/
private
static
StringBuilder
getGroupKeyword
(
KeywordStatusDTO
dto
,
StringBuilder
sb
,
Boolean
isOld
)
{
private
static
StringBuilder
getGroupKeyword
(
KeywordStatusDTO
dto
,
StringBuilder
sb
,
Boolean
isOld
)
{
if
(!
sb
.
toString
().
contains
(
"【"
)
&&
(
dto
.
getClockOpen
()
||
dto
.
getRiddleOpen
()
||
dto
.
getReportOpen
()))
{
if
(!
sb
.
toString
().
contains
(
"【"
)
&&
(
dto
.
getClockOpen
()
||
dto
.
getRiddleOpen
()
||
dto
.
getReportOpen
()))
{
sb
.
append
(
"\n\n在群内回复以下关键词:"
);
sb
.
append
(
"\n\n在群内回复以下关键词:
\n
"
);
}
}
if
(
dto
.
getReportOpen
())
{
if
(
dto
.
getReportOpen
())
{
if
(
isOld
)
{
sb
.
append
(
"【学习报告】"
);
sb
.
append
(
"\n\n"
);
if
(!
isOld
)
{
sb
.
append
(
"\n回复学习报告,获取个人学习报告,与群成员PK元气值\n\n"
);
}
}
sb
.
append
(
"【学习报告】\n回复学习报告,获取个人学习报告,与群成员PK元气值\n\n"
);
}
}
if
(
dto
.
getRiddleOpen
())
{
if
(
dto
.
getRiddleOpen
())
{
if
(
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
))
{
if
(
!
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
))
{
sb
.
append
(
"\n"
);
sb
.
append
(
"\n"
);
}
}
sb
.
append
(
"【猜谜语】\n回复猜谜语,开启群游戏,连续答对5题,所有群成员可获得精美礼券\n\n"
);
sb
.
append
(
"【猜谜语】"
);
if
(!
isOld
)
{
sb
.
append
(
"\n回复猜谜语,开启群游戏,连续答对5题,所有群成员可获得精美礼券\n\n"
);
}
}
}
if
(
dto
.
getClockOpen
())
{
if
(
dto
.
getClockOpen
())
{
if
(
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
)
&&
!
sb
.
toString
().
contains
(
"【猜谜语】"
))
{
if
(
!
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
)
&&
!
sb
.
toString
().
contains
(
"【猜谜语】"
))
{
sb
.
append
(
"\n"
);
sb
.
append
(
"\n"
);
}
}
sb
.
append
(
"【"
).
append
(
dto
.
getClockKeyword
()).
append
(
"】\n"
).
append
(
dto
.
getClockGuide
()).
append
(
"\n\n"
);
sb
.
append
(
"【"
).
append
(
dto
.
getClockKeyword
()).
append
(
"】"
);
if
(!
isOld
)
{
sb
.
append
(
"\n"
).
append
(
dto
.
getClockGuide
()).
append
(
"\n\n"
);
}
}
}
return
sb
;
return
sb
;
}
}
...
...
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