Commit 6a7dd660 by 吴博

消息顺序

parent fb69a367
...@@ -8,3 +8,4 @@ ...@@ -8,3 +8,4 @@
*.idea/ *.idea/
*bin/ *bin/
*download/ *download/
*.log
\ No newline at end of file
package com.pcloud.book.adnews.biz.impl; package com.pcloud.book.adnews.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.book.adnews.biz.AdNewsBiz; import com.pcloud.book.adnews.biz.AdNewsBiz;
import com.pcloud.book.adnews.check.AdNewsCheck; import com.pcloud.book.adnews.check.AdNewsCheck;
import com.pcloud.book.adnews.dao.AdNewsBanDao; import com.pcloud.book.adnews.dao.AdNewsBanDao;
...@@ -726,7 +727,8 @@ public class AdNewsBizImpl implements AdNewsBiz { ...@@ -726,7 +727,8 @@ public class AdNewsBizImpl implements AdNewsBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(weixinGroupId); sendTextMessageVO.setWxGroupId(weixinGroupId);
sendTextMessageVO.setIp(findIp(weixinGroupId)); sendTextMessageVO.setIp(findIp(weixinGroupId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} }
@ParamLog("删除创建编辑早晚报定时任务") @ParamLog("删除创建编辑早晚报定时任务")
......
package com.pcloud.book.advertising.biz.impl; package com.pcloud.book.advertising.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppTypeDto; import com.pcloud.appcenter.app.dto.AppTypeDto;
import com.pcloud.appcenter.app.service.AppTypeService; import com.pcloud.appcenter.app.service.AppTypeService;
import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz; import com.pcloud.book.advertising.biz.AdvertisingSpaceBiz;
...@@ -728,7 +729,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -728,7 +729,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
sendTextMessageVO.setContent(adTitle); sendTextMessageVO.setContent(adTitle);
sendTextMessageVO.setIp(findIp(groupId)); sendTextMessageVO.setIp(findIp(groupId));
LOGGER.info("发送微信消息-文字链接" + sendTextMessageVO.toString()); LOGGER.info("发送微信消息-文字链接" + sendTextMessageVO.toString());
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if (AdPositionModeEnum.NEWS_SHARE.modeCode.equals(positionMode)) { } else if (AdPositionModeEnum.NEWS_SHARE.modeCode.equals(positionMode)) {
String adLink = jointLink(advertisingLink, classifyDTO.getBookGroupId(), group.getClassifyId(), group.getQrcodeId(), adId, settlementMethod); String adLink = jointLink(advertisingLink, classifyDTO.getBookGroupId(), group.getClassifyId(), group.getQrcodeId(), adId, settlementMethod);
SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO(); SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO();
...@@ -740,7 +742,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -740,7 +742,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
sendArticleMessageVO.setPicUrl(adPic); sendArticleMessageVO.setPicUrl(adPic);
sendArticleMessageVO.setIp(findIp(groupId)); sendArticleMessageVO.setIp(findIp(groupId));
LOGGER.info("发送微信消息-图文分享" + sendArticleMessageVO.toString()); LOGGER.info("发送微信消息-图文分享" + sendArticleMessageVO.toString());
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} else if (AdPositionModeEnum.JUST_PIC.modeCode.equals(positionMode)) { } else if (AdPositionModeEnum.JUST_PIC.modeCode.equals(positionMode)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setAltId(altId); sendPicMessageVO.setAltId(altId);
...@@ -748,7 +751,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz { ...@@ -748,7 +751,8 @@ public class AdvertisingSpaceBizImpl implements AdvertisingSpaceBiz {
sendPicMessageVO.setPicUrl(adPic); sendPicMessageVO.setPicUrl(adPic);
sendPicMessageVO.setIp(findIp(groupId)); sendPicMessageVO.setIp(findIp(groupId));
LOGGER.info("发送微信消息-纯图片" + sendPicMessageVO.toString()); LOGGER.info("发送微信消息-纯图片" + sendPicMessageVO.toString());
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} }
try { try {
Thread.sleep(5000); Thread.sleep(5000);
......
package com.pcloud.book.clock.biz.impl; package com.pcloud.book.clock.biz.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.clock.biz.BookClockBiz; import com.pcloud.book.clock.biz.BookClockBiz;
...@@ -401,7 +402,8 @@ public class BookClockBizImpl implements BookClockBiz { ...@@ -401,7 +402,8 @@ public class BookClockBizImpl implements BookClockBiz {
if(!MapUtils.isEmpty(wxQrcodeDTOMap) && wxQrcodeDTOMap.containsKey(weixinGroupId)){ if(!MapUtils.isEmpty(wxQrcodeDTOMap) && wxQrcodeDTOMap.containsKey(weixinGroupId)){
sendTextMessageVO.setIp(wxQrcodeDTOMap.getOrDefault(weixinGroupId,new BookWxQrcodeDTO()).getWechatGroupIp()); sendTextMessageVO.setIp(wxQrcodeDTOMap.getOrDefault(weixinGroupId,new BookWxQrcodeDTO()).getWechatGroupIp());
} }
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
} }
} }
......
...@@ -26,6 +26,7 @@ import com.pcloud.wechatgroup.monitor.service.MonitorService; ...@@ -26,6 +26,7 @@ import com.pcloud.wechatgroup.monitor.service.MonitorService;
import com.pcloud.wechatgroup.selfrobot.dto.*; import com.pcloud.wechatgroup.selfrobot.dto.*;
import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService; import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService;
import com.sdk.wxgroup.BaseVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -679,4 +680,13 @@ public class WechatGroupConsr { ...@@ -679,4 +680,13 @@ public class WechatGroupConsr {
} }
return null; return null;
} }
public void sendMessage(String baseVO) throws BizException {
try {
selfRobotService.sendMessage(baseVO);
} catch (Exception e) {
log.error("机器人给用户发送消息失败.[sendMessage]:" + e.getMessage(), e);
}
}
} }
...@@ -365,7 +365,8 @@ public class CustomPlanBizImpl implements CustomPlanBiz { ...@@ -365,7 +365,8 @@ public class CustomPlanBizImpl implements CustomPlanBiz {
sendTextMessageVO.setAltId(robotWxId); sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(wxId); sendTextMessageVO.setWxGroupId(wxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
}); });
return maxBatchId + 1; return maxBatchId + 1;
......
package com.pcloud.book.guide.biz.impl; package com.pcloud.book.guide.biz.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.guide.biz.PcloudRobotWakeUpBiz; import com.pcloud.book.guide.biz.PcloudRobotWakeUpBiz;
import com.pcloud.book.guide.dto.WakeUpInfoDto; import com.pcloud.book.guide.dto.WakeUpInfoDto;
import com.pcloud.book.guide.entity.PcloudRobotWakeup; import com.pcloud.book.guide.entity.PcloudRobotWakeup;
...@@ -68,6 +70,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz { ...@@ -68,6 +70,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz {
private PcloudRobotBiz pcloudRobotBiz; private PcloudRobotBiz pcloudRobotBiz;
@Autowired @Autowired
private PcloudRobotWakeupClassifyMapper pcloudRobotWakeupClassifyMapper; private PcloudRobotWakeupClassifyMapper pcloudRobotWakeupClassifyMapper;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@Override @Override
public void robotWakeUpConfig(RobotWakeUpConfigVO robotWakeUpConfigVO) { public void robotWakeUpConfig(RobotWakeUpConfigVO robotWakeUpConfigVO) {
...@@ -240,7 +244,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz { ...@@ -240,7 +244,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz {
txt.setContent(msg.getContent()); txt.setContent(msg.getContent());
txt.setWxGroupId(wxid); txt.setWxGroupId(wxid);
txt.setIp(ip); txt.setIp(ip);
WxGroupSDK.sendTextMessage(txt); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(txt));
} }
if ("image".equals(msg.getType())) { if ("image".equals(msg.getType())) {
SendPicMessageVO pic = new SendPicMessageVO(); SendPicMessageVO pic = new SendPicMessageVO();
...@@ -249,7 +254,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz { ...@@ -249,7 +254,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz {
pic.setWxId(wxid); pic.setWxId(wxid);
pic.setWxGroupId(wxid); pic.setWxGroupId(wxid);
pic.setIp(ip); pic.setIp(ip);
WxGroupSDK.sendPicMessage(pic); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(pic));
} }
if ("file".equals(msg.getType())) { if ("file".equals(msg.getType())) {
SendFileVO file = new SendFileVO(); SendFileVO file = new SendFileVO();
...@@ -259,7 +265,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz { ...@@ -259,7 +265,8 @@ public class PcloudRobotWakeUpBizImpl implements PcloudRobotWakeUpBiz {
file.setWxId(wxid); file.setWxId(wxid);
file.setWxGroupId(wxid); file.setWxGroupId(wxid);
file.setIp(ip); file.setIp(ip);
WxGroupSDK.sendFile(file); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(file));
} }
} }
} }
......
package com.pcloud.book.guide.runner; package com.pcloud.book.guide.runner;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.guide.dto.PcloudGuideDelayDto; import com.pcloud.book.guide.dto.PcloudGuideDelayDto;
import com.pcloud.book.guide.entity.PcloudGuide; import com.pcloud.book.guide.entity.PcloudGuide;
import com.pcloud.book.guide.mapper.PcloudGuideMapper; import com.pcloud.book.guide.mapper.PcloudGuideMapper;
...@@ -14,17 +16,22 @@ import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao; ...@@ -14,17 +16,22 @@ import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.contentcenter.resource.dto.ResourceDTO; import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import com.sdk.wxgroup.SendFileVO; import com.sdk.wxgroup.SendFileVO;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner; import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.*; import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import static com.pcloud.book.guide.constant.PcloudGuideRedisConstant.PCLOUD_GUIDE_LOCK; import static com.pcloud.book.guide.constant.PcloudGuideRedisConstant.PCLOUD_GUIDE_LOCK;
import static com.pcloud.book.guide.constant.PcloudGuideRedisConstant.PCLOUD_GUIDE_SUFFIX; import static com.pcloud.book.guide.constant.PcloudGuideRedisConstant.PCLOUD_GUIDE_SUFFIX;
...@@ -46,6 +53,8 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner { ...@@ -46,6 +53,8 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
private PcloudRobotDao pcloudRobotDao; private PcloudRobotDao pcloudRobotDao;
@Autowired @Autowired
private ResourceConsr resourceConsr; private ResourceConsr resourceConsr;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@Override @Override
public void run(ApplicationArguments applicationArguments) throws Exception { public void run(ApplicationArguments applicationArguments) throws Exception {
...@@ -81,7 +90,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner { ...@@ -81,7 +90,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
// 超时 推送引导语 // 超时 推送引导语
if (!DateUtils.addSecond(pcloudGuideDelayDto.getSendTime(), pcloudGuideDelayDto.getSpanTime() + pcloudGuideDelayDto.getDuration()).after(new Date())) { if (!DateUtils.addSecond(pcloudGuideDelayDto.getSendTime(), pcloudGuideDelayDto.getSpanTime() + pcloudGuideDelayDto.getDuration()).after(new Date())) {
// 发送消息 // 发送消息
for (PcloudGuideMessageVO message : pcloudGuideDelayDto.getMsgList()) { List<PcloudGuideMessageVO> msgList = pcloudGuideDelayDto.getMsgList();
String groupId = UUID.randomUUID().toString();
int counts = msgList.size();
for (int i = 0; i < msgList.size(); i++) {
PcloudGuideMessageVO message = msgList.get(i);
Integer replyType = message.getReplyType(); Integer replyType = message.getReplyType();
if (ReplyTypeEnum.TEXT.value.equals(replyType)) { if (ReplyTypeEnum.TEXT.value.equals(replyType)) {
SendTextMessageVO sendTextMessageVO = new SendTextMessageVO(); SendTextMessageVO sendTextMessageVO = new SendTextMessageVO();
...@@ -90,7 +103,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner { ...@@ -90,7 +103,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
sendTextMessageVO.setWxGroupId(userId); sendTextMessageVO.setWxGroupId(userId);
sendTextMessageVO.setIp(pcloudGuideDelayDto.getIp()); sendTextMessageVO.setIp(pcloudGuideDelayDto.getIp());
sendTextMessageVO.setCode(pcloudGuideDelayDto.getCode()); sendTextMessageVO.setCode(pcloudGuideDelayDto.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setMessageGroupId(groupId);
sendTextMessageVO.setCounts(counts);
sendTextMessageVO.setIndex(i);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.GUIDE);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
if (ReplyTypeEnum.IMAGE.value.equals(replyType)) { if (ReplyTypeEnum.IMAGE.value.equals(replyType)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
...@@ -99,7 +116,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner { ...@@ -99,7 +116,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
sendPicMessageVO.setWxGroupId(userId); sendPicMessageVO.setWxGroupId(userId);
sendPicMessageVO.setIp(pcloudGuideDelayDto.getIp()); sendPicMessageVO.setIp(pcloudGuideDelayDto.getIp());
sendPicMessageVO.setCode(pcloudGuideDelayDto.getCode()); sendPicMessageVO.setCode(pcloudGuideDelayDto.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setMessageGroupId(groupId);
sendPicMessageVO.setCounts(counts);
sendPicMessageVO.setIndex(i);
sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.GUIDE);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} }
if (ReplyTypeEnum.RESOURCE.value.equals(replyType)) { if (ReplyTypeEnum.RESOURCE.value.equals(replyType)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
...@@ -119,7 +140,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner { ...@@ -119,7 +140,11 @@ public class PcloudGuideSilenceRunnerImpl implements ApplicationRunner {
sendFileVO.setIp(pcloudGuideDelayDto.getIp()); sendFileVO.setIp(pcloudGuideDelayDto.getIp());
sendFileVO.setAltId(pcloudGuideDelayDto.getRobotWxId()); sendFileVO.setAltId(pcloudGuideDelayDto.getRobotWxId());
sendFileVO.setWxId(userId); sendFileVO.setWxId(userId);
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setMessageGroupId(groupId);
sendFileVO.setCounts(counts);
sendFileVO.setIndex(i);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.GUIDE);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
} }
......
package com.pcloud.book.keywords.biz.impl; package com.pcloud.book.keywords.biz.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
...@@ -534,7 +535,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -534,7 +535,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(getIpByRobot(robotId)); sendTextMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if ("file".equals(skill.getResourceType())) { } else if ("file".equals(skill.getResourceType())) {
// 发送文件 // 发送文件
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
...@@ -543,7 +545,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -543,7 +545,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendFileVO.setIp(getIpByRobot(robotId)); sendFileVO.setIp(getIpByRobot(robotId));
sendFileVO.setAltId(robotId); sendFileVO.setAltId(robotId);
sendFileVO.setWxId(wxUserId); sendFileVO.setWxId(wxUserId);
WxGroupSDK.sendFile(sendFileVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} else if ("img".equals(skill.getResourceType())) { } else if ("img".equals(skill.getResourceType())) {
// 发送图片 // 发送图片
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
...@@ -552,7 +555,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -552,7 +555,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendPicMessageVO.setWxGroupId(wxUserId); sendPicMessageVO.setWxGroupId(wxUserId);
sendPicMessageVO.setPicUrl(skill.getImgUrl()); sendPicMessageVO.setPicUrl(skill.getImgUrl());
sendPicMessageVO.setIp(getIpByRobot(robotId)); sendPicMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} }
}); });
return skill.getReplyContent(); return skill.getReplyContent();
...@@ -586,7 +590,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -586,7 +590,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendPicMessageVO.setWxGroupId(wxUserId); sendPicMessageVO.setWxGroupId(wxUserId);
sendPicMessageVO.setPicUrl(skill.getImgUrl()); sendPicMessageVO.setPicUrl(skill.getImgUrl());
sendPicMessageVO.setIp(getIpByRobot(robotId)); sendPicMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
}); });
return skill.getReplyContent(); return skill.getReplyContent();
} }
...@@ -601,7 +606,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -601,7 +606,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(getIpByRobot(robotId)); sendTextMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
}else if (id == 2){ }else if (id == 2){
sendTextMessageVO.setContent("计划怎么样?我按照计划执行后效果很好哦,等你订阅后我们一起阅读"); sendTextMessageVO.setContent("计划怎么样?我按照计划执行后效果很好哦,等你订阅后我们一起阅读");
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
...@@ -609,7 +615,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -609,7 +615,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(getIpByRobot(robotId)); sendTextMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
}else { }else {
sendTextMessageVO.setContent(" 你还在犹豫吗?早起的鸟儿有虫吃,我先行动起来喽~"); sendTextMessageVO.setContent(" 你还在犹豫吗?早起的鸟儿有虫吃,我先行动起来喽~");
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
...@@ -617,7 +624,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz { ...@@ -617,7 +624,8 @@ public class SelfRobotKeywordBizImpl implements SelfRobotKeywordBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(getIpByRobot(robotId)); sendTextMessageVO.setIp(getIpByRobot(robotId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
} }
......
package com.pcloud.book.mq.topic; package com.pcloud.book.mq.topic;
import com.alibaba.fastjson.JSON;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.WeixinQrcodeBiz; import com.pcloud.book.group.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
...@@ -70,7 +71,8 @@ public class UpdateWXGroupNameListener { ...@@ -70,7 +71,8 @@ public class UpdateWXGroupNameListener {
sendTextMessageVO.setWxGroupId(wechatGroupId); sendTextMessageVO.setWxGroupId(wechatGroupId);
LOGGER.info("发送警告文本消息"+sendTextMessageVO.toString()); LOGGER.info("发送警告文本消息"+sendTextMessageVO.toString());
sendTextMessageVO.setIp(findIp(wechatGroupId)); sendTextMessageVO.setIp(findIp(wechatGroupId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} }
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("接收修改群名称失败" + e.getMessage(), e); LOGGER.error("接收修改群名称失败" + e.getMessage(), e);
......
package com.pcloud.book.mq.topic; package com.pcloud.book.mq.topic;
import com.alibaba.fastjson.JSON;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.LearningReportBiz; import com.pcloud.book.group.biz.LearningReportBiz;
import com.pcloud.book.group.biz.WeixinQrcodeBiz; import com.pcloud.book.group.biz.WeixinQrcodeBiz;
import com.pcloud.book.group.dao.BookGroupClassifyDao; import com.pcloud.book.group.dao.BookGroupClassifyDao;
...@@ -56,6 +58,8 @@ public class WXGroupLearningReportListener { ...@@ -56,6 +58,8 @@ public class WXGroupLearningReportListener {
private QrcodeSceneConsr qrcodeSceneConsr; private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired @Autowired
private WeixinQrcodeBiz weixinQrcodeBiz; private WeixinQrcodeBiz weixinQrcodeBiz;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@ParamLog("接收学习报告topic") @ParamLog("接收学习报告topic")
...@@ -108,7 +112,8 @@ public class WXGroupLearningReportListener { ...@@ -108,7 +112,8 @@ public class WXGroupLearningReportListener {
sendTextMessageVO.setAltId(alt); sendTextMessageVO.setAltId(alt);
sendTextMessageVO.setContent("个人专属学习报告,及群成员元气排行榜。点击获取" + resultUrl); sendTextMessageVO.setContent("个人专属学习报告,及群成员元气排行榜。点击获取" + resultUrl);
sendTextMessageVO.setIp(findIp(wechatGroupId)); sendTextMessageVO.setIp(findIp(wechatGroupId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
LOGGER.info("发送文字消息结束"+sendTextMessageVO.toString()); LOGGER.info("发送文字消息结束"+sendTextMessageVO.toString());
if (ListUtils.isEmpty(learningScoreDTOS)) { if (ListUtils.isEmpty(learningScoreDTOS)) {
LOGGER.info("没有排行记录,不发送图片groupQrcodeId=" + groupQrcodeId); LOGGER.info("没有排行记录,不发送图片groupQrcodeId=" + groupQrcodeId);
...@@ -119,7 +124,8 @@ public class WXGroupLearningReportListener { ...@@ -119,7 +124,8 @@ public class WXGroupLearningReportListener {
sendPicMessageVO.setWxGroupId(wechatGroupId); sendPicMessageVO.setWxGroupId(wechatGroupId);
sendPicMessageVO.setAltId(alt); sendPicMessageVO.setAltId(alt);
sendPicMessageVO.setIp(findIp(wechatGroupId)); sendPicMessageVO.setIp(findIp(wechatGroupId));
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
LOGGER.info("发送分享图消息结束"+sendPicMessageVO.toString()); LOGGER.info("发送分享图消息结束"+sendPicMessageVO.toString());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("接收学习报告topic失败" + e.getMessage(), e); LOGGER.error("接收学习报告topic失败" + e.getMessage(), e);
......
package com.pcloud.book.pcloudkeyword.biz.impl; package com.pcloud.book.pcloudkeyword.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; 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.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
...@@ -61,11 +62,7 @@ import com.pcloud.resourcecenter.product.dto.ProductDto; ...@@ -61,11 +62,7 @@ import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.pcloud.wechatgroup.message.dto.SendTextDTO; import com.pcloud.wechatgroup.message.dto.SendTextDTO;
import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO; import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO;
import com.sdk.wxgroup.SendFileVO; import com.sdk.wxgroup.*;
import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import com.sdk.wxgroup.im.mimc.BusinessConstant; import com.sdk.wxgroup.im.mimc.BusinessConstant;
import com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO; import com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
...@@ -77,11 +74,7 @@ import org.springframework.stereotype.Component; ...@@ -77,11 +74,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component("pcloudRobotBiz") @Component("pcloudRobotBiz")
...@@ -307,6 +300,9 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -307,6 +300,9 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
} }
List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudClassifyId(pcloudRobot.getRobotType().longValue()); List<PcloudRobotWelcome> robotWelcomeList = pcloudRobotWelcomeDao.getRobotWelcomeListByPcloudClassifyId(pcloudRobot.getRobotType().longValue());
pcloudRobotSet.fillRobotWelcome(robotWelcomeList); pcloudRobotSet.fillRobotWelcome(robotWelcomeList);
Integer count= robotWelcomeList.size();
String messageGroup = UUID.randomUUID().toString();
Integer index = 0;
for (PcloudRobotWelcome robotWelcome : robotWelcomeList) { for (PcloudRobotWelcome robotWelcome : robotWelcomeList) {
try { try {
Thread.sleep(1000 * welcomeDuration); Thread.sleep(1000 * welcomeDuration);
...@@ -321,7 +317,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -321,7 +317,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setMessageGroupId(messageGroup);
sendTextMessageVO.setCounts(count);
sendTextMessageVO.setIndex(index);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.WELCOME);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if (WelcomeReplyTypeEnum.IMAGE.value.equals(replyType)) { } else if (WelcomeReplyTypeEnum.IMAGE.value.equals(replyType)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
...@@ -329,7 +329,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -329,7 +329,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendPicMessageVO.setPicUrl(robotWelcome.getPicUrl()); sendPicMessageVO.setPicUrl(robotWelcome.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setMessageGroupId(messageGroup);
sendPicMessageVO.setCounts(count);
sendPicMessageVO.setIndex(index);
sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.WELCOME);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if (WelcomeReplyTypeEnum.RESOURCE.value.equals(replyType)) { } else if (WelcomeReplyTypeEnum.RESOURCE.value.equals(replyType)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
sendFileVO.setFileUrl(robotWelcome.getResourceUrl()); sendFileVO.setFileUrl(robotWelcome.getResourceUrl());
...@@ -343,7 +347,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -343,7 +347,11 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setMessageGroupId(messageGroup);
sendFileVO.setCounts(count);
sendFileVO.setIndex(index);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.WELCOME);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} else if (WelcomeReplyTypeEnum.AUDIO.value.equals(replyType)){ } else if (WelcomeReplyTypeEnum.AUDIO.value.equals(replyType)){
SendMomentsDTO sendMomentsDTO=new SendMomentsDTO(); SendMomentsDTO sendMomentsDTO=new SendMomentsDTO();
GroupRobotDTO info = wechatGroupConsr.getGroupRobotByRobotId(robotWxId); GroupRobotDTO info = wechatGroupConsr.getGroupRobotByRobotId(robotWxId);
...@@ -355,8 +363,13 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -355,8 +363,13 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendMomentsDTO.setContent(userWxId); sendMomentsDTO.setContent(userWxId);
sendMomentsDTO.setLink(robotWelcome.getResourceUrl()); sendMomentsDTO.setLink(robotWelcome.getResourceUrl());
sendMomentsDTO.setIp(ip); sendMomentsDTO.setIp(ip);
sendMomentsDTO.setMessageGroupId(messageGroup);
sendMomentsDTO.setCounts(count);
sendMomentsDTO.setIndex(index);
sendMomentsDTO.setRobotProcessType(RobotProcessTypeEnum.WELCOME);
WxGroupSDK.sendMessageToPhone(sendMomentsDTO); WxGroupSDK.sendMessageToPhone(sendMomentsDTO);
} }
index ++;
} }
} }
if (robotClassify != null && robotClassify.getIsOpenPushH5url() != null && robotClassify.getIsOpenPushH5url() == 1) { if (robotClassify != null && robotClassify.getIsOpenPushH5url() != null && robotClassify.getIsOpenPushH5url() == 1) {
...@@ -370,7 +383,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -370,7 +383,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
} }
}); });
...@@ -696,7 +710,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -696,7 +710,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if(WelcomeReplyTypeEnum.IMAGE.value.equals(replyType)) { } else if(WelcomeReplyTypeEnum.IMAGE.value.equals(replyType)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
...@@ -704,7 +719,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -704,7 +719,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendPicMessageVO.setPicUrl(tdReplyDTO.getPicUrl()); sendPicMessageVO.setPicUrl(tdReplyDTO.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if(WelcomeReplyTypeEnum.RESOURCE.value.equals(replyType)) { } else if(WelcomeReplyTypeEnum.RESOURCE.value.equals(replyType)) {
String fileName = tdReplyDTO.getResourceName(); String fileName = tdReplyDTO.getResourceName();
String fileType = tdReplyDTO.getFileType(); String fileType = tdReplyDTO.getFileType();
...@@ -718,7 +734,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -718,7 +734,8 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
} }
} }
......
package com.pcloud.book.pcloudkeyword.set; package com.pcloud.book.pcloudkeyword.set;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.consumer.app.AppConsr; 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.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
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.group.enums.AppAndProductTypeEnum; import com.pcloud.book.group.enums.AppAndProductTypeEnum;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.keywords.enums.ReplyTypeEnum; import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome; import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum; import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum;
import com.pcloud.book.skill.dto.AppOrProductReplyDTO;
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;
...@@ -38,6 +41,8 @@ public class PcloudRobotSet { ...@@ -38,6 +41,8 @@ public class PcloudRobotSet {
private AppConsr appConsr; private AppConsr appConsr;
@Autowired @Autowired
private QrcodeSceneConsr qrcodeSceneConsr; private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@ParamLog("填充欢迎语回复") @ParamLog("填充欢迎语回复")
public void fillRobotWelcome(List<PcloudRobotWelcome> robotWelcomeList) { public void fillRobotWelcome(List<PcloudRobotWelcome> robotWelcomeList) {
...@@ -72,15 +77,14 @@ public class PcloudRobotSet { ...@@ -72,15 +77,14 @@ public class PcloudRobotSet {
} }
} }
} }
public void sendAppOrProductReply(String serveType, Long serveId, String linkUrl, public void sendAppOrProductReply(AppOrProductReplyDTO replyDTO) {
String robotWxId, String userWxId, String ip, Integer code) {
AccountSettingDto accountSettingDto = null; AccountSettingDto accountSettingDto = null;
String typeName = ""; String typeName = "";
String picUrl = ""; String picUrl = "";
String title = ""; String title = "";
String resultUrl = ""; String resultUrl = "";
if (AppAndProductTypeEnum.APP.value.equals(serveType)) { if (AppAndProductTypeEnum.APP.value.equals(replyDTO.getServeType())) {
AppDto appDto = appConsr.getBaseById(serveId); AppDto appDto = appConsr.getBaseById(replyDTO.getServeId());
if (appDto != null) { if (appDto != null) {
accountSettingDto = qrcodeSceneConsr.getWechatInfo(appDto.getChannelId()); accountSettingDto = qrcodeSceneConsr.getWechatInfo(appDto.getChannelId());
typeName = appDto.getTypeName(); typeName = appDto.getTypeName();
...@@ -88,31 +92,35 @@ public class PcloudRobotSet { ...@@ -88,31 +92,35 @@ public class PcloudRobotSet {
title = appDto.getTitle(); title = appDto.getTitle();
} }
if(accountSettingDto != null) { if(accountSettingDto != null) {
String endUrl = linkUrl + "&wxId=" + userWxId + "&robotWxId=" + robotWxId; String endUrl = replyDTO.getLinkUrl() + "&wxId=" + replyDTO.getUserWxId() + "&robotWxId=" + replyDTO.getRobotWxId();
String resultLinkUrl = SendWeixinRequestTools.splitUrl(accountSettingDto, endUrl); String resultLinkUrl = SendWeixinRequestTools.splitUrl(accountSettingDto, endUrl);
resultUrl = UrlUtils.getShortUrl4Own(resultLinkUrl); resultUrl = UrlUtils.getShortUrl4Own(resultLinkUrl);
} }
} }
if (AppAndProductTypeEnum.PRODUCT.value.equals(serveType)) { if (AppAndProductTypeEnum.PRODUCT.value.equals(replyDTO.getServeType())) {
ProductDto productDto = productConsr.getProBaseById(serveId); ProductDto productDto = productConsr.getProBaseById(replyDTO.getServeId());
if (productDto != null) { if (productDto != null) {
typeName = productDto.getProductTypeDto() == null ? "" : productDto.getProductTypeDto().getTypeName(); typeName = productDto.getProductTypeDto() == null ? "" : productDto.getProductTypeDto().getTypeName();
picUrl = productDto.getCoverImg(); picUrl = productDto.getCoverImg();
title = productDto.getProductName(); title = productDto.getProductName();
resultUrl = UrlUtils.getShortUrl4Own(linkUrl + "&wxId=" + userWxId + "&robotWxId=" + robotWxId); resultUrl = UrlUtils.getShortUrl4Own(replyDTO.getLinkUrl() + "&wxId=" + replyDTO.getUserWxId() + "&robotWxId=" + replyDTO.getRobotWxId());
} }
} }
if(!StringUtils.isEmpty(resultUrl)) { if(!StringUtils.isEmpty(resultUrl)) {
SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO(); SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO();
sendArticleMessageVO.setCode(code); sendArticleMessageVO.setCode(replyDTO.getSendMessageType());
sendArticleMessageVO.setAltId(robotWxId); sendArticleMessageVO.setAltId(replyDTO.getRobotWxId());
sendArticleMessageVO.setDescription(typeName); sendArticleMessageVO.setDescription(typeName);
sendArticleMessageVO.setWxGroupId(userWxId); sendArticleMessageVO.setWxGroupId(replyDTO.getUserWxId());
sendArticleMessageVO.setLinkUrl(resultUrl); sendArticleMessageVO.setLinkUrl(resultUrl);
sendArticleMessageVO.setPicUrl(picUrl); sendArticleMessageVO.setPicUrl(picUrl);
sendArticleMessageVO.setTitle(title); sendArticleMessageVO.setTitle(title);
sendArticleMessageVO.setIp(ip); sendArticleMessageVO.setIp(replyDTO.getIp());
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setCounts(replyDTO.getCounts());
sendArticleMessageVO.setIndex(replyDTO.getIndex());
sendArticleMessageVO.setMessageGroupId(replyDTO.getMessageGroupId());
sendArticleMessageVO.setRobotProcessType(replyDTO.getRobotProcessTypeEnum());
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} }
} }
......
package com.pcloud.book.personalstage.biz.impl; package com.pcloud.book.personalstage.biz.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
...@@ -62,6 +63,7 @@ import com.pcloud.common.utils.string.StringUtil; ...@@ -62,6 +63,7 @@ import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO; import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.pcloud.wechatgroup.group.dto.GroupUserDTO; import com.pcloud.wechatgroup.group.dto.GroupUserDTO;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import com.sdk.wxgroup.SendFileVO; import com.sdk.wxgroup.SendFileVO;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
...@@ -86,6 +88,7 @@ import java.util.HashMap; ...@@ -86,6 +88,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component("personalStageBiz") @Component("personalStageBiz")
...@@ -555,7 +558,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -555,7 +558,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
state = true; state = true;
} }
if (!state){//客服介入不发唤醒 if (!state){//客服介入不发唤醒
sendReplyItems(replyItems,robotId,userWxId,ip,wakeupDelayDTO.getPersonalStageUserId()); String uuId= UUID.randomUUID().toString();
sendReplyItems(replyItems,robotId,userWxId,ip,wakeupDelayDTO.getPersonalStageUserId(),uuId,RobotProcessTypeEnum.PERSONAL_STAGE_WAKEUP);
} }
//下一个延时 //下一个延时
List<PersonalStageWakeup> wakeups = personalStageWakeupDao.getListByPersonalStageId(personalStageId); List<PersonalStageWakeup> wakeups = personalStageWakeupDao.getListByPersonalStageId(personalStageId);
...@@ -695,8 +699,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -695,8 +699,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
//替换需求定制单链接 //替换需求定制单链接
this.replacePaperUrl(items, robotId, userWxId, personalStageReply.getPaperId(),ip); this.replacePaperUrl(items, robotId, userWxId, personalStageReply.getPaperId(),ip);
} }
String uuId= UUID.randomUUID().toString();
sendReplyItems(items,robotId,userWxId,ip,personalStageUserId); sendReplyItems(items,robotId,userWxId,ip,personalStageUserId,uuId,RobotProcessTypeEnum.PERSONAL_STAGE_NOT_KEYWORD);
} }
@ParamLog("替换用户输入内容") @ParamLog("替换用户输入内容")
...@@ -732,7 +736,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -732,7 +736,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
}else { }else {
Random random = new Random(); Random random = new Random();
Long replyId=idsNotHasSpe.get(random.nextInt(idsNotHasSpe.size())); Long replyId=idsNotHasSpe.get(random.nextInt(idsNotHasSpe.size()));
...@@ -912,12 +917,13 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -912,12 +917,13 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
return; return;
} }
this.replacePaperUrl(items, robotId, userWxId, paperId,ip); this.replacePaperUrl(items, robotId, userWxId, paperId,ip);
sendReplyItems(items,robotId,userWxId,ip,personalStageUserId); String uuId= UUID.randomUUID().toString();
sendReplyItems(items,robotId,userWxId,ip,personalStageUserId,uuId,RobotProcessTypeEnum.PERSONAL_STAGE_FUSING);
personalStageUserDao.updateFusingReplyCount(personalStageUserId); personalStageUserDao.updateFusingReplyCount(personalStageUserId);
} }
@ParamLog("发送回复") @ParamLog("发送回复")
private void sendReplyItems(List<PersonalStageReplyItem> replyItems,String robotId, String userWxId, String ip,Long personalStageUserId){ private void sendReplyItems(List<PersonalStageReplyItem> replyItems,String robotId, String userWxId, String ip,Long personalStageUserId, String uuid, RobotProcessTypeEnum robotProcessType){
for (PersonalStageReplyItem item:replyItems){ for (PersonalStageReplyItem item:replyItems){
Integer type=item.getReplyType(); Integer type=item.getReplyType();
if (ReplyTypeEnum.TEXT.value.equals(type)) { if (ReplyTypeEnum.TEXT.value.equals(type)) {
...@@ -927,7 +933,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -927,7 +933,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setMessageGroupId(uuid);
sendTextMessageVO.setRobotProcessType(robotProcessType);
sendTextMessageVO.setIndex(replyItems.indexOf(item));
sendTextMessageVO.setCounts(replyItems.size());
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} }
if (ReplyTypeEnum.IMAGE.value.equals(type)) { if (ReplyTypeEnum.IMAGE.value.equals(type)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
...@@ -936,7 +946,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -936,7 +946,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
sendPicMessageVO.setPicUrl(item.getPicUrl()); sendPicMessageVO.setPicUrl(item.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setMessageGroupId(uuid);
sendPicMessageVO.setRobotProcessType(robotProcessType);
sendPicMessageVO.setIndex(replyItems.indexOf(item));
sendPicMessageVO.setCounts(replyItems.size());
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} }
if (ReplyTypeEnum.RESOURCE.value.equals(type)) { if (ReplyTypeEnum.RESOURCE.value.equals(type)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
...@@ -956,7 +970,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -956,7 +970,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
sendFileVO.setIp(ip); sendFileVO.setIp(ip);
sendFileVO.setAltId(robotId); sendFileVO.setAltId(robotId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setMessageGroupId(uuid);
sendFileVO.setRobotProcessType(robotProcessType);
sendFileVO.setIndex(replyItems.indexOf(item));
sendFileVO.setCounts(replyItems.size());
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
if (ReplyTypeEnum.AUDIO.value.equals(type)) { if (ReplyTypeEnum.AUDIO.value.equals(type)) {
SendMomentsDTO sendMomentsDTO=new SendMomentsDTO(); SendMomentsDTO sendMomentsDTO=new SendMomentsDTO();
...@@ -972,7 +990,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -972,7 +990,11 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
sendMomentsDTO.setContent(userWxId); sendMomentsDTO.setContent(userWxId);
sendMomentsDTO.setLink(resourceDTO.getFileUrl()); sendMomentsDTO.setLink(resourceDTO.getFileUrl());
sendMomentsDTO.setIp(ip); sendMomentsDTO.setIp(ip);
WxGroupSDK.sendMessageToPhone(sendMomentsDTO); sendMomentsDTO.setMessageGroupId(uuid);
sendMomentsDTO.setRobotProcessType(robotProcessType);
sendMomentsDTO.setIndex(replyItems.indexOf(item));
sendMomentsDTO.setCounts(replyItems.size());
wechatGroupConsr.sendMessage(JSON.toJSONString(sendMomentsDTO));
} }
} }
} }
......
package com.pcloud.book.personalstage.biz.impl; package com.pcloud.book.personalstage.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.feedback.FeedbackConsr; import com.pcloud.book.consumer.feedback.FeedbackConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
...@@ -46,10 +46,11 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO; ...@@ -46,10 +46,11 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.feedback.paper.dto.PaperAndQuestionDto; import com.pcloud.feedback.paper.dto.PaperAndQuestionDto;
import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.pcloud.wechatgroup.group.dto.GroupUserDTO; import com.pcloud.wechatgroup.group.dto.GroupUserDTO;
import com.sdk.wxgroup.BaseVO;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import com.sdk.wxgroup.im.mimc.BusinessConstant; import com.sdk.wxgroup.im.mimc.BusinessConstant;
import com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO; import com.sdk.wxgroup.im.mimc.dto.SendMomentsDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -527,7 +528,8 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -527,7 +528,8 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendTextMessageVO.setWxGroupId(dto.getKey()); sendTextMessageVO.setWxGroupId(dto.getKey());
sendTextMessageVO.setIp(linkupDelayDTO.getIp()); sendTextMessageVO.setIp(linkupDelayDTO.getIp());
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); fillMessageBaseInfo(sendTextMessageVO, linkupDelayDTO);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} else if(ReplyTypeEnum.IMAGE.value.equals( jumpLinkup.getReplyType())) { } else if(ReplyTypeEnum.IMAGE.value.equals( jumpLinkup.getReplyType())) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(dto.getKey()); sendPicMessageVO.setWxGroupId(dto.getKey());
...@@ -535,7 +537,8 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -535,7 +537,8 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendPicMessageVO.setPicUrl(jumpLinkup.getPicUrl()); sendPicMessageVO.setPicUrl(jumpLinkup.getPicUrl());
sendPicMessageVO.setIp(linkupDelayDTO.getIp()); sendPicMessageVO.setIp(linkupDelayDTO.getIp());
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); fillMessageBaseInfo(sendPicMessageVO, linkupDelayDTO);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if (ReplyTypeEnum.AUDIO.value.equals( jumpLinkup.getReplyType())){ } else if (ReplyTypeEnum.AUDIO.value.equals( jumpLinkup.getReplyType())){
SendMomentsDTO sendMomentsDTO=new SendMomentsDTO(); SendMomentsDTO sendMomentsDTO=new SendMomentsDTO();
Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(jumpLinkup.getResourceId())); Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(jumpLinkup.getResourceId()));
...@@ -550,11 +553,20 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -550,11 +553,20 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendMomentsDTO.setContent(dto.getKey()); sendMomentsDTO.setContent(dto.getKey());
sendMomentsDTO.setLink(resourceDTO.getFileUrl()); sendMomentsDTO.setLink(resourceDTO.getFileUrl());
sendMomentsDTO.setIp(linkupDelayDTO.getIp()); sendMomentsDTO.setIp(linkupDelayDTO.getIp());
WxGroupSDK.sendMessageToPhone(sendMomentsDTO); fillMessageBaseInfo(sendMomentsDTO, linkupDelayDTO);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendMomentsDTO));
} }
} }
} }
@ParamLog("填充消息基本属性")
private void fillMessageBaseInfo(BaseVO baseVO, BaseDelayDTO baseDelayDTO){
baseVO.setRobotProcessType(baseDelayDTO.getRobotProcessType());
baseVO.setMessageGroupId(baseDelayDTO.getMessageGroupId());
baseVO.setIndex(baseDelayDTO.getIndex());
baseVO.setCounts(baseDelayDTO.getCounts());
}
@ParamLog("处理用户提交表单阶段跳转") @ParamLog("处理用户提交表单阶段跳转")
public boolean handlePersonalStagePaperJump(String userWxId, String robotWxId, Long paperId, String emailContent){ public boolean handlePersonalStagePaperJump(String userWxId, String robotWxId, Long paperId, String emailContent){
if (null == paperId){ if (null == paperId){
...@@ -850,7 +862,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -850,7 +862,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
return; return;
} }
this.replacePaperUrl(linkups, robotWxId, userWxId, jumpId, ip); this.replacePaperUrl(linkups, robotWxId, userWxId, jumpId, ip);
String messageGroupId = UUID.randomUUID().toString();
int count = linkups.size();
for (PersonalStageJumpLinkup jumpLinkup : linkups){ for (PersonalStageJumpLinkup jumpLinkup : linkups){
int i = linkups.indexOf(jumpLinkup);
if (jumpLinkup.getToStageStartTime()!=null&&jumpLinkup.getToStageStartTime()>0){ if (jumpLinkup.getToStageStartTime()!=null&&jumpLinkup.getToStageStartTime()>0){
LinkupDelayDTO linkupDelayDTO=new LinkupDelayDTO(); LinkupDelayDTO linkupDelayDTO=new LinkupDelayDTO();
linkupDelayDTO.setPersonalStageJumpLinkupId(jumpLinkup.getId()); linkupDelayDTO.setPersonalStageJumpLinkupId(jumpLinkup.getId());
...@@ -858,6 +873,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -858,6 +873,10 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
linkupDelayDTO.setWxId(userWxId); linkupDelayDTO.setWxId(userWxId);
linkupDelayDTO.setIp(ip); linkupDelayDTO.setIp(ip);
linkupDelayDTO.setPersonalStageUserId(personalStageUserId); linkupDelayDTO.setPersonalStageUserId(personalStageUserId);
linkupDelayDTO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_JUMP);
linkupDelayDTO.setMessageGroupId(messageGroupId);
linkupDelayDTO.setIndex(i);
linkupDelayDTO.setCounts(count);
DelayQueueDTO delayQueueDTO = DelayQueueDTO.builder().key(userWxId).type(PersonalStageConstant.PERSONALSTAGE_DELAY_LINKUP).msg(linkupDelayDTO).timeout(jumpLinkup.getToStageStartTime()*1000).build(); DelayQueueDTO delayQueueDTO = DelayQueueDTO.builder().key(userWxId).type(PersonalStageConstant.PERSONALSTAGE_DELAY_LINKUP).msg(linkupDelayDTO).timeout(jumpLinkup.getToStageStartTime()*1000).build();
delayMessageSender.send(delayQueueDTO); delayMessageSender.send(delayQueueDTO);
LOGGER.info("增加跳转衔接语延时"+delayQueueDTO.toString()); LOGGER.info("增加跳转衔接语延时"+delayQueueDTO.toString());
...@@ -869,7 +888,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -869,7 +888,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_JUMP);
sendTextMessageVO.setMessageGroupId(messageGroupId);
sendTextMessageVO.setIndex(i);
sendTextMessageVO.setCounts(count);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} else if(ReplyTypeEnum.IMAGE.value.equals( jumpLinkup.getReplyType())) { } else if(ReplyTypeEnum.IMAGE.value.equals( jumpLinkup.getReplyType())) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
...@@ -877,7 +900,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -877,7 +900,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendPicMessageVO.setPicUrl(jumpLinkup.getPicUrl()); sendPicMessageVO.setPicUrl(jumpLinkup.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_JUMP);
sendPicMessageVO.setMessageGroupId(messageGroupId);
sendPicMessageVO.setIndex(i);
sendPicMessageVO.setCounts(count);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if (ReplyTypeEnum.AUDIO.value.equals( jumpLinkup.getReplyType())){ } else if (ReplyTypeEnum.AUDIO.value.equals( jumpLinkup.getReplyType())){
SendMomentsDTO sendMomentsDTO=new SendMomentsDTO(); SendMomentsDTO sendMomentsDTO=new SendMomentsDTO();
Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(jumpLinkup.getResourceId())); Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(jumpLinkup.getResourceId()));
...@@ -892,7 +919,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -892,7 +919,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendMomentsDTO.setContent(userWxId); sendMomentsDTO.setContent(userWxId);
sendMomentsDTO.setLink(resourceDTO.getFileUrl()); sendMomentsDTO.setLink(resourceDTO.getFileUrl());
sendMomentsDTO.setIp(ip); sendMomentsDTO.setIp(ip);
WxGroupSDK.sendMessageToPhone(sendMomentsDTO); sendMomentsDTO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_JUMP);
sendMomentsDTO.setMessageGroupId(messageGroupId);
sendMomentsDTO.setIndex(i);
sendMomentsDTO.setCounts(count);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendMomentsDTO));
} }
} }
} }
...@@ -1013,7 +1044,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -1013,7 +1044,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_DELAY_PROGRESS);
sendTextMessageVO.setMessageGroupId(UUID.randomUUID().toString());
sendTextMessageVO.setIndex(0);
sendTextMessageVO.setCounts(1);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} }
@Override @Override
...@@ -1081,7 +1116,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz { ...@@ -1081,7 +1116,11 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.PERSONAL_STAGE_DELAY_PAPER);
sendTextMessageVO.setMessageGroupId(UUID.randomUUID().toString());
sendTextMessageVO.setIndex(0);
sendTextMessageVO.setCounts(1);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
JedisClusterUtils.setJson(sendKey,userWxId,30); JedisClusterUtils.setJson(sendKey,userWxId,30);
} }
......
package com.pcloud.book.personalstage.dto;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("基础延时DTO (消息顺序使用)")
public class BaseDelayDTO implements Serializable {
@ApiModelProperty("消息类型")
private RobotProcessTypeEnum robotProcessType;
@ApiModelProperty("消息组id")
private String messageGroupId;
@ApiModelProperty("当前消息下标")
private int index;
@ApiModelProperty("消息总数")
private int counts;
}
...@@ -8,7 +8,7 @@ import java.io.Serializable; ...@@ -8,7 +8,7 @@ import java.io.Serializable;
@Data @Data
@ApiModel("衔接语延时dto") @ApiModel("衔接语延时dto")
public class LinkupDelayDTO implements Serializable { public class LinkupDelayDTO extends BaseDelayDTO {
@ApiModelProperty("衔接语id") @ApiModelProperty("衔接语id")
private Long personalStageJumpLinkupId; private Long personalStageJumpLinkupId;
...@@ -20,5 +20,4 @@ public class LinkupDelayDTO implements Serializable { ...@@ -20,5 +20,4 @@ public class LinkupDelayDTO implements Serializable {
private String ip; private String ip;
@ApiModelProperty("用户阶段记录id") @ApiModelProperty("用户阶段记录id")
private Long personalStageUserId; private Long personalStageUserId;
} }
package com.pcloud.book.push.biz.impl; package com.pcloud.book.push.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; 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.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
...@@ -367,7 +368,8 @@ public class PushBizImpl implements PushBiz { ...@@ -367,7 +368,8 @@ public class PushBizImpl implements PushBiz {
sendTextMessageVO.setContent(pushItem.getTextContent()); sendTextMessageVO.setContent(pushItem.getTextContent());
sendTextMessageVO.setPushGroupRecordId(pushGroupRecordId); sendTextMessageVO.setPushGroupRecordId(pushGroupRecordId);
sendTextMessageVO.setIp(findIp(groupId)); sendTextMessageVO.setIp(findIp(groupId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} }
if (ItemTypeEnum.LINK.value.equals(itemType)) { if (ItemTypeEnum.LINK.value.equals(itemType)) {
SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO(); SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO();
...@@ -385,7 +387,8 @@ public class PushBizImpl implements PushBiz { ...@@ -385,7 +387,8 @@ public class PushBizImpl implements PushBiz {
sendArticleMessageVO.setTitle(pushItem.getLinkTitle()); sendArticleMessageVO.setTitle(pushItem.getLinkTitle());
sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId); sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId);
sendArticleMessageVO.setIp(findIp(groupId)); sendArticleMessageVO.setIp(findIp(groupId));
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} }
if (ItemTypeEnum.APP.value.equals(itemType)) { if (ItemTypeEnum.APP.value.equals(itemType)) {
//通过群id获取对应基本信息 //通过群id获取对应基本信息
...@@ -411,7 +414,8 @@ public class PushBizImpl implements PushBiz { ...@@ -411,7 +414,8 @@ public class PushBizImpl implements PushBiz {
sendArticleMessageVO.setTitle(appDto.getTitle()); sendArticleMessageVO.setTitle(appDto.getTitle());
sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId); sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId);
sendArticleMessageVO.setIp(findIp(groupId)); sendArticleMessageVO.setIp(findIp(groupId));
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
//新增群发应用作品触发记录 //新增群发应用作品触发记录
addPushAppTouchRecord(pushItem, groupId, classifyDTO.getId(), classifyDTO.getBookGroupId()); addPushAppTouchRecord(pushItem, groupId, classifyDTO.getId(), classifyDTO.getBookGroupId());
} }
...@@ -433,7 +437,8 @@ public class PushBizImpl implements PushBiz { ...@@ -433,7 +437,8 @@ public class PushBizImpl implements PushBiz {
sendArticleMessageVO.setTitle(productDto.getProductName()); sendArticleMessageVO.setTitle(productDto.getProductName());
sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId); sendArticleMessageVO.setPushGroupRecordId(pushGroupRecordId);
sendArticleMessageVO.setIp(findIp(groupId)); sendArticleMessageVO.setIp(findIp(groupId));
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
//新增群发应用作品触发记录 //新增群发应用作品触发记录
addPushAppTouchRecord(pushItem, groupId, classifyDTO.getId(), classifyDTO.getBookGroupId()); addPushAppTouchRecord(pushItem, groupId, classifyDTO.getId(), classifyDTO.getBookGroupId());
} }
...@@ -446,7 +451,8 @@ public class PushBizImpl implements PushBiz { ...@@ -446,7 +451,8 @@ public class PushBizImpl implements PushBiz {
sendPicMessageVO.setPicUrl(pushItem.getImageUrl()); sendPicMessageVO.setPicUrl(pushItem.getImageUrl());
sendPicMessageVO.setPushGroupRecordId(pushGroupRecordId); sendPicMessageVO.setPushGroupRecordId(pushGroupRecordId);
sendPicMessageVO.setIp(findIp(groupId)); sendPicMessageVO.setIp(findIp(groupId));
WxGroupSDK.sendPicMessage(sendPicMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} }
} }
} }
...@@ -1028,7 +1034,8 @@ public class PushBizImpl implements PushBiz { ...@@ -1028,7 +1034,8 @@ public class PushBizImpl implements PushBiz {
sendTextMessageVO.setAltId(robotId); sendTextMessageVO.setAltId(robotId);
sendTextMessageVO.setWxGroupId(weixinGroupId); sendTextMessageVO.setWxGroupId(weixinGroupId);
sendTextMessageVO.setIp(findIp(weixinGroupId)); sendTextMessageVO.setIp(findIp(weixinGroupId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
LOGGER.info("发送早晚报" + sendTextMessageVO.toString()); LOGGER.info("发送早晚报" + sendTextMessageVO.toString());
} }
......
package com.pcloud.book.push.biz.impl; package com.pcloud.book.push.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; 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.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
...@@ -34,6 +35,7 @@ import com.pcloud.book.push.entity.SelfPushItem; ...@@ -34,6 +35,7 @@ import com.pcloud.book.push.entity.SelfPushItem;
import com.pcloud.book.push.entity.SelfPushUser; import com.pcloud.book.push.entity.SelfPushUser;
import com.pcloud.book.push.enums.ItemTypeEnum; import com.pcloud.book.push.enums.ItemTypeEnum;
import com.pcloud.book.push.enums.PushStatusEnum; import com.pcloud.book.push.enums.PushStatusEnum;
import com.pcloud.book.skill.dto.AppOrProductReplyDTO;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
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;
...@@ -303,8 +305,9 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -303,8 +305,9 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendUserIds.addAll(userIdList); sendUserIds.addAll(userIdList);
ThreadPoolUtils.SEND_MESSAGE_THREAD_POOL.execute(() -> { ThreadPoolUtils.SEND_MESSAGE_THREAD_POOL.execute(() -> {
for (String userId : sendUserIds) { for (String userId : sendUserIds) {
String uuid= UUID.randomUUID().toString();
for (SelfPushItem pushItem : itemList) { for (SelfPushItem pushItem : itemList) {
sendSelfMsg(userId, altId, pushItem); sendSelfMsg(userId, altId, pushItem, uuid, itemList.indexOf(pushItem),itemList.size());
} }
} }
selfPushItemDao.updatePushStatusByPushId(PushStatusEnum.SUCCESS.value, pushId); selfPushItemDao.updatePushStatusByPushId(PushStatusEnum.SUCCESS.value, pushId);
...@@ -324,8 +327,9 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -324,8 +327,9 @@ public class SelfPushBizImpl implements SelfPushBiz {
//查好友对应的小号 //查好友对应的小号
SelfRobotBookGroupDTO bookGroupDTO = bookGroupCipherUserDao.getSelfRobotBookGroupInfoByUser(userId, bookGroupId); SelfRobotBookGroupDTO bookGroupDTO = bookGroupCipherUserDao.getSelfRobotBookGroupInfoByUser(userId, bookGroupId);
String altId = bookGroupDTO.getWxId(); String altId = bookGroupDTO.getWxId();
String uuid= UUID.randomUUID().toString();
for (SelfPushItem pushItem : itemList) { for (SelfPushItem pushItem : itemList) {
sendSelfMsg(userId, altId, pushItem); sendSelfMsg(userId, altId, pushItem, uuid, itemList.indexOf(pushItem), itemList.size());
} }
} }
selfPushItemDao.updatePushStatusByPushId(PushStatusEnum.SUCCESS.value, pushId); selfPushItemDao.updatePushStatusByPushId(PushStatusEnum.SUCCESS.value, pushId);
...@@ -376,13 +380,14 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -376,13 +380,14 @@ public class SelfPushBizImpl implements SelfPushBiz {
* @param altId * @param altId
* @param selfPushItem * @param selfPushItem
*/ */
public void sendSelfMsg(String userWxId, String altId, SelfPushItem selfPushItem) { public void sendSelfMsg(String userWxId, String altId, SelfPushItem selfPushItem, String uuid, Integer index, Integer counts) {
if (StringUtil.isEmpty(userWxId) || StringUtil.isEmpty(altId)){ if (StringUtil.isEmpty(userWxId) || StringUtil.isEmpty(altId)){
return; return;
} }
if(pcloudRobotBiz.getUserTdState(altId, userWxId) == 1) { if(pcloudRobotBiz.getUserTdState(altId, userWxId) == 1) {
return; return;
} }
RobotProcessTypeEnum robotProcessType = RobotProcessTypeEnum.SELF_PUSH;
Integer code = SendMessageTypeEnum.SELF.getCode(); Integer code = SendMessageTypeEnum.SELF.getCode();
Integer itemType = selfPushItem.getItemType(); Integer itemType = selfPushItem.getItemType();
if (ItemTypeEnum.TEXT.value.equals(itemType)) { if (ItemTypeEnum.TEXT.value.equals(itemType)) {
...@@ -393,7 +398,11 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -393,7 +398,11 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendTextMessageVO.setAltId(altId); sendTextMessageVO.setAltId(altId);
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(getIpByRobot(altId)); sendTextMessageVO.setIp(getIpByRobot(altId));
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setMessageGroupId(uuid);
sendTextMessageVO.setRobotProcessType(robotProcessType);
sendTextMessageVO.setIndex(index);
sendTextMessageVO.setCounts(counts);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
return; return;
} }
if (ItemTypeEnum.LINK.value.equals(itemType)) { if (ItemTypeEnum.LINK.value.equals(itemType)) {
...@@ -407,19 +416,35 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -407,19 +416,35 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendArticleMessageVO.setPicUrl(selfPushItem.getLinkImageUrl()); sendArticleMessageVO.setPicUrl(selfPushItem.getLinkImageUrl());
sendArticleMessageVO.setTitle(selfPushItem.getLinkTitle()); sendArticleMessageVO.setTitle(selfPushItem.getLinkTitle());
sendArticleMessageVO.setIp(getIpByRobot(altId)); sendArticleMessageVO.setIp(getIpByRobot(altId));
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setMessageGroupId(uuid);
sendArticleMessageVO.setRobotProcessType(robotProcessType);
sendArticleMessageVO.setIndex(index);
sendArticleMessageVO.setCounts(counts);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
return; return;
} }
if (ItemTypeEnum.APP.value.equals(itemType)) { if (ItemTypeEnum.APP.value.equals(itemType)) {
AppOrProductReplyDTO appOrProductReplyDTO = new AppOrProductReplyDTO();
appOrProductReplyDTO.setIp(getIpByRobot(altId));
appOrProductReplyDTO.setLinkUrl(selfPushItem.getLinkUrl());
appOrProductReplyDTO.setRobotWxId(altId);
appOrProductReplyDTO.setUserWxId(userWxId);
appOrProductReplyDTO.setSendMessageType(code);
appOrProductReplyDTO.setRobotProcessTypeEnum(robotProcessType);
appOrProductReplyDTO.setCounts(counts);
appOrProductReplyDTO.setIndex(index);
appOrProductReplyDTO.setMessageGroupId(uuid);
//发送应用 //发送应用
if(selfPushItem.getAppId() != null) { if(selfPushItem.getAppId() != null) {
pcloudRobotSet.sendAppOrProductReply(AppAndProductTypeEnum.APP.value, selfPushItem.getAppId(), appOrProductReplyDTO.setServeType(AppAndProductTypeEnum.APP.value);
selfPushItem.getLinkUrl(), altId,userWxId, getIpByRobot(altId), code); appOrProductReplyDTO.setServeId(selfPushItem.getAppId());
pcloudRobotSet.sendAppOrProductReply(appOrProductReplyDTO);
} }
//发送作品 //发送作品
if(selfPushItem.getProductId() != null) { if(selfPushItem.getProductId() != null) {
pcloudRobotSet.sendAppOrProductReply(AppAndProductTypeEnum.PRODUCT.value, selfPushItem.getProductId(), appOrProductReplyDTO.setServeType(AppAndProductTypeEnum.PRODUCT.value);
selfPushItem.getLinkUrl(), altId, userWxId, getIpByRobot(altId), code); appOrProductReplyDTO.setServeId(selfPushItem.getProductId());
pcloudRobotSet.sendAppOrProductReply(appOrProductReplyDTO);
} }
return;//应用类型参与群发C1002391 return;//应用类型参与群发C1002391
} }
...@@ -430,7 +455,11 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -430,7 +455,11 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
sendPicMessageVO.setPicUrl(selfPushItem.getImageUrl()); sendPicMessageVO.setPicUrl(selfPushItem.getImageUrl());
sendPicMessageVO.setIp(getIpByRobot(altId)); sendPicMessageVO.setIp(getIpByRobot(altId));
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setMessageGroupId(uuid);
sendPicMessageVO.setRobotProcessType(robotProcessType);
sendPicMessageVO.setIndex(index);
sendPicMessageVO.setCounts(counts);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
return; return;
} }
if (ItemTypeEnum.RESOURCE.value.equals(itemType)) { if (ItemTypeEnum.RESOURCE.value.equals(itemType)) {
...@@ -451,7 +480,11 @@ public class SelfPushBizImpl implements SelfPushBiz { ...@@ -451,7 +480,11 @@ public class SelfPushBizImpl implements SelfPushBiz {
sendFileVO.setIp(getIpByRobot(altId)); sendFileVO.setIp(getIpByRobot(altId));
sendFileVO.setAltId(altId); sendFileVO.setAltId(altId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setMessageGroupId(uuid);
sendFileVO.setRobotProcessType(robotProcessType);
sendFileVO.setIndex(index);
sendFileVO.setCounts(counts);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
} }
......
package com.pcloud.book.reading.dto;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SendWxMsg4ReadingDTO {
private Integer sendMessageType;
@ApiModelProperty("群规类型(1文本2文件)")
private Integer ruleType;
private String robotId;
private String wxUserId;
@ApiModelProperty("群规")
private String content;
private String resourceId;
private String wxGroupId;
private Integer counts;
private Integer index;
private String messageGroupId;
private RobotProcessTypeEnum robotProcessTypeEnum;
}
package com.pcloud.book.riddle.biz.impl; package com.pcloud.book.riddle.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz; import com.pcloud.book.group.biz.BookGroupClassifyBiz;
...@@ -203,7 +204,8 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz { ...@@ -203,7 +204,8 @@ public class RiddleRecordBizImpl implements RiddleRecordBiz {
sendTextMessageVO.setContent(content); sendTextMessageVO.setContent(content);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
logger.info("发送文本消息," + sendTextMessageVO); logger.info("发送文本消息," + sendTextMessageVO);
WxGroupSDK.sendTextMessage(sendTextMessageVO); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
@ParamLog("发送下一题") @ParamLog("发送下一题")
......
package com.pcloud.book.skill.biz.impl; package com.pcloud.book.skill.biz.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.label.LabelConsr; import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO; import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO;
import com.pcloud.book.reading.biz.ReadingActivityBiz; import com.pcloud.book.reading.biz.ReadingActivityBiz;
...@@ -21,10 +23,12 @@ import com.pcloud.common.core.aspect.ParamLog; ...@@ -21,10 +23,12 @@ import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam; import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.string.StringUtilParent; import com.pcloud.common.utils.string.StringUtilParent;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import com.sdk.wxgroup.SendGroupInviteVO; import com.sdk.wxgroup.SendGroupInviteVO;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.WxGroupSDK; import com.sdk.wxgroup.WxGroupSDK;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -32,6 +36,7 @@ import java.util.Date; ...@@ -32,6 +36,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.UUID;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -51,6 +56,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -51,6 +56,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
private ReadingActivityBiz readingActivityBiz; private ReadingActivityBiz readingActivityBiz;
@Resource @Resource
private LabelConsr labelConsr; private LabelConsr labelConsr;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@ParamLog("保存共读活动") @ParamLog("保存共读活动")
@Override @Override
...@@ -101,6 +108,9 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -101,6 +108,9 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
log.error("[processGroup] error 共读不存在"); log.error("[processGroup] error 共读不存在");
return; return;
} }
Integer count= 1;
String messageGroup = UUID.randomUUID().toString();
Integer index = 0;
if (0 == byId.getJoinType()) { if (0 == byId.getJoinType()) {
GroupQrcodeBaseInfoVO groupQrcode = groupQrcodeBiz.getBaseById(byId.getBookGroupQrcodeId()); GroupQrcodeBaseInfoVO groupQrcode = groupQrcodeBiz.getBaseById(byId.getBookGroupQrcodeId());
if (Objects.isNull(groupQrcode)) { if (Objects.isNull(groupQrcode)) {
...@@ -112,7 +122,11 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -112,7 +122,11 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
vo.setAltId(robotWxId); vo.setAltId(robotWxId);
vo.setIp(readingActivityBiz.getIP(robotWxId)); vo.setIp(readingActivityBiz.getIP(robotWxId));
vo.setWxGroupId(groupQrcode.getWeixinGroupId()); vo.setWxGroupId(groupQrcode.getWeixinGroupId());
WxGroupSDK.sendGroupInvite(vo); vo.setCounts(count);
vo.setMessageGroupId(messageGroup);
vo.setIndex(index);
vo.setRobotProcessType(RobotProcessTypeEnum.SKILL_REPLY);
wechatGroupConsr.sendMessage(JSON.toJSONString(vo));
log.info("[processGroup] sendGroupInvite:{}", vo); log.info("[processGroup] sendGroupInvite:{}", vo);
} }
if (1 == byId.getJoinType()) { if (1 == byId.getJoinType()) {
...@@ -121,7 +135,11 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -121,7 +135,11 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
vo.setWxGroupId(wxId); vo.setWxGroupId(wxId);
vo.setAltId(robotWxId); vo.setAltId(robotWxId);
vo.setIp(readingActivityBiz.getIP(robotWxId)); vo.setIp(readingActivityBiz.getIP(robotWxId));
WxGroupSDK.sendPicMessage(vo); vo.setCounts(count);
vo.setMessageGroupId(messageGroup);
vo.setIndex(index);
vo.setRobotProcessType(RobotProcessTypeEnum.SKILL_REPLY);
wechatGroupConsr.sendMessage(JSON.toJSONString(vo));
} }
} }
......
package com.pcloud.book.skill.biz.impl; package com.pcloud.book.skill.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; 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.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
...@@ -19,6 +20,7 @@ import com.pcloud.book.skill.dao.PcloudGroupActivityDao; ...@@ -19,6 +20,7 @@ import com.pcloud.book.skill.dao.PcloudGroupActivityDao;
import com.pcloud.book.skill.dao.PcloudResourceDao; import com.pcloud.book.skill.dao.PcloudResourceDao;
import com.pcloud.book.skill.dao.PcloudSkillDao; import com.pcloud.book.skill.dao.PcloudSkillDao;
import com.pcloud.book.skill.dao.PcloudSubReplyDao; import com.pcloud.book.skill.dao.PcloudSubReplyDao;
import com.pcloud.book.skill.dto.AppOrProductReplyDTO;
import com.pcloud.book.skill.entity.PcloudGroupActivity; import com.pcloud.book.skill.entity.PcloudGroupActivity;
import com.pcloud.book.skill.entity.PcloudResource; import com.pcloud.book.skill.entity.PcloudResource;
import com.pcloud.book.skill.entity.PcloudSkill; import com.pcloud.book.skill.entity.PcloudSkill;
...@@ -442,6 +444,9 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz { ...@@ -442,6 +444,9 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz {
} }
private void sendSubReplyMessage(List<PcloudSubReply> subReplyList, String robotWxId, String userWxId) { private void sendSubReplyMessage(List<PcloudSubReply> subReplyList, String robotWxId, String userWxId) {
this.fillRelies(subReplyList); this.fillRelies(subReplyList);
Integer count = subReplyList.size();
Integer index = 0;
String messageGroupId = UUID.randomUUID().toString();
for(PcloudSubReply reply : subReplyList) { for(PcloudSubReply reply : subReplyList) {
Integer type = reply.getType(); Integer type = reply.getType();
GroupRobotDTO groupRobotDTO = wechatGroupConsr.getGroupRobotByWxId(robotWxId); GroupRobotDTO groupRobotDTO = wechatGroupConsr.getGroupRobotByWxId(robotWxId);
...@@ -453,7 +458,11 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz { ...@@ -453,7 +458,11 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setCounts(count);
sendTextMessageVO.setIndex(index);
sendTextMessageVO.setMessageGroupId(messageGroupId);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.SKILL_REPLY);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if(WelcomeReplyTypeEnum.IMAGE.value.equals(type)) { } else if(WelcomeReplyTypeEnum.IMAGE.value.equals(type)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
...@@ -461,7 +470,11 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz { ...@@ -461,7 +470,11 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz {
sendPicMessageVO.setPicUrl(reply.getPicUrl()); sendPicMessageVO.setPicUrl(reply.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setCounts(count);
sendPicMessageVO.setIndex(index);
sendPicMessageVO.setMessageGroupId(messageGroupId);
sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.SKILL_REPLY);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if(WelcomeReplyTypeEnum.RESOURCE.value.equals(type)) { } else if(WelcomeReplyTypeEnum.RESOURCE.value.equals(type)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
sendFileVO.setFileUrl(reply.getResourceUrl()); sendFileVO.setFileUrl(reply.getResourceUrl());
...@@ -472,11 +485,27 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz { ...@@ -472,11 +485,27 @@ public class PcloudSkillBizImpl implements PcloudSkillBiz {
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setCounts(count);
sendFileVO.setIndex(index);
sendFileVO.setMessageGroupId(messageGroupId);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.SKILL_REPLY);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} else if(ReplyTypeEnum.APP.value.equals(type)) { } else if(ReplyTypeEnum.APP.value.equals(type)) {
pcloudRobotSet.sendAppOrProductReply(reply.getServeType(), reply.getServeId(), AppOrProductReplyDTO appOrProductReplyDTO = new AppOrProductReplyDTO();
reply.getLinkUrl(), robotWxId,userWxId, ip, SendMessageTypeEnum.SELF.getCode()); appOrProductReplyDTO.setCounts(count);
} appOrProductReplyDTO.setIndex(index);
appOrProductReplyDTO.setIp(ip);
appOrProductReplyDTO.setLinkUrl(reply.getLinkUrl());
appOrProductReplyDTO.setMessageGroupId(messageGroupId);
appOrProductReplyDTO.setRobotWxId(robotWxId);
appOrProductReplyDTO.setRobotProcessTypeEnum(RobotProcessTypeEnum.SKILL_REPLY);
appOrProductReplyDTO.setServeId(reply.getServeId());
appOrProductReplyDTO.setServeType(reply.getServeType());
appOrProductReplyDTO.setUserWxId(userWxId);
appOrProductReplyDTO.setSendMessageType(SendMessageTypeEnum.SELF.getCode());
pcloudRobotSet.sendAppOrProductReply(appOrProductReplyDTO);
}
index++;
} }
} }
......
package com.pcloud.book.skill.biz.impl; package com.pcloud.book.skill.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
...@@ -80,11 +81,15 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -80,11 +81,15 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
if(ListUtils.isEmpty(replyMsgList)){ if(ListUtils.isEmpty(replyMsgList)){
continue; continue;
} }
Integer count= 1;
String messageGroup = UUID.randomUUID().toString();
Integer index = 0;
for (PcloudSubReply pcloudSubReply : replyMsgList) { for (PcloudSubReply pcloudSubReply : replyMsgList) {
Date sendTime = DateUtils.addMinute(createTime, pcloudSubReply.getRemindIntervalTime()); Date sendTime = DateUtils.addMinute(createTime, pcloudSubReply.getRemindIntervalTime());
if(format.format(sendTime).equals(format.format(compareTime))){ if(format.format(sendTime).equals(format.format(compareTime))){
this.sendSubReplyMessage(Arrays.asList(pcloudSubReply), pcloudSubRemind.getRobotWxId(), pcloudSubRemind.getWxUserId(),pcloudSubRemind.getRelSkillId(),pcloudSubRemind.getSkillType()); this.sendSubReplyMessage(Arrays.asList(pcloudSubReply), pcloudSubRemind.getRobotWxId(), pcloudSubRemind.getWxUserId(),pcloudSubRemind.getRelSkillId(),pcloudSubRemind.getSkillType(), messageGroup, count, index);
} }
// index++;
} }
// System.out.println(22); // System.out.println(22);
} }
...@@ -147,7 +152,7 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -147,7 +152,7 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
} }
} }
private void sendSubReplyMessage(List<PcloudSubReply> subReplyList, String robotWxId, String userWxId, Integer relSkillId, Integer skillType) { private void sendSubReplyMessage(List<PcloudSubReply> subReplyList, String robotWxId, String userWxId, Integer relSkillId, Integer skillType,String messageGroupId, Integer count, Integer index) {
this.fillRelies(subReplyList); this.fillRelies(subReplyList);
for (PcloudSubReply reply : subReplyList) { for (PcloudSubReply reply : subReplyList) {
Integer type = reply.getType(); Integer type = reply.getType();
...@@ -160,7 +165,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -160,7 +165,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendTextMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setCounts(count);
sendTextMessageVO.setMessageGroupId(messageGroupId);
sendTextMessageVO.setIndex(index);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.PCLOUD_SUB_REMIND);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} else if (WelcomeReplyTypeEnum.IMAGE.value.equals(type)) { } else if (WelcomeReplyTypeEnum.IMAGE.value.equals(type)) {
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
sendPicMessageVO.setWxGroupId(userWxId); sendPicMessageVO.setWxGroupId(userWxId);
...@@ -168,7 +177,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -168,7 +177,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
sendPicMessageVO.setPicUrl(reply.getPicUrl()); sendPicMessageVO.setPicUrl(reply.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendPicMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setCounts(count);
sendPicMessageVO.setMessageGroupId(messageGroupId);
sendPicMessageVO.setIndex(index);
sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.PCLOUD_SUB_REMIND);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if (WelcomeReplyTypeEnum.RESOURCE.value.equals(type)) { } else if (WelcomeReplyTypeEnum.RESOURCE.value.equals(type)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
sendFileVO.setFileUrl(reply.getResourceUrl()); sendFileVO.setFileUrl(reply.getResourceUrl());
...@@ -179,7 +192,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -179,7 +192,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(userWxId); sendFileVO.setWxId(userWxId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setCounts(count);
sendFileVO.setMessageGroupId(messageGroupId);
sendFileVO.setIndex(index);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.PCLOUD_SUB_REMIND);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} else if (ReplyTypeEnum.APP.value.equals(type)) { } else if (ReplyTypeEnum.APP.value.equals(type)) {
Long serveId = reply.getServeId(); Long serveId = reply.getServeId();
if (AppAndProductTypeEnum.APP.value.equals(reply.getServeType())) { if (AppAndProductTypeEnum.APP.value.equals(reply.getServeType())) {
...@@ -198,7 +215,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -198,7 +215,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
sendArticleMessageVO.setPicUrl(reply.getPicUrl()); sendArticleMessageVO.setPicUrl(reply.getPicUrl());
sendArticleMessageVO.setTitle(reply.getContent()); sendArticleMessageVO.setTitle(reply.getContent());
sendArticleMessageVO.setIp(ip); sendArticleMessageVO.setIp(ip);
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setCounts(count);
sendArticleMessageVO.setMessageGroupId(messageGroupId);
sendArticleMessageVO.setIndex(index);
sendArticleMessageVO.setRobotProcessType(RobotProcessTypeEnum.PCLOUD_SUB_REMIND);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} }
} }
} }
...@@ -216,7 +237,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz { ...@@ -216,7 +237,11 @@ public class PcloudSubRemindBizImpl implements PcloudSubRemindBiz {
String resultUrl = UrlUtils.getShortUrl4Own(finishLinkUrl); String resultUrl = UrlUtils.getShortUrl4Own(finishLinkUrl);
content = content + "\n" + resultUrl; content = content + "\n" + resultUrl;
sendTextMessageVO.setContent(content); sendTextMessageVO.setContent(content);
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setCounts(count);
sendTextMessageVO.setMessageGroupId(messageGroupId);
sendTextMessageVO.setIndex(index);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.PCLOUD_SUB_REMIND);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));
} }
} }
} }
......
package com.pcloud.book.skill.dto;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppOrProductReplyDTO {
@ApiModelProperty("应用或作品类型")
private String serveType;
@ApiModelProperty("应用或作品id")
private Long serveId;
@ApiModelProperty("链接地址")
private String linkUrl;
private String robotWxId;
private String userWxId;
private String ip;
private Integer sendMessageType;
private Integer counts;
private Integer index;
private String messageGroupId;
private RobotProcessTypeEnum robotProcessTypeEnum;
public AppOrProductReplyDTO(String serveType, Long serveId, String linkUrl, String robotWxId, String userWxId, String ip,
Integer sendMessageType, Integer counts, Integer index, String messageGroupId, RobotProcessTypeEnum robotProcessTypeEnum) {
this.serveType = serveType;
this.serveId = serveId;
this.linkUrl = linkUrl;
this.robotWxId = robotWxId;
this.userWxId = userWxId;
this.ip = ip;
this.sendMessageType = sendMessageType;
this.counts = counts;
this.index = index;
this.messageGroupId = messageGroupId;
this.robotProcessTypeEnum = robotProcessTypeEnum;
}
public AppOrProductReplyDTO() {
}
}
...@@ -42,7 +42,6 @@ import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; ...@@ -42,7 +42,6 @@ import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.pcloud.wechatgroup.group.dto.GroupUserDTO; import com.pcloud.wechatgroup.group.dto.GroupUserDTO;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -226,7 +225,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz { ...@@ -226,7 +225,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz {
sendTextMessageVO.setAltId(robotWxId); sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(userWxId); sendTextMessageVO.setWxGroupId(userWxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
WxGroupSDK.sendTextMessage(sendTextMessageVO); //WxGroupSDK.sendTextMessage(sendTextMessageVO);
}); });
} }
} }
...@@ -368,7 +367,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz { ...@@ -368,7 +367,7 @@ public class SelfPlanBizImpl implements SelfPlanBiz {
sendTextMessageVO.setAltId(robotWxId); sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(wxId); sendTextMessageVO.setWxGroupId(wxId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
WxGroupSDK.sendTextMessage(sendTextMessageVO); //WxGroupSDK.sendTextMessage(sendTextMessageVO);
} }
} }
......
package com.pcloud.book.timecontrol.biz.impl; package com.pcloud.book.timecontrol.biz.impl;
import com.alibaba.fastjson.JSON;
import com.pcloud.appcenter.app.dto.AppDto; 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.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
...@@ -61,12 +62,12 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO; ...@@ -61,12 +62,12 @@ import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.labelcenter.label.service.LabelService; import com.pcloud.labelcenter.label.service.LabelService;
import com.pcloud.wechatgroup.base.exception.WechatGroupBizException; import com.pcloud.wechatgroup.base.exception.WechatGroupBizException;
import com.pcloud.wechatgroup.group.dto.GroupRobotDTO; import com.pcloud.wechatgroup.group.dto.GroupRobotDTO;
import com.sdk.wxgroup.RobotProcessTypeEnum;
import com.sdk.wxgroup.SendArticleMessageVO; import com.sdk.wxgroup.SendArticleMessageVO;
import com.sdk.wxgroup.SendFileVO; import com.sdk.wxgroup.SendFileVO;
import com.sdk.wxgroup.SendMessageTypeEnum; import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -83,6 +84,7 @@ import java.util.List; ...@@ -83,6 +84,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.UUID;
/** /**
* @date: 2020年01月30日 14:20 * @date: 2020年01月30日 14:20
...@@ -616,6 +618,7 @@ public class TaskBizImpl implements TaskBiz { ...@@ -616,6 +618,7 @@ public class TaskBizImpl implements TaskBiz {
} }
private void sendMessage(TimeControlPrizeItem timeControlPrizeItem, String ip, String wxUserId, String robotWxId) { private void sendMessage(TimeControlPrizeItem timeControlPrizeItem, String ip, String wxUserId, String robotWxId) {
String groupId = UUID.randomUUID().toString();
if (timeControlPrizeItem.getPrizeType() == 1) { if (timeControlPrizeItem.getPrizeType() == 1) {
//优惠券 //优惠券
SendTextMessageVO sendTextMessageVO = new SendTextMessageVO(); SendTextMessageVO sendTextMessageVO = new SendTextMessageVO();
...@@ -625,7 +628,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -625,7 +628,11 @@ public class TaskBizImpl implements TaskBiz {
sendTextMessageVO.setAltId(robotWxId); sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setIndex(0);
sendTextMessageVO.setCounts(1);
sendTextMessageVO.setMessageGroupId(groupId);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} else if (timeControlPrizeItem.getPrizeType() == 2) { } else if (timeControlPrizeItem.getPrizeType() == 2) {
//应用 //应用
if (AppAndProductTypeEnum.APP.value.equals(timeControlPrizeItem.getServeType())) { if (AppAndProductTypeEnum.APP.value.equals(timeControlPrizeItem.getServeType())) {
...@@ -645,7 +652,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -645,7 +652,11 @@ public class TaskBizImpl implements TaskBiz {
sendArticleMessageVO.setPicUrl(appDto.getSquareImg()); sendArticleMessageVO.setPicUrl(appDto.getSquareImg());
sendArticleMessageVO.setTitle(appDto.getTitle()); sendArticleMessageVO.setTitle(appDto.getTitle());
sendArticleMessageVO.setIp(ip); sendArticleMessageVO.setIp(ip);
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setIndex(0);
sendArticleMessageVO.setCounts(1);
sendArticleMessageVO.setMessageGroupId(groupId);
sendArticleMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} }
} }
} else if (timeControlPrizeItem.getPrizeType() == 3) { } else if (timeControlPrizeItem.getPrizeType() == 3) {
...@@ -657,7 +668,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -657,7 +668,11 @@ public class TaskBizImpl implements TaskBiz {
sendFileVO.setIp(ip); sendFileVO.setIp(ip);
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(wxUserId); sendFileVO.setWxId(wxUserId);
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setIndex(0);
sendFileVO.setCounts(1);
sendFileVO.setMessageGroupId(groupId);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
} }
} }
} }
...@@ -669,9 +684,12 @@ public class TaskBizImpl implements TaskBiz { ...@@ -669,9 +684,12 @@ public class TaskBizImpl implements TaskBiz {
@Override @Override
public void sendReplyMessage(List<TimeControlReplyMessage> replyMessages, String wxUserId, String robotWxId, String ip) { public void sendReplyMessage(List<TimeControlReplyMessage> replyMessages, String wxUserId, String robotWxId, String ip) {
String groupId = UUID.randomUUID().toString();
int counts = replyMessages.size();
if (!ListUtils.isEmpty(replyMessages)) { if (!ListUtils.isEmpty(replyMessages)) {
LOGGER.info("开始发送完成信息"); LOGGER.info("开始发送完成信息");
for (TimeControlReplyMessage replyMessage : replyMessages) { for (int i = 0; i < replyMessages.size(); i++) {
TimeControlReplyMessage replyMessage = replyMessages.get(i);
if (replyMessage != null) { if (replyMessage != null) {
Integer replyType = replyMessage.getReplyType(); Integer replyType = replyMessage.getReplyType();
if (ReplyTypeEnum.TEXT.value.equals(replyType)) { if (ReplyTypeEnum.TEXT.value.equals(replyType)) {
...@@ -683,7 +701,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -683,7 +701,11 @@ public class TaskBizImpl implements TaskBiz {
sendTextMessageVO.setAltId(robotWxId); sendTextMessageVO.setAltId(robotWxId);
sendTextMessageVO.setWxGroupId(wxUserId); sendTextMessageVO.setWxGroupId(wxUserId);
sendTextMessageVO.setIp(ip); sendTextMessageVO.setIp(ip);
WxGroupSDK.sendTextMessage(sendTextMessageVO); sendTextMessageVO.setIndex(i);
sendTextMessageVO.setCounts(counts);
sendTextMessageVO.setMessageGroupId(groupId);
sendTextMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendTextMessageVO));;
} else if (ReplyTypeEnum.IMAGE.value.equals(replyType)) { } else if (ReplyTypeEnum.IMAGE.value.equals(replyType)) {
// 发送图片 // 发送图片
SendPicMessageVO sendPicMessageVO = new SendPicMessageVO(); SendPicMessageVO sendPicMessageVO = new SendPicMessageVO();
...@@ -692,7 +714,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -692,7 +714,11 @@ public class TaskBizImpl implements TaskBiz {
sendPicMessageVO.setWxGroupId(wxUserId); sendPicMessageVO.setWxGroupId(wxUserId);
sendPicMessageVO.setPicUrl(replyMessage.getPicUrl()); sendPicMessageVO.setPicUrl(replyMessage.getPicUrl());
sendPicMessageVO.setIp(ip); sendPicMessageVO.setIp(ip);
WxGroupSDK.sendPicMessage(sendPicMessageVO); sendPicMessageVO.setIndex(i);
sendPicMessageVO.setCounts(counts);
sendPicMessageVO.setMessageGroupId(groupId);
sendPicMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendPicMessageVO));
} else if (ReplyTypeEnum.APP.value.equals(replyType)) { } else if (ReplyTypeEnum.APP.value.equals(replyType)) {
Long serveId = replyMessage.getServeId(); Long serveId = replyMessage.getServeId();
String completeLink = null; String completeLink = null;
...@@ -718,7 +744,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -718,7 +744,11 @@ public class TaskBizImpl implements TaskBiz {
sendArticleMessageVO.setPicUrl(replyMessage.getPicUrl()); sendArticleMessageVO.setPicUrl(replyMessage.getPicUrl());
sendArticleMessageVO.setTitle(replyMessage.getContent()); sendArticleMessageVO.setTitle(replyMessage.getContent());
sendArticleMessageVO.setIp(ip); sendArticleMessageVO.setIp(ip);
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setIndex(i);
sendArticleMessageVO.setCounts(counts);
sendArticleMessageVO.setMessageGroupId(groupId);
sendArticleMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} else if (ReplyTypeEnum.RESOURCE.value.equals(replyType)) { } else if (ReplyTypeEnum.RESOURCE.value.equals(replyType)) {
SendFileVO sendFileVO = new SendFileVO(); SendFileVO sendFileVO = new SendFileVO();
Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(replyMessage.getResourceId())); Map<Long, ResourceDTO> map = resourceConsr.mapByIds(Arrays.asList(replyMessage.getResourceId()));
...@@ -738,7 +768,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -738,7 +768,11 @@ public class TaskBizImpl implements TaskBiz {
sendFileVO.setAltId(robotWxId); sendFileVO.setAltId(robotWxId);
sendFileVO.setWxId(wxUserId); sendFileVO.setWxId(wxUserId);
sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendFileVO.setCode(SendMessageTypeEnum.SELF.getCode());
WxGroupSDK.sendFile(sendFileVO); sendFileVO.setIndex(i);
sendFileVO.setCounts(counts);
sendFileVO.setMessageGroupId(groupId);
sendFileVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendFileVO));
}else if (ReplyTypeEnum.LINK.value.equals(replyType)) { }else if (ReplyTypeEnum.LINK.value.equals(replyType)) {
SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO(); SendArticleMessageVO sendArticleMessageVO = new SendArticleMessageVO();
sendArticleMessageVO.setCode(SendMessageTypeEnum.SELF.getCode()); sendArticleMessageVO.setCode(SendMessageTypeEnum.SELF.getCode());
...@@ -749,7 +783,11 @@ public class TaskBizImpl implements TaskBiz { ...@@ -749,7 +783,11 @@ public class TaskBizImpl implements TaskBiz {
sendArticleMessageVO.setPicUrl(replyMessage.getPicUrl()); sendArticleMessageVO.setPicUrl(replyMessage.getPicUrl());
sendArticleMessageVO.setTitle(replyMessage.getContent()); sendArticleMessageVO.setTitle(replyMessage.getContent());
sendArticleMessageVO.setIp(ip); sendArticleMessageVO.setIp(ip);
WxGroupSDK.sendArticleMessage(sendArticleMessageVO); sendArticleMessageVO.setIndex(i);
sendArticleMessageVO.setCounts(counts);
sendArticleMessageVO.setMessageGroupId(groupId);
sendArticleMessageVO.setRobotProcessType(RobotProcessTypeEnum.TIME_CONTROL);
wechatGroupConsr.sendMessage(JSON.toJSONString(sendArticleMessageVO));
} }
} }
} }
......
package com.pcloud.book.weixinclock.biz.impl; package com.pcloud.book.weixinclock.biz.impl;
import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
...@@ -711,7 +712,8 @@ public class WeixinClockBizImpl implements WeixinClockBiz { ...@@ -711,7 +712,8 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
} }
vo.setContent(sendContent); vo.setContent(sendContent);
LOGGER.info("微信群内加入并打卡:发送微信消息vo="+vo); LOGGER.info("微信群内加入并打卡:发送微信消息vo="+vo);
WxGroupSDK.sendTextMessage(vo); // TODO sdk.message
wechatGroupConsr.sendMessage(JSON.toJSONString(vo));
return true; return true;
} }
......
...@@ -22,7 +22,7 @@ spring: ...@@ -22,7 +22,7 @@ spring:
removeAbandonedTimeout: 180 removeAbandonedTimeout: 180
logAbandoned: true logAbandoned: true
timeBetweenEvictionRunsMillis: 3000 timeBetweenEvictionRunsMillis: 3000
minEvictableIdleTimeMillis: 3600000 minEvictableIdleTimeMillis: 3600000git
validationQuery: SELECT 'x' FROM DUAL validationQuery: SELECT 'x' FROM DUAL
testWhileIdle: true testWhileIdle: true
testOnBorrow: false testOnBorrow: false
......
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