package com.matrix.system.wechart.templateMsg.Task.messageBulderDemo;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.matrix.biz.bean.BizUser;
|
import com.matrix.biz.dao.BizUserDao;
|
import com.matrix.core.tools.DateUtil;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.system.hive.bean.SysBeauticianState;
|
import com.matrix.system.hive.bean.SysProjServices;
|
import com.matrix.system.hive.bean.SysVipInfo;
|
import com.matrix.system.hive.dao.SysBeauticianStateDao;
|
import com.matrix.system.hive.dao.SysProjServicesDao;
|
import com.matrix.system.hive.dao.SysVipInfoDao;
|
import com.matrix.system.wechart.templateMsg.GzhTemplateMessagePojo;
|
import com.matrix.system.wechart.templateMsg.Task.TemplateMessageBulder;
|
import com.matrix.system.wechart.templateMsg.UniformMsgPojo;
|
import io.swagger.models.auth.In;
|
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 DefaultTemplateMessageBulder implements TemplateMessageBulder {
|
|
@Autowired
|
SysProjServicesDao projServicesDao;
|
|
@Autowired
|
SysVipInfoDao vipInfoDao;
|
|
@Autowired
|
private SysBeauticianStateDao beauticianStateDao;
|
|
|
|
@Override
|
public Map buildMsg(Map param) {
|
|
//返回参数
|
Map builParam=new HashedMap();
|
|
|
//获取基础公共参数
|
String gzhAppid= (String) param.get("gzhAppid");
|
String template_id= (String) param.get("template_id");
|
//触发点传送的json参数
|
JSONObject messageJsonParam= (JSONObject) param.get("messageJsonParam");
|
|
Long serviceId= (Long) messageJsonParam.get("serviceId");
|
|
|
//构建消息主体
|
SysProjServices sysProjServices = projServicesDao.selectById(serviceId);
|
|
|
//补充服务单扩展信息===============
|
List<SysBeauticianState> beauticianStateList = beauticianStateDao.selectBySerIds(sysProjServices.getId());
|
|
SysVipInfo vipInfo=vipInfoDao.selectById(sysProjServices.getVipId());
|
String touser= vipInfo.getOpenId();
|
if(StringUtils.isBlank(touser)){
|
builParam.put("error","未获取到"+vipInfo.getVipName()+"用户小程序openid");
|
return builParam;
|
}
|
|
String time= DateUtil.dateFormatStr(sysProjServices.getConsumeTime(),DateUtil.DATE_FORMAT_MM);
|
List msgList=new ArrayList();
|
//如果一个项目存在多个护理项目则发送多次消息
|
for (SysBeauticianState beauticianState:beauticianStateList){
|
UniformMsgPojo uniformMsgPojo=new UniformMsgPojo();
|
GzhTemplateMessagePojo messagePojo=new GzhTemplateMessagePojo();
|
uniformMsgPojo.setTouser(touser);
|
messagePojo.setTemplate_id(template_id);
|
messagePojo.setAppid(gzhAppid);
|
|
|
//个性参数设置
|
Integer suplerTimes= beauticianState.getProjUse().getSurplusCount();
|
messagePojo.setFirst("尊敬的:"+vipInfo.getVipName(),"#453454");
|
messagePojo.setKeyWord(beauticianState.getProjInfo().getName(),"#453454");
|
messagePojo.setKeyWord(time,"#453454");
|
messagePojo.setRemark("您的护理项目剩余"+suplerTimes+"次。","#453454");
|
uniformMsgPojo.setMp_template_msg(messagePojo);
|
|
|
msgList.add(uniformMsgPojo);
|
}
|
|
builParam.put("msgList",msgList);
|
return builParam;
|
}
|
}
|