记得上下班打卡 | git大法好,push需谨慎

Commit bcdba969 authored by jiangxiulong's avatar jiangxiulong

关注发送模版消息

parent bdee729d
......@@ -5,6 +5,7 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.sweet.entity.SweetWechatUser;
import com.liquidnet.service.sweet.mapper.SweetWechatUserMapper;
import com.liquidnet.service.sweet.service.impl.SweetWechatTemplateServiceImpl;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
......@@ -36,6 +37,9 @@ public class SubscribeHandler implements WxMpMessageHandler {
@Autowired
private RedisDataUtils redisDataUtils;
@Autowired
private SweetWechatTemplateServiceImpl sweetWechatTemplateService;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService,
WxSessionManager sessionManager) throws WxErrorException {
......@@ -65,6 +69,7 @@ public class SubscribeHandler implements WxMpMessageHandler {
if (null == userInfo) {
sweetWechatUser.setUserId(IDGenerator.nextSnowId());
sweetWechatUserMapper.insert(sweetWechatUser);
sweetWechatTemplateService.subscribeSend(sweetWechatUser);
} else {
sweetWechatUser.setUpdatedAt(LocalDateTime.now());
sweetWechatUserMapper.update(sweetWechatUser, Wrappers.lambdaUpdate(SweetWechatUser.class).eq(SweetWechatUser::getUserId, userInfo.getUserId()));
......
......@@ -73,7 +73,7 @@ public class SweetWechatTemplateServiceImpl {
}
KylinTicketTimesVo kylinTicketTimesVo = performanceVo.getTicketTimeList().get(0);
LocalDateTime nowTime = LocalDateTime.now();
LocalDateTime nowTime = LocalDateTime.now();
// LocalDateTime newNowTime = nowTime.minusMinutes(5);
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nowTime);
String sellTime = performanceVo.getSellTime();
......@@ -101,7 +101,7 @@ public class SweetWechatTemplateServiceImpl {
// 模板id
.templateId(templateId)
// 模板跳转链接
.url(h5Url.concat("/#/ticket/detail?id=").concat(remindInfo.getPerformancesId()))
.url(h5Url.concat("/#/ticket/detail?id=").concat(remindInfo.getPerformancesId()))
.build();
// 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "您关注的演出即将开始售票"))
......@@ -130,12 +130,64 @@ public class SweetWechatTemplateServiceImpl {
return ResponseDto.success();
}
public ResponseDto sendMsg()
{
public ResponseDto sendMsg() {
String templateId = "CNLDBZYQoDgTWudicx8WU81Jr9b6RyG9hmK4O0tpK-k";
return send(templateId);
}
public void subscribeSend(SweetWechatUser sweetWechatUser) {
String templateId = "y-j82V1TYhlTH1j8QscuDPcPQtNiDtENb7N5IZMBvqU";
try {
WxMpTemplateMessage templateMessage = getTemplateMessage(templateId, sweetWechatUser.getOpenId(), "");
// 添加模板数据
templateMessage.addData(new WxMpTemplateData("first", "感谢关注"))
.addData(new WxMpTemplateData("keyword1", "操作流程"))
.addData(new WxMpTemplateData("keyword2", "客服电话"))
.addData(new WxMpTemplateData("remark", "这里是备注"));
String msgId = sendTmpMsg(templateMessage);
} catch (Exception e) {
log.error("关注模版消息处理异常", e);
}
}
/**
* 获取templateMessage
* @param templateId
* @param openId
* @param url
* @return
*/
private WxMpTemplateMessage getTemplateMessage(String templateId, String openId, String url) {
WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
// 接收者openid
.toUser(openId)
// 模板id
.templateId(templateId)
// 模板跳转链接
.url(url)
.build();
return templateMessage;
}
/**
* 发送消息
* @param templateMessage
* @return
*/
private String sendTmpMsg(WxMpTemplateMessage templateMessage) {
String msgId = null;
try {
// 发送模板消息
WxMpConfigStorage wxMpConfig = wxMpConfig(appid, secret);
WxMpService wxMpService = wxMpService(wxMpConfig);
msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
} catch (WxErrorException e) {
log.error("模版消息发送异常", e);
}
log.info("模版消息发送成功:[msgId=[{}]", msgId);
return msgId;
}
private WxMpConfigStorage wxMpConfig(String appId, String appSecret) {
WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
config.setAppId(appId);
......
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