| | |
| | | package com.panzhihua.common.utlis; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.panzhihua.common.constants.WxSubscribeConstants; |
| | |
| | | import com.panzhihua.common.model.dtos.wx.WxSubscribeDTO; |
| | | |
| | | import com.panzhihua.common.model.vos.community.acid.ComActAcidDangerMemberVO; |
| | | import com.panzhihua.common.model.vos.community.reserve.FiveCount; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | @Slf4j |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 推送危险人员订阅消息通知 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | * @param fiveCount 统计数据 |
| | | */ |
| | | public static void sendSubscribeStatics(String openId, String accessToken, FiveCount fiveCount, String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("/packageB/pages/register/reportingStatistics/reportingStatistics"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing2", "报备总数"+fiveCount.getAllCount()+";"+"风险人员"+fiveCount.getDangerCount())); |
| | | paras.add(new TemplateParam("time3", DateUtils.getDateFormatString(DateUtils.addDay(new Date(),-1),"yyyy-MM-dd")+"0点到24点")); |
| | | paras.add(new TemplateParam("thing1","新冠疫情")); |
| | | paras.add(new TemplateParam("thing4", "社区报备数据统计")); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("危险人员订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * uu洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendUuWash(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("packageD/pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing1", "上门洗车")); |
| | | paras.add(new TemplateParam("thing4", phone)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ws洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendWsWash(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing2", "上门洗车")); |
| | | paras.add(new TemplateParam("thing5", phone)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | log.info(subscribeDTO.toString()); |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * uu洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendUuWash3(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("packageD/pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing9", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("phone_number10",StrUtil.isBlank(washerMobile) ? "0":washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * ws洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendWsWash3(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing9", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("phone_number10",StrUtil.isBlank(washerMobile) ? "0" :washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * uu洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendUuWash4(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("packageD/pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing4", status)); |
| | | paras.add(new TemplateParam("thing3", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("thing6",StrUtil.isBlank(washerMobile) ? "无":washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * ws洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendWsWash4(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing4", status)); |
| | | paras.add(new TemplateParam("thing3", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("thing6",StrUtil.isBlank(washerMobile) ? "无":washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * uu洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendUuWash6(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("packageD/pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("phrase14", status)); |
| | | paras.add(new TemplateParam("name3", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("thing5",StrUtil.isBlank(washerMobile) ? "无":washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * ws洗车订单状态更改 |
| | | * @param openId |
| | | * @param accessToken |
| | | * @param status |
| | | * @param washerName |
| | | * @param washerMobile |
| | | * @param phone |
| | | * @param templateId |
| | | */ |
| | | public static void sendWsWash6(String openId, String accessToken, String status,String washerName,String washerMobile,String phone,String templateId){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id(templateId); |
| | | subscribeDTO.setPage("pages/washer/order/index"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("phrase14", status)); |
| | | paras.add(new TemplateParam("name3", StrUtil.isBlank(washerName) ? "无":washerName)); |
| | | paras.add(new TemplateParam("thing5",StrUtil.isBlank(washerMobile) ? "无":washerMobile)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * 长期订阅模板消息推送 |
| | | * @param openId |
| | | * @param accessToken |
| | | */ |
| | | public static void sendLongTimeTemplate(String openId, String accessToken, String word,String content,String page) { |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("5f-xcy4lrWy_0kc5H4dj5bgBM-MwsvTwPApA-u3fqsQ"); |
| | | subscribeDTO.setPage(page); |
| | | List<TemplateParam> paras = new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing3", word)); |
| | | paras.add(new TemplateParam("thing6", content)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken, subscribeDTO); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推送 商家开始配送后 订单配送通知 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendStartShipping(String openId, String accessToken, String orderNo){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("ezwzGs3R5DMuKxTyW8xOIQOIsLpW2sS61ZXsfyll7rw"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("character_string2", orderNo)); |
| | | paras.add(new TemplateParam("phrase5", "配送中")); |
| | | paras.add(new TemplateParam("thing8","您的订单已开始配送")); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("商家开始配送后订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推送 商家送达后 用取货通知 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendService(String openId, String accessToken, String pointName){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("6RGbNmRrmGNWyeK7UDodYTItNqEnIIdtlgyzeGLI2w8"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("phrase3", "待收货")); |
| | | paras.add(new TemplateParam("thing7", "您有一个订单已到达自提点,请及时取货")); |
| | | paras.add(new TemplateParam("thing5",pointName)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("取货通知订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | /** |
| | | * 推送 商家发货后 发货通知 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendDeliverGoodsNotice(String openId, String accessToken, String logisticsCompany , String logisticsNo, String orderNo,String deliverTime){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("PuE0cYU9xUW7Y6XpW-wqz4Hlj1w2mnI_LprsUByJnGg"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing2", "您有一个订单已发货")); |
| | | paras.add(new TemplateParam("thing3", logisticsCompany)); |
| | | paras.add(new TemplateParam("character_string4",logisticsNo)); |
| | | paras.add(new TemplateParam("character_string5",orderNo)); |
| | | paras.add(new TemplateParam("time6",deliverTime)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("商家发货后订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推送 商家处理完退款申请后 订单退款通知 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendRefundNotice(String openId, String accessToken, String refundNo , String refundAmount, String result){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("GxFV_Oj1Pri4NnPkvKGPIPJsPryG8M6DW9mTHTbIrjE"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("character_string6", refundNo)); |
| | | paras.add(new TemplateParam("amount9", refundAmount)); |
| | | paras.add(new TemplateParam("phrase11",result)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("订单退款通知 订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推送 新订单提醒 商家收到一个新的订单 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendNewOrderNotice(String openId, String accessToken, String orderNo , String type, String goodsName,String amount,String orderTime){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("3EwAKLw2Xe2o-GDnH-NUGa4nNwqPXsn01hBX8Xp2PbU"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("character_string1", orderNo)); |
| | | paras.add(new TemplateParam("thing5", type)); |
| | | paras.add(new TemplateParam("thing3",goodsName)); |
| | | paras.add(new TemplateParam("amount4",amount)); |
| | | paras.add(new TemplateParam("time2",orderTime)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("新订单提醒 订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 推送 退款申请通知 商家收到一个退款申请 |
| | | * @param openId 用户openid |
| | | * @param accessToken token会话标识 |
| | | */ |
| | | public static void sendNewRefundOrderNotice(String openId, String accessToken, String refundNo , String refundAmount,String orderTime){ |
| | | WxSubscribeDTO subscribeDTO = new WxSubscribeDTO(); |
| | | subscribeDTO.setTouser(openId); |
| | | subscribeDTO.setTemplate_id("3EwAKLw2Xe2o-GDnH-NUGa4nNwqPXsn01hBX8Xp2PbU"); |
| | | List<TemplateParam> paras=new ArrayList<TemplateParam>(); |
| | | paras.add(new TemplateParam("thing5", "您有一个退款订单")); |
| | | paras.add(new TemplateParam("character_string2", refundNo)); |
| | | paras.add(new TemplateParam("amount3",refundAmount)); |
| | | paras.add(new TemplateParam("time4",orderTime)); |
| | | subscribeDTO.setTemplateParamList(paras); |
| | | try { |
| | | sendSubscribe(accessToken,subscribeDTO); |
| | | }catch (Exception e){ |
| | | log.error("退款申请通知 订阅消息推送失败,失败原因:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | |
| | | WxXCXTempSend util = new WxXCXTempSend(); |
| | | try { |
| | | // String openId = "oMIR-5S9rpsWAVUUrNKoVDQbn5Mw";//zj的openid |
| | | String openId = "oMIR-5dWyNyWCCKMl7-kYzvyHOjs";// lyq的openid |
| | | String accessToken = util.getAppAccessToken(); |
| | | String accessToken = util.getAccessToken(); |
| | | // sendSubscribeHDJJKS(openId,accessToken,"测试活动即将开始标题","2021-08-04 13:00:00","成都市","50");//活动即将开始 |
| | | // sendSubscribeHDQX(openId,accessToken,"取消活动测试标题","2021-08-04 13:00:00");//活动取消 |
| | | // sendSubscribeHDBG(openId,accessToken,"活动名称","2021-08-05","活动变更地址","2021-08-06","活动地址");//活动变更 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |