Commit a7d86553 by 裴大威

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

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