WechatServiceImpl.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.hz.employmentsite.services.impl;
  2. import com.hz.employmentsite.AppConfig;
  3. import com.hz.employmentsite.services.service.WechatService;
  4. import lombok.extern.slf4j.Slf4j;
  5. import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
  6. import me.chanjar.weixin.mp.api.WxMpService;
  7. import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
  8. import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
  9. import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import java.util.ArrayList;
  13. import java.util.Arrays;
  14. import java.util.List;
  15. import java.util.Map;
  16. @Service("WechatService")
  17. @Slf4j
  18. public class WechatServiceImpl implements WechatService {
  19. @Autowired
  20. AppConfig appConfig;
  21. @Override
  22. public Integer sentMsg(String toUserId, Map<String,String> sentData){
  23. String openId = "";
  24. WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();
  25. wxStorage.setAppId(appConfig.wxAppId); //appID
  26. wxStorage.setSecret(appConfig.wxAppSecret);//app密钥
  27. WxMpService wxMpService = new WxMpServiceImpl();
  28. wxMpService.setWxMpConfigStorage(wxStorage);
  29. //数据
  30. List<WxMpTemplateData> data=new ArrayList<>();
  31. sentData.forEach((key,value)->{
  32. data.add(new WxMpTemplateData(key,value));
  33. });
  34. //2,推送消息
  35. WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
  36. .toUser(openId)//要推送的用户openid
  37. .data(data) //数据
  38. .templateId(appConfig.wxMessageTemplateId)//模版id
  39. .url("http://www.baidu.com") // 点击详情跳转地址
  40. .build();
  41. //发起推送
  42. try {
  43. String msg = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
  44. } catch (Exception e) {
  45. log.info("sentMsg:微信消息推送失败"+ e.getMessage());
  46. e.printStackTrace();
  47. }
  48. return 1;
  49. }
  50. }