123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- package com.iamberry.wechat.utils;
- import java.util.HashMap;
- import org.springframework.stereotype.Component;
- import com.iamberry.wechat.tools.NameUtils;
- import com.iamberry.wechat.tools.ResultInfo;
- import com.iamberry.wechat.tools.WeixinUtil;
- @Component
- public class SendMessageUtil {
-
- //快递公司列表
- public static HashMap<String, String> hashmap = new HashMap<String, String>();
- //正式环境
- {
- hashmap.put("sto", "申通快递");
- hashmap.put("yto", "圆通快递");
- hashmap.put("sf", "顺丰快递");
- hashmap.put("longbanwuliu", "龙邦快递");
- hashmap.put("ems", "邮政EMS");
- hashmap.put("zto", "中通快递");
- hashmap.put("zjs", "宅急送");
- hashmap.put("yunda", "韵达快递");
- hashmap.put("cces", "cces快递");
- hashmap.put("pick", "上门提货");
- hashmap.put("htky", "汇通快递");
- hashmap.put("ttkdex", "天天快递");
- hashmap.put("stars", "邮政EMS");
- hashmap.put("jd", "星晨急便");
- hashmap.put("01", "其他");
- hashmap.put("02", "上门送货");
- }
-
- /**
- * 发送模板通知给用户
- * @param date data 日期
- * @param openId 接受的用户id
- * @param url 点击打开的url
- * @param type 发送类型 1,收益成功通知 2,发货提醒通知 3、收入提醒通知,4、订单未支付通知 5、试用进度提醒
- * @return
- */
- public boolean sendTemplateMessageToOpenid(String date,String openId, String url,Integer type) {
- boolean result = false;
- switch (type) {
- case 1: //1,收益成功通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId,ResultInfo.rewards_template_id, date, url);
- break;
- case 2: // 2,发货提醒通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Shipment_template_id, date, url);
- break;
- case 3: //3、收入提醒通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Income_template_id, date, url);
- break;
- case 4: //4、订单未支付通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.Order_template_id, date, url);
- break;
- case 5: //5、试用进度提醒
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.trial_progress_remind, date, url);
- break;
- case 6: //6、试用申请通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_apply_notice, date, url);
- break;
- case 7: //7、试用申请成功通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_apply_success, date, url);
- break;
- case 8: //8、订单支付成功
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_pay_success, date, url);
- break;
- case 9: //9、订单关闭成功
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.probation_shut_down, date, url);
- break;
- case 10: //10、奖品领取通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.prize_receive_push, date, url);
- break;
- case 11: //11、更换电动牙刷通知
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.update_tooth_hint, date, url);
- break;
- case 12: //12、用户申请退款提醒
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_refund, date, url);
- break;
- case 13: //13、用户 申请退货 提醒
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_return, date, url);
- break;
- case 14: //14、用户 申请换货 提醒
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_apply_barter, date, url);
- break;
- case 15: //15、发货后 提醒
- WeixinUtil.sendTemplateMessage(NameUtils.getConfig("appId"), NameUtils.getConfig("appSecret"), openId, ResultInfo.order_send_success, date, url);
- break;
- default:
- break;
- }
- result = true;
- return result;
- }
-
- public static void main(String[] args) {
- String date = "{'first':{'color':'#173177', 'value':'尊敬的客户您好~您的订单已发货~'}, 'order_id':{'color':'#173177','value':'1009145345B11792L'}, 'package_id':{'color':'#173177','value':'yuantong:34234234'}, 'remark':{'color':'#173177', 'value':'点击进入商城查看-->>'}}";
- String openId = "o-icas0dRzE7WYAEAmcX4BQCUyFo";
- String appId = "wxd995fb95b97ece1b";// 应用ID
- String appSecret = "34922854462fba23cf54ce859349fcf4";// 应用密钥
-
- WeixinUtil.sendTemplateMessage(appId, appSecret, openId, "744KA1PdB1I5PzRcjtxqbEz5t2bp8vdsi4I2ytW1rbE", date, "xx");
- System.out.println("发送成功");
- }
-
- /**
- * 试用进度提醒推送
- * @param first 标题
- * @param keyword1 商品名称
- * @param keyword2 订单编号
- * @param keyword3 申请时间
- * @param keyword4 截止时间
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 地址
- */
- public void probationPush(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
- String temp = ResultInfo.PROBATIONPUSH;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("keyword4Value",keyword4)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,5);
- temp = ResultInfo.PROBATIONPUSH;
- }
-
- /**
- * 试用开始通知
- * @param first 标题
- * @param keyword1 商品信息
- * @param keyword2 申请时间
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 地址
- */
- public void probationApplyNotice(String first,String keyword1,String keyword2,String remark,String openId,String url){
- String temp = ResultInfo.PROBATIONAPPLYNOTICE;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,6);
- }
- /**
- * 派送成功通知
- * @param first 标题
- * @param keyword1 申请单号
- * @param keyword2 申请时间
- * @param keyword3 应付金额
- * @param keyword4 应付积分
- * @param keyword5 支付方式
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 地址
- */
- public void probationApplySuccess(String first,String keyword1,String keyword2,String keyword3,String keyword4,String keyword5,String remark,String openId,String url){
- String temp = ResultInfo.PROBATIONAPPLYSUCCESS;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("keyword4Value",keyword4)
- .replaceFirst("keyword5Value",keyword5)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,7);
- }
- /**
- * 试用订单支付成功
- * @param first 标题
- * @param keyword1 支付金额
- * @param keyword2 商品信息
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 地址
- */
- public void probationPaySuccess(String first,String keyword1,String keyword2,String remark,String openId,String url){
- String temp = ResultInfo.PROBATIONPAYSUCCESS;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("orderMoneySumValue",keyword1)
- .replaceFirst("orderProductNameValue",keyword2)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,8);
- }
- /**
- * 试用订单关闭成功
- * @param first 标题
- * @param keyword1 支付金额
- * @param keyword2 商品信息
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 地址
- */
- public void probationShutDown(String first,String transid,String fee,String pay_time,String remark,String openId,String url){
- String temp = ResultInfo.PROBATIONSHUTDOWN;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("transidValue",transid)
- .replaceFirst("feeValue",fee)
- .replaceFirst("pay_timeValue",pay_time)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,9);
- }
-
- /**
- * 推荐人领取通知
- * @param first 标题
- * @param keyword1 被推荐人
- * @param keyword2 消费商家
- * @param keyword3 消费金额
- * @param keyword4 消费时间
- * @param keyword4 推荐奖励
- * @param remark 全部内容
- * @param openId 用户openid
- * @param url 跳转地址
- */
- public void prizeReceivePush(String first,String keyword1,String keyword2,String keyword3,String keyword4,String keyword5,String remark,String openId,String url){
- String temp = ResultInfo.PRIZERECEIVEPUSH;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("keyword4Value",keyword4)
- .replaceFirst("keyword5Value",keyword5)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,10);
- }
- /**
- * 更换牙刷刷头提示信息
- * @param first
- * @param keyword1
- * @param keyword2
- * @param remark
- * @param openId
- * @param url
- */
- public void updateToothHint(String first,String keyword1,String keyword2,String remark,String openId,String url){
- String temp = ResultInfo.UPDATETOOTHHINT;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,11);
- }
- /**
- * 换货提醒信息
- * @param first
- * @param keyword1
- * @param keyword2
- * @param remark
- * @param openId
- * @param url
- */
- public void orderApplyBarter(String first,String keyword1,String keyword2,String remark,String openId,String url){
- String temp = ResultInfo.APPLYBARTER;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("colorValue","#1C86EE")
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,14);
- }
- /**
- * 退款提醒信息
- * @param first
- * @param keyword1
- * @param keyword2
- * @param remark
- * @param openId
- * @param url
- */
- public void orderApplyRefund(String first,String keyword1,String keyword2,String keyword3,String remark,String openId,String url){
- String temp = ResultInfo.APPLYREFUND;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("colorValue","#1C86EE")
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,12);
- }
- /**
- * 退货提醒信息
- * @param first
- * @param keyword1
- * @param keyword2
- * @param remark
- * @param openId
- * @param url
- */
- public void orderApplyReturn(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
- String temp = ResultInfo.APPLYRETURN;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("keyword4Value",keyword4)
- .replaceFirst("colorValue","#1C86EE")
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,13);
- }
- /**
- * 发货提醒信息
- * @param first
- * @param keyword1
- * @param keyword2
- * @param remark
- * @param openId
- * @param url
- */
- public void orderSendSuccess(String first,String keyword1,String keyword2,String keyword3,String keyword4,String remark,String openId,String url){
- String temp = ResultInfo.SENDSUCCESS;
- temp = temp.replaceFirst("firstValueIamberry", first)
- .replaceFirst("keyword1Value",keyword1)
- .replaceFirst("keyword2Value",keyword2)
- .replaceFirst("keyword3Value",keyword3)
- .replaceFirst("keyword4Value",keyword4)
- .replaceFirst("colorValue","#1C86EE")
- .replaceFirst("remarkValue",remark);
- sendTemplateMessageToOpenid(temp, openId, url,15);
- }
- }
|