package com.matrix.system.wechart.templateMsg.Task.messageBulderDemo;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.matrix.core.tools.DateUtil;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.system.hive.bean.SysOrder;
|
import com.matrix.system.hive.bean.SysOrderItem;
|
import com.matrix.system.hive.bean.SysShopInfo;
|
import com.matrix.system.hive.bean.SysVipInfo;
|
import com.matrix.system.hive.dao.*;
|
import com.matrix.system.wechart.templateMsg.GzhTemplateMessagePojo;
|
import com.matrix.system.wechart.templateMsg.Task.TemplateMessageBulder;
|
import com.matrix.system.wechart.templateMsg.UniformMsgPojo;
|
import org.apache.commons.collections.map.HashedMap;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 充值成功提醒
|
*/
|
@Component
|
public class CzcgTemplateMessageBulder implements TemplateMessageBulder {
|
|
@Autowired
|
SysOrderDao orderDao;
|
|
@Autowired
|
SysVipInfoDao vipInfoDao;
|
|
@Autowired
|
private SysBeauticianStateDao beauticianStateDao;
|
|
@Autowired
|
private SysShopInfoDao shopInfoDao;
|
|
@Autowired
|
private SysOrderItemDao orderItemDao;
|
|
|
|
@Override
|
public Map buildMsg(Map param) {
|
|
//返回参数
|
Map builParam=new HashedMap();
|
//获取基础公共参数
|
String gzhAppid= (String) param.get("gzhAppid");
|
String template_id= (String) param.get("template_id");
|
String xcxAppId= (String) param.get("xcxAppId");
|
//模板消息列表
|
List msgList=new ArrayList();
|
|
//触发点传送的json参数
|
JSONObject messageJsonParam= (JSONObject) param.get("messageJsonParam");
|
//构建消息主体
|
Long orderId= (Long) messageJsonParam.get("orderId");
|
SysOrder sysOrder = orderDao.selectById(orderId);
|
List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(orderId);
|
|
//校验客户openId (必须)
|
SysVipInfo vipInfo=vipInfoDao.selectById(sysOrder.getVipId());
|
String touser= vipInfo.getOpenId();
|
if(StringUtils.isBlank(touser)){
|
builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid");
|
return builParam;
|
}
|
|
|
//自定义信息区START=========================================================================================================
|
SysShopInfo sysShopInfo = shopInfoDao.selectById(sysOrder.getShopId());
|
String time= DateUtil.dateFormatStr(sysOrder.getPayTime(),DateUtil.DATE_FORMAT_MM);
|
|
//如果一个项目存在多个护理项目则发送多次消息
|
String first="您好!充值余额成功";
|
for (SysOrderItem orderItem:sysOrderItems){
|
first+=orderItem.getShoppingGoods().getName()+"x"+orderItem.getCount()+",";
|
}
|
first=first.substring(0,first.length());
|
UniformMsgPojo uniformMsgPojo=new UniformMsgPojo();
|
GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo();
|
uniformMsgPojo.setTouser(touser);
|
messagePojo.setTemplate_id(template_id);
|
messagePojo.setAppid(gzhAppid);
|
//个性参数设置
|
messagePojo.setFirst(first,"#453454");
|
messagePojo.setKeyWord(sysShopInfo.getShopName(),"#453454");
|
messagePojo.setKeyWord(vipInfo.getVipNo(),"#453454");
|
messagePojo.setKeyWord(time,"#453454");
|
messagePojo.setKeyWord(sysOrder.getZkTotal()+"","#453454");
|
messagePojo.setRemark("点击【详情】可查询订单明细,若非本人或授权操作,请及时与门店联系","#453454");
|
|
//小程序配置
|
GzhTemplateMessagePojo.Miniprogram miniprogram=new GzhTemplateMessagePojo.Miniprogram(xcxAppId,
|
"pages/purchaseRecords/detail?id="+orderId);
|
messagePojo.setMiniprogram(miniprogram);
|
|
|
uniformMsgPojo.setMp_template_msg(messagePojo);
|
//自定义信息区END=========================================================================================================
|
|
//返回调用者使用的参数(必须)
|
msgList.add(uniformMsgPojo);
|
builParam.put("msgList",msgList);
|
return builParam;
|
}
|
}
|