mitao
2025-03-13 86df207c37502cce1b2043e1c7c0486459eef1d6
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxUtil.java
@@ -3,6 +3,7 @@
import java.math.BigDecimal;
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;
@@ -455,23 +456,366 @@
            log.error("危险人员订阅消息推送失败,失败原因:" + e.getMessage());
        }
    }
    public static void sendUuWash(String openId, String accessToken, String status,String washerName,String washerMobile,String templateId){
    /**
     * 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("phrase6", "订单状态:"+status));
        paras.add(new TemplateParam("thing9", washerName));
        paras.add(new TemplateParam("thing1","车美信息"));
        paras.add(new TemplateParam("thing4", "社区报备数据统计"));
        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());
            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();
@@ -491,4 +835,5 @@
        }
    }
}