|
@@ -102,8 +102,9 @@ public class WechatCallbackController {
|
|
String createTime = root.elementText("CreateTime");
|
|
String createTime = root.elementText("CreateTime");
|
|
|
|
|
|
// 处理关注/扫码事件
|
|
// 处理关注/扫码事件
|
|
- if ("subscribe".equals(event) || "SCAN".equals(event)) {
|
|
|
|
|
|
+ if ("subscribe".equals(event)) {
|
|
handleSubscribeOrScan(event, openId, eventKey, ticket, createTime, request);
|
|
handleSubscribeOrScan(event, openId, eventKey, ticket, createTime, request);
|
|
|
|
+ return buildWelcomeMessage(root);
|
|
}
|
|
}
|
|
// 处理取消关注事件
|
|
// 处理取消关注事件
|
|
else if ("unsubscribe".equals(event)) {
|
|
else if ("unsubscribe".equals(event)) {
|
|
@@ -119,6 +120,27 @@ public class WechatCallbackController {
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private String buildWelcomeMessage(Element root) {
|
|
|
|
+ return String.format(
|
|
|
|
+ "<xml>" +
|
|
|
|
+ "<ToUserName><![CDATA[%s]]></ToUserName>" +
|
|
|
|
+ "<FromUserName><![CDATA[%s]]></FromUserName>" +
|
|
|
|
+ "<CreateTime>%d</CreateTime>" +
|
|
|
|
+ "<MsgType><![CDATA[news]]></MsgType>" +
|
|
|
|
+ "<ArticleCount>1</ArticleCount>" +
|
|
|
|
+ "<Articles>" +
|
|
|
|
+ "<item>" +
|
|
|
|
+ "<Title><![CDATA[欢迎关注]]></Title>" + // 必须字段
|
|
|
|
+ "<Description><![CDATA[点击关注公众号]]></Description>" +
|
|
|
|
+ "<Url><![CDATA[https://mobcrm.ttkuaiban.com/guideAttentionToOfficialAccount]]></Url>" +
|
|
|
|
+ "</item>" +
|
|
|
|
+ "</Articles>" +
|
|
|
|
+ "</xml>",
|
|
|
|
+ root.elementText("FromUserName"),
|
|
|
|
+ root.elementText("ToUserName"),
|
|
|
|
+ System.currentTimeMillis() / 1000);
|
|
|
|
+ }
|
|
|
|
|
|
private void handleSubscribeOrScan(String event, String openId, String eventKey,
|
|
private void handleSubscribeOrScan(String event, String openId, String eventKey,
|
|
String ticket, String createTime,
|
|
String ticket, String createTime,
|
|
@@ -198,12 +220,6 @@ public class WechatCallbackController {
|
|
log.info("用户关注服务号销售人员的二维码,绑定销售人员和用户id成功");
|
|
log.info("用户关注服务号销售人员的二维码,绑定销售人员和用户id成功");
|
|
|
|
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- followRecord.setIsFollow(true);
|
|
|
|
- followRecord.setFollowTime(LocalDateTime.now());
|
|
|
|
- followRecord.setSalesmanId(salesmanId);
|
|
|
|
- followMapper.update(followRecord);
|
|
|
|
- log.info("更新用户关注成功");
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|