Commit a7d86553 by 裴大威

feat 关键词、欢迎语收发一体

parent 1746440b
......@@ -74,7 +74,7 @@ public interface GroupQrcodeBiz {
* @Desr:新增一个用户
* @Date:2019/4/28 14:45
*/
void addOneUser(String wechatGroupId, Integer memberCount, String nickName);
void addOneUser(String wechatGroupId, Integer memberCount, String nickName, String robotId);
/**
* @Author:lili
......
......@@ -216,7 +216,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
@Override
@ParamLog("新增一个用户")
public void addOneUser(String weixinGroupId, Integer memberCount, String nickName) {
public void addOneUser(String weixinGroupId, Integer memberCount, String nickName, String robotId) {
String robotIdByGroupId = wechatGroupConsr.getRobotIdByGroupId(weixinGroupId);
if(robotIdByGroupId != null){
Integer peopleCounts = WxGroupSDK.getPeopleCounts(weixinGroupId, robotIdByGroupId);
......@@ -263,6 +263,7 @@ public class GroupQrcodeBizImpl implements GroupQrcodeBiz {
pushAddUserMessageDTO.setTime(System.currentTimeMillis());
pushAddUserMessageDTO.setNickName(nickName);
pushAddUserMessageDTO.setMemberCount(memberCount);
pushAddUserMessageDTO.setRobotId(robotId);
bookMQProducer.pushAddUserMessageTopic(pushAddUserMessageDTO);
}
......
......@@ -18,4 +18,6 @@ public class PushAddUserMessageDTO implements Serializable {
private String nickName;
private String robotId;
}
......@@ -79,7 +79,7 @@ public class GroupQrcodeFacadeImpl implements GroupQrcodeFacade {
@GetMapping("addUser")
ResponseDto<?> addUser(@RequestParam("weixinGroupId") String weixinGroupId, @RequestParam("userNumber") Integer userNumber)
throws BizException{
groupQrcodeBiz.addOneUser(weixinGroupId, userNumber, null);
groupQrcodeBiz.addOneUser(weixinGroupId, userNumber, null, null);
return new ResponseDto<>();
}
......
......@@ -71,7 +71,7 @@ public interface BookKeywordBiz {
* @Desr: 回复关键词消息
* @Date:2019/5/5 16:28
*/
void sendKeywordMessage(String content, String weixinGroupId, String userWxId);
void sendKeywordMessage(String content, String weixinGroupId, String userWxId, String robotId);
/**
* 关键词统计
......
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;
......@@ -38,15 +36,13 @@ 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 com.pcloud.common.utils.string.StringUtil;
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;
......@@ -219,7 +215,11 @@ public class BookGuideBizImpl implements BookGuideBiz {
//获取该分类是否设置过欢迎语
GuideDTO classifyGuide = getBaseInfo(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId());
//获取推送消息机器人
String robotId = wechatGroupConsr.getRobotIdByGroupId(weixinGroupId);
String robotId = pushAddUserMessageDTO.getRobotId();
if(StringUtil.isBlank(robotId)) {
log.info("[关键词消息回复] robotId is null robotId:{},weixinGroupId:{}", robotId, weixinGroupId);
robotId = wechatGroupConsr.getRobotIdByGroupId(weixinGroupId);
}
//String robotId = "wxid_e6zsl8oohcnl22";
// 判断是否需要发送
// boolean canSend = false;
......
......@@ -34,7 +34,6 @@ 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.book.util.properties.BookProps;
import com.pcloud.channelcenter.base.constants.ChannelEnum;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.core.aspect.ParamLog;
......@@ -259,7 +258,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
@Override
@ParamLog("关键词消息回复")
public void sendKeywordMessage(String content, String weixinGroupId, String userWxId) {
public void sendKeywordMessage(String content, String weixinGroupId, String userWxId, String robotId) {
//简单过滤非关键词的词
if (StringUtil.isEmpty(content) || content.length() > 20) {
return;
......@@ -307,9 +306,11 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
log.info("[接收用户发送文本消息] redisContent == null insertBookKeywordRecord耗时:{}ms ", System.currentTimeMillis() - l1);
}
//获取推送消息机器人
final long l1 = System.currentTimeMillis();
String robotId = wechatGroupConsr.getRobotIdByGroupId(weixinGroupId);
log.info("[接收用户发送文本消息] wechatGroupConsr.getRobotIdByGroupId耗时:{}ms ", System.currentTimeMillis() - l1);
// 20190704改为收发一体
if (StringUtil.isBlank(robotId)) {
log.info("[关键词消息回复] robotId is null content:{}, robotId:{},weixinGroupId:{}", content, robotId, weixinGroupId);
robotId = wechatGroupConsr.getRobotIdByGroupId(weixinGroupId);
}
final long l2 = System.currentTimeMillis();
SendWeixinRequestTools.sendKeywordMessage(replyKeywordDTO, robotId, weixinGroupId);
log.info("[接收用户发送文本消息] SendWeixinRequestTools.sendKeywordMessage耗时:{}ms ", System.currentTimeMillis() - l2);
......
......@@ -31,7 +31,7 @@ public class AddWxGroupListener {
try {
if (addWXGroupDTO == null || addWXGroupDTO.getWechatGroupId() == null || addWXGroupDTO.getMemberCount() == null)
return;
groupQrcodeBiz.addOneUser(addWXGroupDTO.getWechatGroupId(), addWXGroupDTO.getMemberCount(),addWXGroupDTO.getNickName());
groupQrcodeBiz.addOneUser(addWXGroupDTO.getWechatGroupId(), addWXGroupDTO.getMemberCount(),addWXGroupDTO.getNickName(), addWXGroupDTO.getWxId());
} catch (Exception e) {
LOGGER.error("接收微信用户进群消息失败" + e.getMessage(), e);
}
......
......@@ -61,7 +61,7 @@ public class WxGroupSendTextListener {
bookClockKeywordBiz.sendKeywordMessage(bookClockInfoDTO, wechatUserId,sendTextDTO.getWechatGroupId());
}else{
final long l = System.currentTimeMillis();
bookKeywordBiz.sendKeywordMessage(sendTextDTO.getTextContent().trim(), sendTextDTO.getWechatGroupId(), wechatUserId);
bookKeywordBiz.sendKeywordMessage(sendTextDTO.getTextContent().trim(), sendTextDTO.getWechatGroupId(), wechatUserId, sendTextDTO.getWxId());
log.info("[接收用户发送文本消息] 总耗时:{}ms ", System.currentTimeMillis() - l);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment