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
Expand all
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
This diff is collapsed.
Click to expand it.
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 {
PushAddUserMessageDTO
pushAddUserMessageDTO
=
new
PushAddUserMessageDTO
();
pushAddUserMessageDTO
.
setWeixinGroupId
(
weixinGroupId
);
pushAddUserMessageDTO
.
setTime
(
System
.
currentTimeMillis
());
pushAddUserMessageDTO
.
setNickName
(
nickName
);
pushAddUserMessageDTO
.
setMemberCount
(
memberCount
);
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;
import
java.io.Serializable
;
import
lombok.Data
;
/**
* @author lily
* @date 2019/5/8 21:48
*/
@Data
public
class
PushAddUserMessageDTO
implements
Serializable
{
private
String
weixinGroupId
;
private
Long
time
;
public
String
getWeixinGroupId
()
{
return
weixinGroupId
;
}
public
void
setWeixinGroupId
(
String
weixinGroupId
)
{
this
.
weixinGroupId
=
weixinGroupId
;
}
public
Long
getTime
()
{
return
time
;
}
private
Integer
memberCount
;
public
void
setTime
(
Long
time
)
{
this
.
time
=
time
;
}
private
String
nickName
;
@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
;
import
com.pcloud.book.group.dto.PushAddUserMessageDTO
;
import
com.pcloud.book.keywords.vo.GuideVO
;
import
com.pcloud.book.keywords.vo.SetGuideVO
;
import
com.pcloud.book.keywords.vo.UpdateGuideVO
;
...
...
@@ -42,5 +43,5 @@ public interface BookGuideBiz {
* @Desr: 推送欢迎语消息
* @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
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.base.exception.BookBizException
;
import
com.pcloud.book.clock.check.BookClockCheck
;
import
com.pcloud.book.clock.dao.BookClockKeywordDao
;
...
...
@@ -14,6 +16,7 @@ import com.pcloud.book.group.dao.BookGroupDao;
import
com.pcloud.book.group.dao.GroupQrcodeDao
;
import
com.pcloud.book.group.dto.BookGroupDTO
;
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.GroupQrcode
;
import
com.pcloud.book.group.enums.TouchTypeEnum
;
...
...
@@ -35,21 +38,28 @@ import com.pcloud.book.keywords.vo.UpdateGuideVO;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.core.aspect.ParamLog
;
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.factory.annotation.Autowired
;
import
org.springframework.dao.DataIntegrityViolationException
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @author lily
* @date 2019/4/23 15:47
*/
@Slf4j
@Component
(
"bookGuideBiz"
)
public
class
BookGuideBizImpl
implements
BookGuideBiz
{
@Autowired
...
...
@@ -193,7 +203,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
@Override
@ParamLog
(
"推送欢迎语消息"
)
public
void
sendGuideMessage
(
String
weixinGroupId
)
{
public
void
sendGuideMessage
(
PushAddUserMessageDTO
pushAddUserMessageDTO
)
{
final
String
weixinGroupId
=
pushAddUserMessageDTO
.
getWeixinGroupId
();
//通过群id获取对应基本信息
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
bookGroupClassifyBiz
.
getClassifyQrcodeInfo
(
weixinGroupId
);
if
(
classifyQrcodeInfo
==
null
){
...
...
@@ -206,6 +217,36 @@ public class BookGuideBizImpl implements BookGuideBiz {
//获取推送消息机器人
String
robotId
=
wechatGroupConsr
.
getRobotIdByGroupId
(
weixinGroupId
);
//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
;
if
(
classifyGuide
!=
null
)
{
replyMessages
=
bookGuideReplyDao
.
getReplyMessage
(
classifyGuide
.
getId
());
...
...
@@ -216,7 +257,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
AccountSettingDto
wechatInfo
=
qrcodeSceneConsr
.
getWechatInfo
(
classifyQrcodeInfo
.
getChannelId
());
//获取关键词信息(改成10个了)
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
))
{
//获取群名称
GroupQrcodeBaseInfoVO
groupInfo
=
groupQrcodeBiz
.
getBaseById
(
classifyQrcodeInfo
.
getGroupQrcodeId
());
...
...
@@ -230,6 +271,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
//新增欢迎语应用触发记录
addGuideAppTouchRecord
(
replyMessages
,
weixinGroupId
,
classifyQrcodeInfo
.
getBookGroupId
(),
classifyQrcodeInfo
.
getClassifyId
());
}
//获取关键词信息(改成10个了)
SendWeixinRequestTools
.
sendKeywordsInfo
(
keywords
,
robotId
,
weixinGroupId
);
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
;
import
com.pcloud.appcenter.app.dto.AppDto
;
import
com.pcloud.book.base.exception.BookBizException
;
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.resource.ProductConsr
;
import
com.pcloud.book.consumer.wechatgroup.WechatGroupConsr
;
...
...
@@ -32,6 +34,7 @@ import com.pcloud.book.keywords.vo.ListKeywordVO;
import
com.pcloud.book.keywords.vo.SetKeywordVO
;
import
com.pcloud.book.keywords.vo.SetRankVO
;
import
com.pcloud.book.keywords.vo.UpdateKeywordVO
;
import
com.pcloud.channelcenter.base.constants.ChannelEnum
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.page.PageBeanNew
;
...
...
@@ -40,6 +43,7 @@ import com.pcloud.common.utils.DateUtils;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.cache.redis.JedisClusterUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.resourcecenter.product.dto.ProductDto
;
import
com.pcloud.wechatgroup.group.dto.RobotReplyDTO
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -80,6 +84,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
@Autowired
private
ProductConsr
productConsr
;
@Autowired
private
AppConsr
appConsr
;
@Autowired
private
AppTouchRecordDao
appTouchRecordDao
;
@Autowired
private
GroupQrcodeDao
groupQrcodeDao
;
...
...
@@ -162,7 +168,25 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
throw
new
BookBizException
(
BookBizException
.
PARAM_IS_ERROR
,
"该社群码不存在!"
);
}
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
();
BeanUtils
.
copyProperties
(
updateKeywordVO
,
keyword
);
...
...
@@ -171,7 +195,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
keywordDao
.
update
(
keyword
);
//上架商品
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
());
}
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> {
* 更新仓库值
* @param bookKeywordId
*/
void
updateIsWarehouse
(
Long
bookKeywordId
);
void
updateIsWarehouse
(
Long
bookKeywordId
,
Long
warehouseId
);
/**
* @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
;
import
com.google.common.collect.Maps
;
import
com.pcloud.book.keywords.dao.BookKeywordDao
;
import
com.pcloud.book.keywords.dto.KeywordDTO
;
import
com.pcloud.book.keywords.dto.ReplyKeywordDTO
;
...
...
@@ -73,8 +75,11 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book
}
@Override
public
void
updateIsWarehouse
(
Long
bookKeywordId
)
{
this
.
getSqlSession
().
update
(
"updateIsWarehouse"
,
bookKeywordId
);
public
void
updateIsWarehouse
(
Long
bookKeywordId
,
Long
warehouseId
)
{
final
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"bookKeywordId"
,
bookKeywordId
);
map
.
put
(
"warehouseId"
,
warehouseId
);
this
.
getSqlSession
().
update
(
"updateIsWarehouse"
,
map
);
}
@Override
...
...
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/PushAddUserMessageListemer.java
View file @
b9191630
...
...
@@ -37,7 +37,7 @@ public class PushAddUserMessageListemer {
if
(
time
<
5000
)
{
Thread
.
sleep
(
5000
-
time
);
}
bookGuideBiz
.
sendGuideMessage
(
pushAddUserMessageDTO
.
getWeixinGroupId
()
);
bookGuideBiz
.
sendGuideMessage
(
pushAddUserMessageDTO
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"发送欢迎语消息失败"
+
e
.
getMessage
(),
e
);
}
...
...
pcloud-service-book/src/main/resources/mapper/keywords/BookKeyword.Mapper.xml
View file @
b9191630
...
...
@@ -163,7 +163,7 @@
</select>
<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>
<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