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
b9191630
Commit
b9191630
authored
Jun 24, 2019
by
裴大威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1000948
parent
9854407b
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
155 additions
and
56 deletions
+155
-56
WechatGroupConsr.java
...om/pcloud/book/consumer/wechatgroup/WechatGroupConsr.java
+66
-25
GroupQrcodeBizImpl.java
...va/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
+2
-0
PushAddUserMessageDTO.java
...java/com/pcloud/book/group/dto/PushAddUserMessageDTO.java
+5
-21
BookGuideBiz.java
.../main/java/com/pcloud/book/keywords/biz/BookGuideBiz.java
+2
-1
BookGuideBizImpl.java
...a/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
+44
-2
BookKeywordBizImpl.java
...com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
+26
-2
BookKeywordDao.java
...ain/java/com/pcloud/book/keywords/dao/BookKeywordDao.java
+1
-1
BookKeywordDaoImpl.java
...com/pcloud/book/keywords/dao/impl/BookKeywordDaoImpl.java
+7
-2
PushAddUserMessageListemer.java
.../com/pcloud/book/mq/topic/PushAddUserMessageListemer.java
+1
-1
BookKeyword.Mapper.xml
...src/main/resources/mapper/keywords/BookKeyword.Mapper.xml
+1
-1
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/consumer/wechatgroup/WechatGroupConsr.java
View file @
b9191630
package
com
.
pcloud
.
book
.
consumer
.
wechatgroup
;
package
com
.
pcloud
.
book
.
consumer
.
wechatgroup
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.ResponseHandleUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupMemberStatisDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.group.dto.GroupRobotDTO
;
import
com.pcloud.wechatgroup.group.dto.RobotReplyDTO
;
import
com.pcloud.wechatgroup.group.dto.RobotReplyDTO
;
import
com.pcloud.wechatgroup.group.service.GroupMemberService
;
import
com.pcloud.wechatgroup.group.service.GroupMemberService
;
import
com.pcloud.wechatgroup.message.dto.GroupChatCountDTO
;
import
com.pcloud.wechatgroup.message.dto.GroupChatCountDTO
;
import
com.pcloud.wechatgroup.message.service.MessageService
;
import
com.pcloud.wechatgroup.message.service.MessageService
;
import
com.pcloud.wechatgroup.monitor.service.MonitorService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -23,38 +22,80 @@ import java.util.HashMap;
...
@@ -23,38 +22,80 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
lombok.extern.slf4j.Slf4j
;
@Slf4j
@Component
(
"wechatGroupConsr"
)
@Component
(
"wechatGroupConsr"
)
public
class
WechatGroupConsr
{
public
class
WechatGroupConsr
{
/**
* logger
*/
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ProductConsr
.
class
);
@Autowired
@Autowired
private
GroupMemberService
groupMemberService
;
private
GroupMemberService
groupMemberService
;
@Autowired
@Autowired
private
MessageService
messageService
;
private
MessageService
messageService
;
@Autowired
private
MonitorService
monitorService
;
/**
* 是否黑名单
*/
public
Boolean
isKickUser
(
String
nickName
,
String
wxGroupId
)
throws
BizException
{
log
.
info
(
"【是否黑名单,<START>.[nickName]={}, wxGroupId:{}"
,
nickName
,
wxGroupId
);
if
(
StringUtil
.
isBlank
(
nickName
)
||
StringUtil
.
isBlank
(
wxGroupId
))
{
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseResponse
(
monitorService
.
isKickUser
(
nickName
,
wxGroupId
),
Boolean
.
class
);
}
catch
(
BizException
e
)
{
log
.
warn
(
"是否黑名单失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
log
.
error
(
"是否黑名单.[isKickUser]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
log
.
info
(
"【是否黑名单,<END>"
);
}
}
/**
/**
* 根据群号获取机器人微信号
* 根据群号获取机器人微信号
*/
*/
public
String
getRobotIdByGroupId
(
String
groupId
)
throws
BizException
{
public
String
getRobotIdByGroupId
(
String
groupId
)
throws
BizException
{
LOGGER
.
info
(
"【根据群号获取机器人微信号,<START>.[groupId]="
+
groupId
+
"]"
);
log
.
info
(
"【根据群号获取机器人微信号,<START>.[groupId]="
+
groupId
+
"]"
);
if
(
groupId
==
null
)
{
if
(
groupId
==
null
)
{
return
null
;
return
null
;
}
}
try
{
try
{
return
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getRobotIdByGroupId
(
groupId
),
String
.
class
);
return
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getRobotIdByGroupId
(
groupId
),
String
.
class
);
}
catch
(
BizException
e
)
{
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"根据群号获取机器人微信号失败:"
+
e
.
getMessage
(),
e
);
log
.
warn
(
"根据群号获取机器人微信号失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
log
.
error
(
"根据群号获取机器人微信号.[getRobotIdByGroupId]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
log
.
info
(
"【根据群号获取机器人微信号,<END>"
);
}
}
/**
* 根据昵称获取微信id
*/
public
List
<
String
>
getWxUserIdsByNickName
(
String
nickName
)
throws
BizException
{
log
.
info
(
"【根据昵称获取微信id,<START>.[nickName]="
+
nickName
+
"]"
);
if
(
StringUtil
.
isBlank
(
nickName
))
{
return
null
;
}
try
{
return
ResponseHandleUtil
.
parseList
(
groupMemberService
.
getWxUserIdsByNickName
(
nickName
),
String
.
class
);
}
catch
(
BizException
e
)
{
log
.
warn
(
"根据昵称获取微信id失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"根据群号获取机器人微信号.[getRobotIdByGroupId
]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"根据昵称获取微信id.[getWxUserIdsByNickName
]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
}
finally
{
LOGGER
.
info
(
"【根据群号获取机器人微信号
,<END>"
);
log
.
info
(
"【根据昵称获取微信id
,<END>"
);
}
}
}
}
...
@@ -66,7 +107,7 @@ public class WechatGroupConsr {
...
@@ -66,7 +107,7 @@ public class WechatGroupConsr {
try
{
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
mapGroupMemberStatisInfo
(
weixinGroupIds
),
String
.
class
,
GroupMemberStatisDTO
.
class
);
return
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
mapGroupMemberStatisInfo
(
weixinGroupIds
),
String
.
class
,
GroupMemberStatisDTO
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取累计进群人数与今日进群人数.[listGroupMemberStatisInfo]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取累计进群人数与今日进群人数.[listGroupMemberStatisInfo]:"
+
e
.
getMessage
(),
e
);
}
}
return
null
;
return
null
;
}
}
...
@@ -79,7 +120,7 @@ public class WechatGroupConsr {
...
@@ -79,7 +120,7 @@ public class WechatGroupConsr {
try
{
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
messageService
.
getChatCountByGroup
(
groupQrcodeIds
,
bookGroupId
),
Long
.
class
,
GroupChatCountDTO
.
class
);
return
ResponseHandleUtil
.
parseMapResponse
(
messageService
.
getChatCountByGroup
(
groupQrcodeIds
,
bookGroupId
),
Long
.
class
,
GroupChatCountDTO
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取活跃人数与总发言数.[getChatCountByGroup]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取活跃人数与总发言数.[getChatCountByGroup]:"
+
e
.
getMessage
(),
e
);
}
}
return
null
;
return
null
;
}
}
...
@@ -92,7 +133,7 @@ public class WechatGroupConsr {
...
@@ -92,7 +133,7 @@ public class WechatGroupConsr {
try
{
try
{
return
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
mapOutGroupRate
(
wxGroupIds
),
String
.
class
,
BigDecimal
.
class
);
return
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
mapOutGroupRate
(
wxGroupIds
),
String
.
class
,
BigDecimal
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取退群率失败.[mapOutGroupRate]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取退群率失败.[mapOutGroupRate]:"
+
e
.
getMessage
(),
e
);
}
}
return
null
;
return
null
;
}
}
...
@@ -102,7 +143,7 @@ public class WechatGroupConsr {
...
@@ -102,7 +143,7 @@ public class WechatGroupConsr {
try
{
try
{
groupMemberService
.
addGroupManagers
(
wxGroupId
,
altId
);
groupMemberService
.
addGroupManagers
(
wxGroupId
,
altId
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"上传群二维码时根据群ID添加群管理员(群主,机器人等)失败.[addGroupManagers]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"上传群二维码时根据群ID添加群管理员(群主,机器人等)失败.[addGroupManagers]:"
+
e
.
getMessage
(),
e
);
}
}
}
}
...
@@ -112,7 +153,7 @@ public class WechatGroupConsr {
...
@@ -112,7 +153,7 @@ public class WechatGroupConsr {
List
<
String
>
wxids
=
ResponseHandleUtil
.
parseListResponse
(
groupMemberService
.
listAllRobotWxId
(),
String
.
class
);
List
<
String
>
wxids
=
ResponseHandleUtil
.
parseListResponse
(
groupMemberService
.
listAllRobotWxId
(),
String
.
class
);
return
wxids
;
return
wxids
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取所有机器人微信号失败.[listAllRobotWxId]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取所有机器人微信号失败.[listAllRobotWxId]:"
+
e
.
getMessage
(),
e
);
}
}
return
null
;
return
null
;
}
}
...
@@ -122,7 +163,7 @@ public class WechatGroupConsr {
...
@@ -122,7 +163,7 @@ public class WechatGroupConsr {
try
{
try
{
groupMemberService
.
addFirstRobotReplyRecord
(
robotReplyDTO
);
groupMemberService
.
addFirstRobotReplyRecord
(
robotReplyDTO
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"设置第一个关键词回复失败.[addFirstRobotReplyRecord]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"设置第一个关键词回复失败.[addFirstRobotReplyRecord]:"
+
e
.
getMessage
(),
e
);
}
}
}
}
...
@@ -131,7 +172,7 @@ public class WechatGroupConsr {
...
@@ -131,7 +172,7 @@ public class WechatGroupConsr {
try
{
try
{
return
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getRobotInfoByWxUserId
(
wxRobotId
),
GroupRobotDTO
.
class
);
return
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getRobotInfoByWxUserId
(
wxRobotId
),
GroupRobotDTO
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取机器人信息失败.[getRobotInfoByWxUserId]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取机器人信息失败.[getRobotInfoByWxUserId]:"
+
e
.
getMessage
(),
e
);
}
}
return
null
;
return
null
;
}
}
...
@@ -140,7 +181,7 @@ public class WechatGroupConsr {
...
@@ -140,7 +181,7 @@ public class WechatGroupConsr {
* 根据群号获取群主微信号
* 根据群号获取群主微信号
*/
*/
public
String
getMasterIdByGroupId
(
String
groupId
)
throws
BizException
{
public
String
getMasterIdByGroupId
(
String
groupId
)
throws
BizException
{
LOGGER
.
info
(
"【根据群号获取群主微信号,<START>.[groupId]="
+
groupId
+
"]"
);
log
.
info
(
"【根据群号获取群主微信号,<START>.[groupId]="
+
groupId
+
"]"
);
String
masterId
=
null
;
String
masterId
=
null
;
if
(
groupId
==
null
)
{
if
(
groupId
==
null
)
{
return
null
;
return
null
;
...
@@ -149,13 +190,13 @@ public class WechatGroupConsr {
...
@@ -149,13 +190,13 @@ public class WechatGroupConsr {
masterId
=
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getMasterIdByGroupId
(
groupId
),
String
.
class
);
masterId
=
ResponseHandleUtil
.
parseResponse
(
groupMemberService
.
getMasterIdByGroupId
(
groupId
),
String
.
class
);
return
masterId
;
return
masterId
;
}
catch
(
BizException
e
)
{
}
catch
(
BizException
e
)
{
LOGGER
.
warn
(
"根据群号获取群主微信号失败:"
+
e
.
getMessage
(),
e
);
log
.
warn
(
"根据群号获取群主微信号失败:"
+
e
.
getMessage
(),
e
);
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
throw
new
BizException
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"根据群号获取群主微信号.[getMasterIdByGroupId]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"根据群号获取群主微信号.[getMasterIdByGroupId]:"
+
e
.
getMessage
(),
e
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
throw
new
BookBizException
(
BookBizException
.
INVOKE_RES_ERROR
,
"服务内部错误,请稍后重试"
);
}
finally
{
}
finally
{
LOGGER
.
info
(
"【根据群号获取群主微信号,<END>--masterId="
+
masterId
);
log
.
info
(
"【根据群号获取群主微信号,<END>--masterId="
+
masterId
);
}
}
}
}
...
@@ -165,7 +206,7 @@ public class WechatGroupConsr {
...
@@ -165,7 +206,7 @@ public class WechatGroupConsr {
try
{
try
{
map
=
ResponseHandleUtil
.
parseMapResponse
(
messageService
.
get7DayActiveUserCountByClassify
(
classifyIds
),
Long
.
class
,
Integer
.
class
);
map
=
ResponseHandleUtil
.
parseMapResponse
(
messageService
.
get7DayActiveUserCountByClassify
(
classifyIds
),
Long
.
class
,
Integer
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"获取最近7天活跃人数失败.[get7DayActiveUserCountByClassify]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"获取最近7天活跃人数失败.[get7DayActiveUserCountByClassify]:"
+
e
.
getMessage
(),
e
);
}
}
if
(
map
==
null
)
{
if
(
map
==
null
)
{
return
new
HashMap
<>();
return
new
HashMap
<>();
...
@@ -183,7 +224,7 @@ public class WechatGroupConsr {
...
@@ -183,7 +224,7 @@ public class WechatGroupConsr {
try
{
try
{
map
=
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
getSendDailyRobotByGroupIds
(
weixinIds
),
String
.
class
,
String
.
class
);
map
=
ResponseHandleUtil
.
parseMapResponse
(
groupMemberService
.
getSendDailyRobotByGroupIds
(
weixinIds
),
String
.
class
,
String
.
class
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"根据群id集合批量获取发消息的小号.[getRobotIdByWeixinIdBatch]:"
+
e
.
getMessage
(),
e
);
log
.
error
(
"根据群id集合批量获取发消息的小号.[getRobotIdByWeixinIdBatch]:"
+
e
.
getMessage
(),
e
);
}
}
if
(
map
==
null
)
{
if
(
map
==
null
)
{
return
new
HashMap
<>();
return
new
HashMap
<>();
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/GroupQrcodeBizImpl.java
View file @
b9191630
...
@@ -215,6 +215,8 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
...
@@ -215,6 +215,8 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
PushAddUserMessageDTO
pushAddUserMessageDTO
=
new
PushAddUserMessageDTO
();
PushAddUserMessageDTO
pushAddUserMessageDTO
=
new
PushAddUserMessageDTO
();
pushAddUserMessageDTO
.
setWeixinGroupId
(
weixinGroupId
);
pushAddUserMessageDTO
.
setWeixinGroupId
(
weixinGroupId
);
pushAddUserMessageDTO
.
setTime
(
System
.
currentTimeMillis
());
pushAddUserMessageDTO
.
setTime
(
System
.
currentTimeMillis
());
pushAddUserMessageDTO
.
setNickName
(
nickName
);
pushAddUserMessageDTO
.
setMemberCount
(
memberCount
);
bookMQProducer
.
pushAddUserMessageTopic
(
pushAddUserMessageDTO
);
bookMQProducer
.
pushAddUserMessageTopic
(
pushAddUserMessageDTO
);
}
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dto/PushAddUserMessageDTO.java
View file @
b9191630
...
@@ -2,36 +2,20 @@ package com.pcloud.book.group.dto;
...
@@ -2,36 +2,20 @@ package com.pcloud.book.group.dto;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
lombok.Data
;
/**
/**
* @author lily
* @author lily
* @date 2019/5/8 21:48
* @date 2019/5/8 21:48
*/
*/
@Data
public
class
PushAddUserMessageDTO
implements
Serializable
{
public
class
PushAddUserMessageDTO
implements
Serializable
{
private
String
weixinGroupId
;
private
String
weixinGroupId
;
private
Long
time
;
private
Long
time
;
public
String
getWeixinGroupId
()
{
private
Integer
memberCount
;
return
weixinGroupId
;
}
public
void
setWeixinGroupId
(
String
weixinGroupId
)
{
this
.
weixinGroupId
=
weixinGroupId
;
}
public
Long
getTime
()
{
return
time
;
}
public
void
setTime
(
Long
time
)
{
private
String
nickName
;
this
.
time
=
time
;
}
@Override
public
String
toString
()
{
return
"PushAddUserMessageDTO{"
+
"weixinGroupId='"
+
weixinGroupId
+
'\''
+
", time="
+
time
+
'}'
;
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/BookGuideBiz.java
View file @
b9191630
package
com
.
pcloud
.
book
.
keywords
.
biz
;
package
com
.
pcloud
.
book
.
keywords
.
biz
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.keywords.vo.GuideVO
;
import
com.pcloud.book.keywords.vo.GuideVO
;
import
com.pcloud.book.keywords.vo.SetGuideVO
;
import
com.pcloud.book.keywords.vo.SetGuideVO
;
import
com.pcloud.book.keywords.vo.UpdateGuideVO
;
import
com.pcloud.book.keywords.vo.UpdateGuideVO
;
...
@@ -42,5 +43,5 @@ public interface BookGuideBiz {
...
@@ -42,5 +43,5 @@ public interface BookGuideBiz {
* @Desr: 推送欢迎语消息
* @Desr: 推送欢迎语消息
* @Date:2019/5/5 11:22
* @Date:2019/5/5 11:22
*/
*/
void
sendGuideMessage
(
String
weixinGroupId
);
void
sendGuideMessage
(
PushAddUserMessageDTO
pushAddUserMessageDTO
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookGuideBizImpl.java
View file @
b9191630
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
...
@@ -14,6 +16,7 @@ import com.pcloud.book.group.dao.BookGroupDao;
...
@@ -14,6 +16,7 @@ import com.pcloud.book.group.dao.BookGroupDao;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
com.pcloud.book.group.dto.GroupClassifyQrcodeDTO
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.group.entity.AppTouchRecord
;
import
com.pcloud.book.group.entity.AppTouchRecord
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.entity.GroupQrcode
;
import
com.pcloud.book.group.enums.TouchTypeEnum
;
import
com.pcloud.book.group.enums.TouchTypeEnum
;
...
@@ -35,21 +38,28 @@ import com.pcloud.book.keywords.vo.UpdateGuideVO;
...
@@ -35,21 +38,28 @@ import com.pcloud.book.keywords.vo.UpdateGuideVO;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.sdk.wxgroup.GroupInfoVO
;
import
com.sdk.wxgroup.WxGroupSDK
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.DataIntegrityViolationException
;
import
org.springframework.dao.DataIntegrityViolationException
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
lombok.extern.slf4j.Slf4j
;
/**
/**
* @author lily
* @author lily
* @date 2019/4/23 15:47
* @date 2019/4/23 15:47
*/
*/
@Slf4j
@Component
(
"bookGuideBiz"
)
@Component
(
"bookGuideBiz"
)
public
class
BookGuideBizImpl
implements
BookGuideBiz
{
public
class
BookGuideBizImpl
implements
BookGuideBiz
{
@Autowired
@Autowired
...
@@ -193,7 +203,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -193,7 +203,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
@Override
@Override
@ParamLog
(
"推送欢迎语消息"
)
@ParamLog
(
"推送欢迎语消息"
)
public
void
sendGuideMessage
(
String
weixinGroupId
)
{
public
void
sendGuideMessage
(
PushAddUserMessageDTO
pushAddUserMessageDTO
)
{
final
String
weixinGroupId
=
pushAddUserMessageDTO
.
getWeixinGroupId
();
//通过群id获取对应基本信息
//通过群id获取对应基本信息
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
bookGroupClassifyBiz
.
getClassifyQrcodeInfo
(
weixinGroupId
);
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
bookGroupClassifyBiz
.
getClassifyQrcodeInfo
(
weixinGroupId
);
if
(
classifyQrcodeInfo
==
null
){
if
(
classifyQrcodeInfo
==
null
){
...
@@ -206,6 +217,36 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -206,6 +217,36 @@ public class BookGuideBizImpl implements BookGuideBiz {
//获取推送消息机器人
//获取推送消息机器人
String
robotId
=
wechatGroupConsr
.
getRobotIdByGroupId
(
weixinGroupId
);
String
robotId
=
wechatGroupConsr
.
getRobotIdByGroupId
(
weixinGroupId
);
//String robotId = "wxid_e6zsl8oohcnl22";
//String robotId = "wxid_e6zsl8oohcnl22";
// 判断是否需要发送
boolean
canSend
=
false
;
// 查看群成员
GroupInfoVO
groupInfoVO
=
WxGroupSDK
.
getGroupInfo
(
weixinGroupId
,
robotId
);
if
(!
CollectionUtils
.
isEmpty
(
groupInfoVO
.
getIdList
()))
{
// 查看该用户weixinid
final
List
<
String
>
nickName
=
wechatGroupConsr
.
getWxUserIdsByNickName
(
pushAddUserMessageDTO
.
getNickName
());
if
(!
CollectionUtils
.
isEmpty
(
nickName
))
{
final
Map
<
String
,
Boolean
>
map
=
Maps
.
newHashMap
();
for
(
String
s
:
groupInfoVO
.
getIdList
())
{
map
.
put
(
s
,
true
);
}
for
(
String
s
:
nickName
)
{
if
(
map
.
get
(
s
))
{
// 若在群设置true
canSend
=
true
;
break
;
}
}
}
}
// 判断是否黑名单
final
Boolean
kickUser
=
wechatGroupConsr
.
isKickUser
(
pushAddUserMessageDTO
.
getNickName
(),
weixinGroupId
);
log
.
info
(
"[推送欢迎语消息]:pushAddUserMessageDTO:{},kickUser:{}"
,
pushAddUserMessageDTO
,
kickUser
);
// 在群,且非黑名单
canSend
=
canSend
&&
!
kickUser
;
if
(!
canSend
)
{
log
.
info
(
"[推送欢迎语消息]:不推送"
);
return
;
}
List
<
ReplyMessageVO
>
replyMessages
=
null
;
List
<
ReplyMessageVO
>
replyMessages
=
null
;
if
(
classifyGuide
!=
null
)
{
if
(
classifyGuide
!=
null
)
{
replyMessages
=
bookGuideReplyDao
.
getReplyMessage
(
classifyGuide
.
getId
());
replyMessages
=
bookGuideReplyDao
.
getReplyMessage
(
classifyGuide
.
getId
());
...
@@ -216,7 +257,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -216,7 +257,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
AccountSettingDto
wechatInfo
=
qrcodeSceneConsr
.
getWechatInfo
(
classifyQrcodeInfo
.
getChannelId
());
AccountSettingDto
wechatInfo
=
qrcodeSceneConsr
.
getWechatInfo
(
classifyQrcodeInfo
.
getChannelId
());
//获取关键词信息(改成10个了)
//获取关键词信息(改成10个了)
List
<
KeywordDTO
>
keywords
=
bookKeywordBiz
.
listFiveKeyword
(
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getBookGroupId
());
List
<
KeywordDTO
>
keywords
=
bookKeywordBiz
.
listFiveKeyword
(
classifyQrcodeInfo
.
getClassifyId
(),
classifyQrcodeInfo
.
getBookGroupId
());
Boolean
isHaveKeywords
=
ListUtils
.
isEmpty
(
keywords
)
?
false
:
true
;
Boolean
isHaveKeywords
=
!
ListUtils
.
isEmpty
(
keywords
)
;
if
(
ListUtils
.
isEmpty
(
replyMessages
))
{
if
(
ListUtils
.
isEmpty
(
replyMessages
))
{
//获取群名称
//获取群名称
GroupQrcodeBaseInfoVO
groupInfo
=
groupQrcodeBiz
.
getBaseById
(
classifyQrcodeInfo
.
getGroupQrcodeId
());
GroupQrcodeBaseInfoVO
groupInfo
=
groupQrcodeBiz
.
getBaseById
(
classifyQrcodeInfo
.
getGroupQrcodeId
());
...
@@ -230,6 +271,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
...
@@ -230,6 +271,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
//新增欢迎语应用触发记录
//新增欢迎语应用触发记录
addGuideAppTouchRecord
(
replyMessages
,
weixinGroupId
,
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
());
addGuideAppTouchRecord
(
replyMessages
,
weixinGroupId
,
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
());
}
}
//获取关键词信息(改成10个了)
SendWeixinRequestTools
.
sendKeywordsInfo
(
keywords
,
robotId
,
weixinGroupId
);
SendWeixinRequestTools
.
sendKeywordsInfo
(
keywords
,
robotId
,
weixinGroupId
);
if
(
bookGuide
!=
null
&&
bookGuide
.
getIsRecommend
()
!=
null
&&
bookGuide
.
getIsRecommend
()
==
1
)
{
if
(
bookGuide
!=
null
&&
bookGuide
.
getIsRecommend
()
!=
null
&&
bookGuide
.
getIsRecommend
()
==
1
)
{
//推送公众号消息
//推送公众号消息
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/biz/impl/BookKeywordBizImpl.java
View file @
b9191630
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
package
com
.
pcloud
.
book
.
keywords
.
biz
.
impl
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.book.biz.BookKeywordWarehouseBiz
;
import
com.pcloud.book.book.biz.BookKeywordWarehouseBiz
;
import
com.pcloud.book.consumer.app.AppConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.channel.QrcodeSceneConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.resource.ProductConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
...
@@ -32,6 +34,7 @@ import com.pcloud.book.keywords.vo.ListKeywordVO;
...
@@ -32,6 +34,7 @@ import com.pcloud.book.keywords.vo.ListKeywordVO;
import
com.pcloud.book.keywords.vo.SetKeywordVO
;
import
com.pcloud.book.keywords.vo.SetKeywordVO
;
import
com.pcloud.book.keywords.vo.SetRankVO
;
import
com.pcloud.book.keywords.vo.SetRankVO
;
import
com.pcloud.book.keywords.vo.UpdateKeywordVO
;
import
com.pcloud.book.keywords.vo.UpdateKeywordVO
;
import
com.pcloud.channelcenter.base.constants.ChannelEnum
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageBeanNew
;
...
@@ -40,6 +43,7 @@ import com.pcloud.common.utils.DateUtils;
...
@@ -40,6 +43,7 @@ import com.pcloud.common.utils.DateUtils;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.wechatgroup.group.dto.RobotReplyDTO
;
import
com.pcloud.wechatgroup.group.dto.RobotReplyDTO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -80,6 +84,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -80,6 +84,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
@Autowired
@Autowired
private
ProductConsr
productConsr
;
private
ProductConsr
productConsr
;
@Autowired
@Autowired
private
AppConsr
appConsr
;
@Autowired
private
AppTouchRecordDao
appTouchRecordDao
;
private
AppTouchRecordDao
appTouchRecordDao
;
@Autowired
@Autowired
private
GroupQrcodeDao
groupQrcodeDao
;
private
GroupQrcodeDao
groupQrcodeDao
;
...
@@ -162,7 +168,25 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -162,7 +168,25 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"该社群码不存在!"
);
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"该社群码不存在!"
);
}
}
if
(
null
!=
updateKeywordVO
.
getAddWarehouse
()
&&
1
==
updateKeywordVO
.
getAddWarehouse
())
{
if
(
null
!=
updateKeywordVO
.
getAddWarehouse
()
&&
1
==
updateKeywordVO
.
getAddWarehouse
())
{
this
.
bookKeywordDao
.
updateIsWarehouse
(
updateKeywordVO
.
getBookKeywordId
());
SetKeywordVO
v
=
new
SetKeywordVO
();
BeanUtils
.
copyProperties
(
updateKeywordVO
,
v
);
if
(
ChannelEnum
.
APP
.
value
.
equals
(
updateKeywordVO
.
getServeType
()))
{
final
AppDto
baseById
=
appConsr
.
getBaseById
(
updateKeywordVO
.
getServeId
());
if
(
null
==
baseById
)
{
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"应用不存在"
);
}
v
.
setTypeCode
(
baseById
.
getTypeCode
());
}
if
(
ChannelEnum
.
PRODUCT
.
value
.
equals
(
updateKeywordVO
.
getServeType
()))
{
final
ProductDto
proBaseById
=
productConsr
.
getProBaseById
(
updateKeywordVO
.
getServeId
());
if
(
null
==
proBaseById
)
{
throw
new
BookBizException
(
BookBizException
.
ID_NOT_EXIST
,
"作品不存在"
);
}
v
.
setTypeCode
(
proBaseById
.
getProductTypeCode
());
}
v
.
setUserId
(
partyId
);
final
Long
warehouseId
=
this
.
bookKeywordWarehouseBiz
.
addBookKeyword
(
v
);
this
.
bookKeywordDao
.
updateIsWarehouse
(
updateKeywordVO
.
getBookKeywordId
(),
warehouseId
);
}
}
Keyword
keyword
=
new
Keyword
();
Keyword
keyword
=
new
Keyword
();
BeanUtils
.
copyProperties
(
updateKeywordVO
,
keyword
);
BeanUtils
.
copyProperties
(
updateKeywordVO
,
keyword
);
...
@@ -171,7 +195,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
...
@@ -171,7 +195,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
keywordDao
.
update
(
keyword
);
keywordDao
.
update
(
keyword
);
//上架商品
//上架商品
List
<
Long
>
productIds
=
new
ArrayList
<>();
List
<
Long
>
productIds
=
new
ArrayList
<>();
if
(
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
())
&&
"PRODUCT"
.
equalsIgnoreCase
(
keyword
.
getServeType
()))
{
if
(
ReplyTypeEnum
.
APP
.
value
.
equals
(
keyword
.
getReplyType
())
&&
ChannelEnum
.
PRODUCT
.
value
.
equalsIgnoreCase
(
keyword
.
getServeType
()))
{
productIds
.
add
(
keyword
.
getServeId
());
productIds
.
add
(
keyword
.
getServeId
());
}
}
productConsr
.
productAutoOnShelves
(
bookGroupDTO
.
getChannelId
(),
productIds
);
productConsr
.
productAutoOnShelves
(
bookGroupDTO
.
getChannelId
(),
productIds
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/BookKeywordDao.java
View file @
b9191630
...
@@ -67,7 +67,7 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> {
...
@@ -67,7 +67,7 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> {
* 更新仓库值
* 更新仓库值
* @param bookKeywordId
* @param bookKeywordId
*/
*/
void
updateIsWarehouse
(
Long
bookKeywordId
);
void
updateIsWarehouse
(
Long
bookKeywordId
,
Long
warehouseId
);
/**
/**
* @Author:lili
* @Author:lili
...
...
pcloud-service-book/src/main/java/com/pcloud/book/keywords/dao/impl/BookKeywordDaoImpl.java
View file @
b9191630
package
com
.
pcloud
.
book
.
keywords
.
dao
.
impl
;
package
com
.
pcloud
.
book
.
keywords
.
dao
.
impl
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.keywords.dao.BookKeywordDao
;
import
com.pcloud.book.keywords.dao.BookKeywordDao
;
import
com.pcloud.book.keywords.dto.KeywordDTO
;
import
com.pcloud.book.keywords.dto.KeywordDTO
;
import
com.pcloud.book.keywords.dto.ReplyKeywordDTO
;
import
com.pcloud.book.keywords.dto.ReplyKeywordDTO
;
...
@@ -73,8 +75,11 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book
...
@@ -73,8 +75,11 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book
}
}
@Override
@Override
public
void
updateIsWarehouse
(
Long
bookKeywordId
)
{
public
void
updateIsWarehouse
(
Long
bookKeywordId
,
Long
warehouseId
)
{
this
.
getSqlSession
().
update
(
"updateIsWarehouse"
,
bookKeywordId
);
final
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"bookKeywordId"
,
bookKeywordId
);
map
.
put
(
"warehouseId"
,
warehouseId
);
this
.
getSqlSession
().
update
(
"updateIsWarehouse"
,
map
);
}
}
@Override
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/PushAddUserMessageListemer.java
View file @
b9191630
...
@@ -37,7 +37,7 @@ public class PushAddUserMessageListemer {
...
@@ -37,7 +37,7 @@ public class PushAddUserMessageListemer {
if
(
time
<
5000
)
{
if
(
time
<
5000
)
{
Thread
.
sleep
(
5000
-
time
);
Thread
.
sleep
(
5000
-
time
);
}
}
bookGuideBiz
.
sendGuideMessage
(
pushAddUserMessageDTO
.
getWeixinGroupId
()
);
bookGuideBiz
.
sendGuideMessage
(
pushAddUserMessageDTO
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"发送欢迎语消息失败"
+
e
.
getMessage
(),
e
);
LOGGER
.
error
(
"发送欢迎语消息失败"
+
e
.
getMessage
(),
e
);
}
}
...
...
pcloud-service-book/src/main/resources/mapper/keywords/BookKeyword.Mapper.xml
View file @
b9191630
...
@@ -163,7 +163,7 @@
...
@@ -163,7 +163,7 @@
</select>
</select>
<update
id=
"updateIsWarehouse"
parameterType=
"long"
>
<update
id=
"updateIsWarehouse"
parameterType=
"long"
>
update book_keyword set is_warehouse =
1
where id = #{bookKeywordId}
update book_keyword set is_warehouse =
1, warehouse_id = #{warehouseId}
where id = #{bookKeywordId}
</update>
</update>
<select
id=
"getByBookKeyword"
resultType=
"KeywordVO"
parameterType=
"Long"
>
<select
id=
"getByBookKeyword"
resultType=
"KeywordVO"
parameterType=
"Long"
>
...
...
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