package com.zero2ipo.mobile.services.weixinMsg.impl; import com.zero2ipo.core.MobileContants; import com.zero2ipo.framework.util.StringUtil; import com.zero2ipo.mobile.services.invitation.IInvitationLetter; import com.zero2ipo.mobile.services.user.IUserServices; import com.zero2ipo.mobile.services.weixinMsg.IHdyySuccessService; import com.zero2ipo.module.entity.user.UserEntity; import com.zero2ipo.module.entity.yqh.InvitationLetterEntity; import com.zero2ipo.weixin.config.Config; import com.zero2ipo.weixin.contants.TemplateMessageContants; import com.zero2ipo.weixin.services.message.ICoreService; import com.zero2ipo.weixin.templateMessage.TemplateData; import com.zero2ipo.weixin.templateMessage.WxTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.HashMap; import java.util.Map; /** * 活动预约成功发送微信消息接口2 * @author zhengyunfei * */ @Component("hdyySuccessService") public class HdyySuccessImpl implements IHdyySuccessService { @Resource(name = "coreService") ICoreService coreService; @Resource(name = "invitationLetterService") IInvitationLetter invitationLetterService; @Resource(name = "userServices") private IUserServices userServices; public boolean sendWeixin(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); Object o = session.getAttribute(MobileContants.USER_SESSION_KEY); if(o != null && o instanceof UserEntity) { UserEntity user = (UserEntity)o; System.out.println("当前登陆用户手机号码:=="+user.getMobile()+"\t"+user.getOpenId()); user=userServices.findUserByUserId(user.getUserId()); String openId=user.getOpenId(); if(!StringUtil.isNullOrEmpty(openId)){ //如果用户绑定了微信账号,则推送一条微信消息给用户 WxTemplate wxTemplate=getWxTemplate(openId, TemplateMessageContants.HDYY_SUCCESS_TEMPLATE_MSGID,user); coreService.send_template_message(Config.APPID,Config.SECRET,openId,wxTemplate ); }else{ //通过userId从数据库查询openId,这样便于网页版发送微信消息 UserEntity u=userServices.findUserByUserId(user.getUserId()); if(!StringUtil.isNullOrEmpty(u)){ String opid=u.getOpenId(); if(!StringUtil.isNullOrEmpty(opid)){ /**通过网页版活动预约成功,发送微信消息**/ //WxTemplate wxTemplate=getWxTemplate(opid, TemplateMessageContants.TZYY_SUCCESS_TEMPLATE_MSGID,u); //coreService.send_template_message(Config.APPID,Config.SECRET,opid,wxTemplate ); } } } } return true; } public WxTemplate getWxTemplate(String openId, String msgTemplateId, UserEntity user){ WxTemplate temp = new WxTemplate(); temp.setTouser(openId); temp.setTemplate_id(msgTemplateId); temp.setUrl("http://www.pestreet.cn/mobile/url/lzh/lzh.html"); temp.setTopcolor("#000CC"); /**根据会员id查询该会员预约的活动**/ String userId=user.getUserId(); if(!StringUtil.isNullOrEmpty(userId)){ InvitationLetterEntity hdyyEntity=invitationLetterService.findRecentlyHdyyByUserId(userId); Map<String,TemplateData> paramMap=new HashMap<String, TemplateData>(); TemplateData data0=new TemplateData(); data0.setValue("尊敬的财富街会员,您已经成功预约本次会员活动,敬请留意详细信息"); data0.setColor("#040188"); paramMap.put("first", data0); TemplateData data1=new TemplateData(); data1.setValue(hdyyEntity.getName()); data1.setColor("#040188"); paramMap.put("activity_name",data1); TemplateData data2=new TemplateData(); data2.setValue("成功"); data2.setColor("#040188"); paramMap.put("reserve_results",data2); TemplateData data3=new TemplateData(); data3.setValue(hdyyEntity.getStartTime()); data3.setColor("#040188"); paramMap.put("activity_time",data3); TemplateData data4=new TemplateData(); data4.setValue(hdyyEntity.getArea()); data4.setColor("#040188"); paramMap.put("activity_address",data4); TemplateData remark=new TemplateData(); remark.setValue("您还可以致电财富街客服专线,详情咨询400-654-7828"); remark.setColor("#040188"); paramMap.put("remark",remark); temp.setData(paramMap); } return temp; } }
当时没有测试一下,微信发送模板消息是否成功,先改变一下字体的颜色,于是在setcolor的时候,图省事,就直接写英文字母的颜色,比如blue,这样导致Android手机可以正常接收模板消息,并且内容为我们预设的内容,但是ios手机会出现内容为空的情况,找了1天,也没找到原因,最终换了下颜色,就可以正常接受了,郁闷死了。
相关推荐
佳博标签打印机是一款广泛应用于商业、工业以及个人领域的设备,其Demo提供了全面的开发支持,涵盖了Android、iOS、微信小程序以及C#、Java等多种平台。本文将深入探讨这些知识点,帮助开发者更好地理解和利用该...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
8. 软件著作权:该源代码文件模板是一个软件著作权相关的作品,涉及到软件著作权的保护和管理等问题。 本资源是一个基于Java语言的源代码文件模板,涉及到多个技术领域和知识点,包括Java语言基础、接口和抽象类、...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
本套源码主要涵盖了Java、Android、iOS以及小程序四个平台,构建了一个全面的B2B大型商城系统。这个系统的设计和实现涉及了多种技术栈和功能模块,旨在为用户提供一个跨平台、多用户级别的购物体验。 1. **Java后端...
佳博打印机SDK是一款全面支持PC、安卓、iOS以及微信小程序平台的打印解决方案,旨在帮助开发者轻松实现各种设备上的票据打印功能。这个开发包包含了丰富的源码示例和详尽的开发文档,无论你是PC应用开发者,还是专注...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
①本停车场系统兼容市面上主流的多家...后端开发语言java,框架oauth2+springboot2+dubbo,数据库mysql/mongodb/redis,即时通讯底层框架netty4,安卓和ios均为原生开发,后台管理模板vue-typescript-admin-template