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
36e807d6
Commit
36e807d6
authored
Sep 23, 2019
by
阮思源
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
cb71ee30
864fcd01
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
154 additions
and
115 deletions
+154
-115
BookBizImpl.java
.../main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
+3
-3
SendWeixinRequestTools.java
...a/com/pcloud/book/group/tools/SendWeixinRequestTools.java
+128
-100
BookGuideBizImpl.java
...a/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
+6
-5
KeywordStatusDTO.java
...n/java/com/pcloud/book/keywords/dto/KeywordStatusDTO.java
+5
-0
Book.Mapper.xml
...rvice-book/src/main/resources/mapper/book/Book.Mapper.xml
+12
-7
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/book/biz/impl/BookBizImpl.java
View file @
36e807d6
...
@@ -1116,11 +1116,11 @@ public class BookBizImpl implements BookBiz {
...
@@ -1116,11 +1116,11 @@ public class BookBizImpl implements BookBiz {
@Override
@Override
public
PageBean
listPage4Agent
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
,
Long
agentId
)
{
public
PageBean
listPage4Agent
(
PageParam
pageParam
,
Map
<
String
,
Object
>
paramMap
,
Long
agentId
)
{
LOGGER
.
info
(
"书刊列表-出版端,<START>.[paramMap]="
+
paramMap
+
",agentId"
+
agentId
);
LOGGER
.
info
(
"书刊列表-出版端,<START>.[paramMap]="
+
paramMap
+
",agentId"
+
agentId
);
List
<
Long
>
adviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
(
String
)
paramMap
.
get
(
"
mainEditor
Name"
));
List
<
Long
>
adviserIds
=
adviserConsr
.
getIdsByNameAndAgentId
(
agentId
,
(
String
)
paramMap
.
get
(
"
book
Name"
));
paramMap
.
put
(
"adviserIds"
,
adviserIds
);
paramMap
.
put
(
"adviserIds"
,
adviserIds
);
if
(
ListUtils
.
isEmpty
(
adviserIds
))
{
/*
if (ListUtils.isEmpty(adviserIds)) {
return new PageBean(0, 0, new ArrayList<>());
return new PageBean(0, 0, new ArrayList<>());
}
}
*/
PageBean
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listPage4Agent"
);
PageBean
pageBean
=
bookDao
.
listPage
(
pageParam
,
paramMap
,
"listPage4Agent"
);
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
if
(
pageBean
==
null
||
ListUtils
.
isEmpty
(
pageBean
.
getRecordList
()))
{
return
new
PageBean
();
return
new
PageBean
();
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/tools/SendWeixinRequestTools.java
View file @
36e807d6
...
@@ -33,15 +33,12 @@ import org.slf4j.LoggerFactory;
...
@@ -33,15 +33,12 @@ import org.slf4j.LoggerFactory;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
javax.ws.rs.HEAD
;
/**
/**
* @author lily
* @author lily
* @date 2019/4/19 17:03
* @date 2019/4/19 17:03
...
@@ -142,87 +139,6 @@ public class SendWeixinRequestTools {
...
@@ -142,87 +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
();
if
(!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
)
{
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
List
<
KeywordDTO
>
collect
=
keywords
.
stream
().
filter
(
p
->
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())).
collect
(
Collectors
.
toList
());
// 1001745 包含图片则不合并关键词详情
if
(
CollectionUtils
.
isEmpty
(
collect
)){
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
s
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
950
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
keyword
.
getReplyType
()))
{
sb
.
append
(
" "
).
append
(
keyword
.
getContent
()).
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"
);
}
}
}
else
{
for
(
KeywordDTO
keyword
:
keywords
)
{
if
((
s
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
977
)
{
break
;
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】"
);
}
}
}
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
);
groupKeyword
.
append
(
"\n"
).
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
()))
{
...
@@ -428,35 +344,41 @@ public class SendWeixinRequestTools {
...
@@ -428,35 +344,41 @@ public class SendWeixinRequestTools {
content
.
append
(
"本群目的为学习交流和学习辅导,线上资源和工具为图书的增值服务,可根据实际情况配合图书一起使用。"
);
content
.
append
(
"本群目的为学习交流和学习辅导,线上资源和工具为图书的增值服务,可根据实际情况配合图书一起使用。"
);
}
}
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
if
(!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
)
{
boolean
isOld
=
true
;
sb
.
append
(
"\n\n本群配有以下资源服务,戳链接立即获取:\n"
);
boolean
haveKeyword
=
!
CollectionUtils
.
isEmpty
(
keywords
)
&&
isGroupRobot
;
List
<
KeywordDTO
>
collect
=
keywords
.
stream
().
filter
(
p
->
ReplyTypeEnum
.
IMAGE
.
value
.
equals
(
p
.
getReplyType
())).
collect
(
Collectors
.
toList
());
if
(
haveKeyword
)
{
// 1001745 包含图片则不合并关键词详情
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
)){
if
(
CollectionUtils
.
isEmpty
(
collect
)){
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
())
>=
95
0
)
{
if
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
()
>=
83
0
)
{
break
;
break
;
}
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】\n"
);
if
(
ReplyTypeEnum
.
TEXT
.
value
.
equals
(
keyword
.
getReplyType
()))
{
sb
.
append
(
" "
).
append
(
keyword
.
getContent
()).
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
.
getContent
()).
append
(
UrlUtils
.
getShortUrl4Own
(
linkUrl
)).
append
(
"
\n"
);
sb
.
append
(
" "
).
append
(
keyword
.
get
Content
()).
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
())
>=
9
77
)
{
if
((
content
.
length
()
+
sb
.
length
())
>=
1000
&&
(
sb
.
length
()
+
(
keyword
.
getKeywords
()
+
"\n"
).
length
())
>=
9
22
)
{
break
;
break
;
}
}
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】"
);
sb
.
append
(
"【"
).
append
(
keyword
.
getKeywords
()).
append
(
"】"
);
}
}
}
}
}
}
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
);
// 运营关键词
groupKeyword
.
append
(
"\n"
).
append
(
"后续也可以回复【】里的关键词,再次领取"
);
StringBuilder
groupKeyword
=
getGroupKeyword
(
keywordStatusDTO
,
sb
,
isOld
);
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
);
...
@@ -466,18 +388,125 @@ public class SendWeixinRequestTools {
...
@@ -466,18 +388,125 @@ public class SendWeixinRequestTools {
}
}
}
}
private
static
StringBuilder
getGroupKeyword
(
KeywordStatusDTO
dto
,
StringBuilder
sb
)
{
@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
)
{
if
(!
sb
.
toString
().
contains
(
"【"
)
&&
(
dto
.
getClockOpen
()
||
dto
.
getRiddleOpen
()
||
dto
.
getReportOpen
()))
{
if
(!
sb
.
toString
().
contains
(
"【"
)
&&
(
dto
.
getClockOpen
()
||
dto
.
getRiddleOpen
()
||
dto
.
getReportOpen
()))
{
sb
.
append
(
"\n\n在群内回复以下关键词:\n"
);
sb
.
append
(
"\n\n在群内回复以下关键词:\n"
);
}
}
if
(
dto
.
getReportOpen
())
{
if
(
dto
.
getReportOpen
())
{
sb
.
append
(
"【学习报告】"
);
sb
.
append
(
"【学习报告】"
);
if
(!
isOld
)
{
sb
.
append
(
"\n回复学习报告,获取个人学习报告,与群成员PK元气值\n\n"
);
}
}
}
if
(
dto
.
getRiddleOpen
())
{
if
(
dto
.
getRiddleOpen
())
{
if
(!
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
))
{
sb
.
append
(
"\n"
);
}
sb
.
append
(
"【猜谜语】"
);
sb
.
append
(
"【猜谜语】"
);
if
(!
isOld
)
{
sb
.
append
(
"\n回复猜谜语,开启群游戏,连续答对5题,所有群成员可获得精美礼券\n\n"
);
}
}
}
if
(
dto
.
getClockOpen
())
{
if
(
dto
.
getClockOpen
())
{
if
(!
isOld
&&
!
sb
.
toString
().
contains
(
"【学习报告】"
)
&&
!
sb
.
toString
().
contains
(
"【猜谜语】"
))
{
sb
.
append
(
"\n"
);
}
sb
.
append
(
"【"
).
append
(
dto
.
getClockKeyword
()).
append
(
"】"
);
sb
.
append
(
"【"
).
append
(
dto
.
getClockKeyword
()).
append
(
"】"
);
if
(!
isOld
)
{
sb
.
append
(
"\n"
).
append
(
dto
.
getClockGuide
()).
append
(
"\n\n"
);
}
}
}
return
sb
;
return
sb
;
}
}
...
@@ -488,12 +517,11 @@ public class SendWeixinRequestTools {
...
@@ -488,12 +517,11 @@ public class SendWeixinRequestTools {
int
i
=
0
;
int
i
=
0
;
List
<
String
>
names
=
new
ArrayList
<>();
List
<
String
>
names
=
new
ArrayList
<>();
Set
<
Map
.
Entry
<
String
,
Integer
>>
entries
=
nickNames
.
entrySet
();
Set
<
Map
.
Entry
<
String
,
Integer
>>
entries
=
nickNames
.
entrySet
();
for
(
Iterator
<
Map
.
Entry
<
String
,
Integer
>>
iterator
=
entries
.
iterator
();
iterator
.
hasNext
();
)
{
for
(
Map
.
Entry
<
String
,
Integer
>
stringIntegerEntry
:
entries
)
{
if
(
i
==
5
)
{
if
(
i
==
5
)
{
break
;
break
;
}
}
Map
.
Entry
<
String
,
Integer
>
entry
=
iterator
.
next
();
String
key
=
stringIntegerEntry
.
getKey
();
String
key
=
entry
.
getKey
();
names
.
add
(
key
);
names
.
add
(
key
);
i
++;
i
++;
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
View file @
36e807d6
...
@@ -431,9 +431,10 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -431,9 +431,10 @@ public class BookGuideBizImpl implements BookGuideBiz {
@ParamLog
(
"推关学习报告/猜谜语关键词消息"
)
@ParamLog
(
"推关学习报告/猜谜语关键词消息"
)
private
KeywordStatusDTO
pushLearningReport
(
GroupClassifyQrcodeDTO
classifyQrcodeInfo
,
String
robotId
,
String
weixinGroupId
,
String
ip
)
{
private
KeywordStatusDTO
pushLearningReport
(
GroupClassifyQrcodeDTO
classifyQrcodeInfo
,
String
robotId
,
String
weixinGroupId
,
String
ip
)
{
Boolean
reportOpen
=
false
;
boolean
reportOpen
=
false
;
Boolean
riddleOpen
=
false
;
boolean
riddleOpen
=
false
;
Boolean
clockOpen
=
false
;
boolean
clockOpen
=
false
;
KeywordStatusDTO
dto
=
new
KeywordStatusDTO
();
if
(
classifyQrcodeInfo
.
getHasOpenLearningReport
()
!=
null
&&
classifyQrcodeInfo
.
getHasOpenLearningReport
())
{
if
(
classifyQrcodeInfo
.
getHasOpenLearningReport
()
!=
null
&&
classifyQrcodeInfo
.
getHasOpenLearningReport
())
{
reportOpen
=
true
;
reportOpen
=
true
;
}
}
...
@@ -444,12 +445,12 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -444,12 +445,12 @@ public class BookGuideBizImpl implements BookGuideBiz {
WeixinClockDto
weixinClockDto
=
weixinClockGroupClassifyDao
.
getClockBaseInfoByClassify
(
classifyQrcodeInfo
.
getClassifyId
());
WeixinClockDto
weixinClockDto
=
weixinClockGroupClassifyDao
.
getClockBaseInfoByClassify
(
classifyQrcodeInfo
.
getClassifyId
());
if
(
null
!=
weixinClockDto
&&
!
StringUtil
.
isEmpty
(
weixinClockDto
.
getClockGuide
())
&&
!
StringUtil
.
isEmpty
(
weixinClockDto
.
getClockKeyword
()))
{
if
(
null
!=
weixinClockDto
&&
!
StringUtil
.
isEmpty
(
weixinClockDto
.
getClockGuide
())
&&
!
StringUtil
.
isEmpty
(
weixinClockDto
.
getClockKeyword
()))
{
clockOpen
=
true
;
clockOpen
=
true
;
dto
.
setClockGuide
(
weixinClockDto
.
getClockGuide
());
dto
.
setClockKeyword
(
weixinClockDto
.
getClockKeyword
());
}
}
KeywordStatusDTO
dto
=
new
KeywordStatusDTO
();
dto
.
setReportOpen
(
reportOpen
);
dto
.
setReportOpen
(
reportOpen
);
dto
.
setRiddleOpen
(
riddleOpen
);
dto
.
setRiddleOpen
(
riddleOpen
);
dto
.
setClockOpen
(
clockOpen
);
dto
.
setClockOpen
(
clockOpen
);
dto
.
setClockKeyword
(
null
==
weixinClockDto
?
StringUtil
.
EMPTY
:
weixinClockDto
.
getClockKeyword
());
return
dto
;
return
dto
;
// if (reportOpen && riddleOpen && clockOpen) {
// if (reportOpen && riddleOpen && clockOpen) {
// SendWeixinRequestTools.sendTextMessage("关键词【学习报告】\n 获取个人专属学习报告,与群成员PK元气值\n" +
// SendWeixinRequestTools.sendTextMessage("关键词【学习报告】\n 获取个人专属学习报告,与群成员PK元气值\n" +
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dto/KeywordStatusDTO.java
View file @
36e807d6
...
@@ -23,4 +23,9 @@ public class KeywordStatusDTO {
...
@@ -23,4 +23,9 @@ public class KeywordStatusDTO {
*/
*/
private
String
clockKeyword
;
private
String
clockKeyword
;
/**
* 打卡引导语
*/
private
String
clockGuide
;
}
}
pcloud-service-book/src/main/resources/mapper/book/Book.Mapper.xml
View file @
36e807d6
...
@@ -637,6 +637,8 @@
...
@@ -637,6 +637,8 @@
AND b.IS_DELETE = 0
AND b.IS_DELETE = 0
AND bg.IS_DELETE = 0
AND bg.IS_DELETE = 0
AND bgc.is_delete = 0
AND bgc.is_delete = 0
AND b.BOOK_NAME NOT LIKE CONCAT('%','红榜','%')
AND CHAR_LENGTH(b.BOOK_NAME)>=8
GROUP BY b.BOOK_ID
GROUP BY b.BOOK_ID
ORDER BY bg.create_time DESC
ORDER BY bg.create_time DESC
</select>
</select>
...
@@ -1073,11 +1075,6 @@
...
@@ -1073,11 +1075,6 @@
BOOK B
BOOK B
ON
ON
A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
A.BOOK_ID = B.BOOK_ID AND A.IS_DELETE = 0 AND B.IS_DELETE = 0
AND
A.ADVISER_ID IN
<foreach
collection=
"adviserIds"
index=
"i"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
AND A.IS_MAIN_EDITOR = 1
AND A.IS_MAIN_EDITOR = 1
LEFT JOIN
LEFT JOIN
BOOK_TYPE T
BOOK_TYPE T
...
@@ -1098,8 +1095,16 @@
...
@@ -1098,8 +1095,16 @@
A.CHANNEL_ID = #{channelId}
A.CHANNEL_ID = #{channelId}
</if>
</if>
<if
test=
"bookName!=null"
>
<if
test=
"bookName!=null"
>
AND
AND (B.BOOK_NAME LIKE CONCAT('%',#{bookName},'%')
B.BOOK_NAME LIKE CONCAT('%',#{bookName},'%')
OR B.ISBN LIKE CONCAT(#{bookName},'%')
<if
test=
"adviserIds!=null and adviserIds.size()>0"
>
OR
A.ADVISER_ID in
<foreach
collection=
"adviserIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
${item}
</foreach>
</if>
)
</if>
</if>
<if
test=
"isbn!=null"
>
<if
test=
"isbn!=null"
>
AND
AND
...
...
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