Commit cb687f29 by 裴大威

Merge branch 'ruansiyuan' of http://192.168.89.173/rays/pcloud-book into ruansiyuan

parents 311bf8ec 97ccd78b
...@@ -426,14 +426,13 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -426,14 +426,13 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
this.sendKeywordMessageToGroup(content, weixinGroupId, userWxId, robotId, ip, code); this.sendKeywordMessageToGroup(content, weixinGroupId, userWxId, robotId, ip, code);
return; return;
} }
//消息为个人机器人消息时,其实weixinGroupId是机器人id //个人机器人接收消息的时候,weixinGroupId就是userWxId,也就是用户的id,robotId是接收的机器人的id
String altId = weixinGroupId;
//简单过滤非关键词的词 //简单过滤非关键词的词
if (StringUtil.isEmpty(content) || content.length() > 20) { if (StringUtil.isEmpty(content) || content.length() > 20) {
return; return;
} }
// TODO 根据小号和用户id获取所有相关的分类id,若该关键词存在多本书,则组装成文本加链接一次发送 // TODO 根据小号和用户id获取所有相关的分类id,若该关键词存在多本书,则组装成文本加链接一次发送
final List<JoinGroupCipherDTO> dtos = bookGroupBiz.getClassifyIdsByWxIdAndAltId(altId, robotId); final List<JoinGroupCipherDTO> dtos = bookGroupBiz.getClassifyIdsByWxIdAndAltId(userWxId, robotId);
if (CollectionUtils.isEmpty(dtos)) { if (CollectionUtils.isEmpty(dtos)) {
log.info("[关键词消息回复] classifyIds is null"); log.info("[关键词消息回复] classifyIds is null");
return; return;
...@@ -477,7 +476,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -477,7 +476,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
final Map<Long, GroupClassifyQrcodeDTO> classifyMap = qrcodeDTOS.stream().collect(Collectors.toMap(GroupClassifyQrcodeDTO::getClassifyId, p -> p, (v1, v2) -> v2)); final Map<Long, GroupClassifyQrcodeDTO> classifyMap = qrcodeDTOS.stream().collect(Collectors.toMap(GroupClassifyQrcodeDTO::getClassifyId, p -> p, (v1, v2) -> v2));
// 记录循环插入,消息一条发送 // 记录循环插入,消息一条发送
for (ReplyKeywordDTO replyKeywordDTO : replyKeywordDTOs) { for (ReplyKeywordDTO replyKeywordDTO : replyKeywordDTOs) {
log.info("[关键词回复原始数据] : sendKeywordMessage replyKeywordDTO :{}, robotId:{}, altId:{}", replyKeywordDTO, robotId, altId); log.info("[关键词回复原始数据] : sendKeywordMessage replyKeywordDTO :{}, robotId:{}, altId:{}", replyKeywordDTO, robotId, userWxId);
// 处理链接地址 // 处理链接地址
Long classifyId = keywordClassifyIdMap.get(replyKeywordDTO.getKeywordId()); Long classifyId = keywordClassifyIdMap.get(replyKeywordDTO.getKeywordId());
final GroupClassifyQrcodeDTO dto = classifyMap.get(classifyId); final GroupClassifyQrcodeDTO dto = classifyMap.get(classifyId);
...@@ -495,7 +494,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -495,7 +494,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
replyKeywordDTO.setShortLinkUrl(UrlUtils.getShortUrl4Own(linkUrl)); replyKeywordDTO.setShortLinkUrl(UrlUtils.getShortUrl4Own(linkUrl));
} }
} }
String redisContent = JedisClusterUtils.getJson("BOOK:KEYWORD:" + altId + "-" + replyKeywordDTO.getKeywordId(), String.class); String redisContent = JedisClusterUtils.getJson("BOOK:KEYWORD:" + userWxId + "-" + replyKeywordDTO.getKeywordId(), String.class);
// 同一群10秒内不回复同一关键词 // 同一群10秒内不回复同一关键词
if (insertBookKeywordRecord(qrcodeInfo.getWeixinGroupId(), userWxId, replyKeywordDTO, dto, redisContent)) { if (insertBookKeywordRecord(qrcodeInfo.getWeixinGroupId(), userWxId, replyKeywordDTO, dto, redisContent)) {
return; return;
...@@ -512,7 +511,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -512,7 +511,7 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
} }
// 单条还是按原来的发送 // 单条还是按原来的发送
if (replyKeywordDTOs.size() <= 1) { if (replyKeywordDTOs.size() <= 1) {
SendWeixinRequestTools.sendKeywordMessage(replyKeywordDTOs.get(0), robotId, altId, ip, code); SendWeixinRequestTools.sendKeywordMessage(replyKeywordDTOs.get(0), robotId, userWxId, ip, code);
} else { } else {
// 多条时文字,应用,链接组装成一条发送 // 多条时文字,应用,链接组装成一条发送
ReplyKeywordDTO d = new ReplyKeywordDTO(); ReplyKeywordDTO d = new ReplyKeywordDTO();
...@@ -523,13 +522,13 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -523,13 +522,13 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
} else if (ReplyTypeEnum.TEXT.value.equals(dto.getReplyType())){ } else if (ReplyTypeEnum.TEXT.value.equals(dto.getReplyType())){
sb.append(dto.getKeywords()).append(":").append(dto.getContent()).append("\n"); sb.append(dto.getKeywords()).append(":").append(dto.getContent()).append("\n");
} else if (ReplyTypeEnum.IMAGE.value.equals(dto.getReplyType())) { } else if (ReplyTypeEnum.IMAGE.value.equals(dto.getReplyType())) {
SendWeixinRequestTools.sendKeywordMessage(dto, robotId, altId, ip, code); SendWeixinRequestTools.sendKeywordMessage(dto, robotId, userWxId, ip, code);
continue; continue;
} }
} }
d.setContent(sb.toString()); d.setContent(sb.toString());
d.setReplyType(ReplyTypeEnum.TEXT.value); d.setReplyType(ReplyTypeEnum.TEXT.value);
SendWeixinRequestTools.sendKeywordMessage(d, robotId, altId, ip, code); SendWeixinRequestTools.sendKeywordMessage(d, robotId, userWxId, ip, code);
} }
} }
......
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