|
@@ -130,9 +130,67 @@ public class WxMsgController {
|
|
String eventType = ObjectUtils.toString(map.get("Event"));//事件类型
|
|
String eventType = ObjectUtils.toString(map.get("Event"));//事件类型
|
|
// String nickName = getUserNickName(fromUserName);
|
|
// String nickName = getUserNickName(fromUserName);
|
|
if(MessageUtil.MSGTYPE_EVENT.equals(msgType)){//如果为事件类型
|
|
if(MessageUtil.MSGTYPE_EVENT.equals(msgType)){//如果为事件类型
|
|
- if(MessageUtil.SUBSCIBE_EVENT.equals(eventType)){//处理订阅事件
|
|
|
|
|
|
+ if(MessageUtil.SCAN_EVENT.equalsIgnoreCase(eventType)) {// 扫描事件
|
|
JSONObject parseUnionObject = WxTemplateUtil.parseWxOpenIdBySubscribe(wxAccessTokenVO.getAccessToken(), fromUserName);
|
|
JSONObject parseUnionObject = WxTemplateUtil.parseWxOpenIdBySubscribe(wxAccessTokenVO.getAccessToken(), fromUserName);
|
|
- System.out.println("parseUnionObject:" + parseUnionObject.toString());
|
|
|
|
|
|
+ System.out.println("scan parseUnionObject:" + parseUnionObject.toString());
|
|
|
|
+
|
|
|
|
+ String eventKey = ObjectUtils.toString(map.get("EventKey"));
|
|
|
|
+ Object obj = redisUtil.get(RedisKeyConstant.YUANSERVICE_QRCODE + ":" + eventKey);
|
|
|
|
+ log.info("用户扫描: " + fromUserName + ": " + ObjectUtils.toString(map.get("EventKey")));
|
|
|
|
+ if (obj == null) {
|
|
|
|
+ return "failure";
|
|
|
|
+ }
|
|
|
|
+ String[] arrs = Objects.toString(obj).split(":");
|
|
|
|
+ if (arrs == null || arrs.length != 2) {
|
|
|
|
+ return "failure";
|
|
|
|
+ }
|
|
|
|
+ CareDevice careDevice = careDeviceService.getById(arrs[0]);
|
|
|
|
+ if (careDevice == null) {
|
|
|
|
+ log.info("设备不存在: " + arrs[0]);
|
|
|
|
+ return "failure";
|
|
|
|
+ }
|
|
|
|
+ if (parseUnionObject != null) {
|
|
|
|
+ HouseContactVO houseContactVO = new HouseContactVO();
|
|
|
|
+ houseContactVO.setContactName(parseUnionObject.getStr("nickname"));
|
|
|
|
+ houseContactVO.setCreateTime(new Date());
|
|
|
|
+ String gender = "";
|
|
|
|
+ if ("0".equalsIgnoreCase(parseUnionObject.getStr("sex"))) {
|
|
|
|
+ gender = "M";
|
|
|
|
+ } else if ("1".equalsIgnoreCase(parseUnionObject.getStr("sex"))) {
|
|
|
|
+ gender = "W";
|
|
|
|
+ }
|
|
|
|
+ houseContactVO.setGender(gender);
|
|
|
|
+ houseContactVO.setOpenId(fromUserName);
|
|
|
|
+ houseContactVO.setMemberId(NumberUtils.toLong(arrs[1]));
|
|
|
|
+ boolean saved = pinanbaoContactService.createOrUpdateMyContact(NumberUtils.toLong(arrs[0]), houseContactVO);
|
|
|
|
+ if (!saved) {
|
|
|
|
+ log.error("保存订阅用户出现错误: " + JSONUtil.toJsonStr(houseContactVO));
|
|
|
|
+ return "failure";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ // 正式环境
|
|
|
|
+ String templateId = "W7tT8QGmrBQNVimt6l6w55DBwSH5MBUiFgJxf3gjIV4";
|
|
|
|
+ // 测试环境
|
|
|
|
+// String templateId = "gvJ1g3JOThT5IuQc1In6D2cwKwmKz9MBIkGdkXtXOTI";
|
|
|
|
+
|
|
|
|
+ Map<String, TemplateDataDTO> data = new HashMap<>();
|
|
|
|
+ data.put("first", new TemplateDataDTO("您已关联该监护人", "#459ae9"));
|
|
|
|
+ data.put("keyword1", new TemplateDataDTO(careDevice.getDevName(), "#459ae9"));
|
|
|
|
+ data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#459ae9"));
|
|
|
|
+ data.put("remark", new TemplateDataDTO("请补全您的联系信息, 便于能及时收到事件通知", "#459ae9"));
|
|
|
|
+
|
|
|
|
+ String openId = fromUserName;
|
|
|
|
+ log.info("生成小程序跳转URL: " + "pages/supplement/index?memberId=" + arrs[1] + "&openId=" + fromUserName);
|
|
|
|
+ boolean flag = wxTemplateService.sendTemplateMsgOriginal(openId, templateId, "wxda02870032b8f928", "pages/supplement/index?memberId=" + arrs[1] + "&openId=" + openId, data);
|
|
|
|
+ log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
|
|
|
|
+
|
|
|
|
+ return "success";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else if (MessageUtil.SUBSCIBE_EVENT.equals(eventType)) {//处理订阅事件
|
|
|
|
+ JSONObject parseUnionObject = WxTemplateUtil.parseWxOpenIdBySubscribe(wxAccessTokenVO.getAccessToken(), fromUserName);
|
|
|
|
+ System.out.println("subscibe parseUnionObject:" + parseUnionObject.toString());
|
|
// parseUnionObject.set("unionid", "oyVYT6Ox9b88n_33lgKWRj5uFbUY");
|
|
// parseUnionObject.set("unionid", "oyVYT6Ox9b88n_33lgKWRj5uFbUY");
|
|
|
|
|
|
String eventKey = ObjectUtils.toString(map.get("EventKey"));
|
|
String eventKey = ObjectUtils.toString(map.get("EventKey"));
|
|
@@ -191,7 +249,7 @@ public class WxMsgController {
|
|
// 正式环境
|
|
// 正式环境
|
|
String templateId = "W7tT8QGmrBQNVimt6l6w55DBwSH5MBUiFgJxf3gjIV4";
|
|
String templateId = "W7tT8QGmrBQNVimt6l6w55DBwSH5MBUiFgJxf3gjIV4";
|
|
// 测试环境
|
|
// 测试环境
|
|
-// String templateId = "gvJ1g3JOThT5IuQc1In6D2cwKwmKz9MBIkGdkXtXOTI";
|
|
|
|
|
|
+// String templateId = "gvJ1g3JOThT5IuQc1In6D2cwKwmKz9MBIkGdkXtXOTI";
|
|
|
|
|
|
Map<String, TemplateDataDTO> data = new HashMap<>();
|
|
Map<String, TemplateDataDTO> data = new HashMap<>();
|
|
data.put("first", new TemplateDataDTO("您已关联该监护人", "#459ae9"));
|
|
data.put("first", new TemplateDataDTO("您已关联该监护人", "#459ae9"));
|
|
@@ -200,8 +258,8 @@ public class WxMsgController {
|
|
data.put("remark", new TemplateDataDTO("请补全您的联系信息, 便于能及时收到事件通知", "#459ae9"));
|
|
data.put("remark", new TemplateDataDTO("请补全您的联系信息, 便于能及时收到事件通知", "#459ae9"));
|
|
|
|
|
|
String openId = fromUserName;
|
|
String openId = fromUserName;
|
|
- log.info("生成小程序跳转URL: " + "/pages/supplement/index?memberId=" + arrs[1] + "&openId=" + fromUserName);
|
|
|
|
- boolean flag = wxTemplateService.sendTemplateMsgOriginal(openId, templateId, "wxda02870032b8f928", "/pages/supplement/index?memberId=" + arrs[1] + "&openId=" + openId, data);
|
|
|
|
|
|
+ log.info("生成小程序跳转URL: " + "pages/supplement/index?memberId=" + arrs[1] + "&openId=" + fromUserName);
|
|
|
|
+ boolean flag = wxTemplateService.sendTemplateMsgOriginal(openId, templateId, "wxda02870032b8f928", "pages/supplement/index?memberId=" + arrs[1] + "&openId=" + openId, data);
|
|
log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
|
|
log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
|
|
|
|
|
|
// String eventKey = ObjectUtils.toString(map.get("EventKey"));
|
|
// String eventKey = ObjectUtils.toString(map.get("EventKey"));
|
|
@@ -223,7 +281,7 @@ public class WxMsgController {
|
|
// data.put("remark", new TemplateDataDTO("请尽快补全您的联系信息, 便于能及时通知您", "#ff5200"));
|
|
// data.put("remark", new TemplateDataDTO("请尽快补全您的联系信息, 便于能及时通知您", "#ff5200"));
|
|
//
|
|
//
|
|
// String openId = parseUnionObject.getStr("openid");
|
|
// String openId = parseUnionObject.getStr("openid");
|
|
-// boolean flag = wxTemplateService.sendTemplateMsg(parseUnionObject.getStr("openid"), templateId, "wxda02870032b8f928", "/pages/supplement/index", data);
|
|
|
|
|
|
+// boolean flag = wxTemplateService.sendTemplateMsg(parseUnionObject.getStr("openid"), templateId, "wxda02870032b8f928", "pages/supplement/index", data);
|
|
// log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
|
|
// log.info("发送消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
|
|
|
|
|
|
// careHouseContactService.save();
|
|
// careHouseContactService.save();
|