| package com.doumee.config.wx; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.doumee.biz.system.SystemDictDataBiz; | 
| import com.doumee.core.constants.Constants; | 
| import com.doumee.core.utils.DateUtil; | 
| import com.doumee.dao.business.model.IdentityInfo; | 
| import lombok.extern.slf4j.Slf4j; | 
| import me.chanjar.weixin.common.error.WxErrorException; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.http.ResponseEntity; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.web.client.RestTemplate; | 
|   | 
| import java.util.Date; | 
| import java.util.HashMap; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * Created by IntelliJ IDEA. | 
|  * | 
|  * @Author : Rk | 
|  * @create 2022/12/7 17:27 | 
|  */ | 
| @Service | 
| @Slf4j | 
| public class SendWxMessage { | 
|   | 
|     private static String goodsOrderUrl = "pages/settlementDetails/settlementDetails?goodsOrderId="; | 
|   | 
|     private static String identityInfoUrl = "pages/mine/mine"; | 
|     @Autowired | 
|     private SystemDictDataBiz systemDictDataBiz; | 
|   | 
|     public  void  identityInfoMessage(String openid, IdentityInfo identityInfo) throws WxErrorException { | 
|         RestTemplate restTemplate = new RestTemplate(); | 
|         String accessToken = WxMiniConfig.wxMaService.getAccessToken(); | 
|         log.info("微信小程序->微信消息通知 - 认证信息  -> accessToken:{}",accessToken); | 
|         //这里简单起见我们每次都获取最新的access_token(时间开发中,应该在access_token快过期时再重新获取) | 
|         String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken; | 
|         //拼接推送的模版 | 
|         WxMsgVO wxMsgVO = new WxMsgVO(); | 
|         //用户的openid(要发送给那个用户) | 
|         wxMsgVO.setTouser(openid); | 
|         //订阅消息模板id | 
|         wxMsgVO.setTemplate_id("4H9ztG4E9BxJLwMuYSZ6oiM7yb4KX7u7bYhkhYJP0-Y"); | 
|         Map<String, TemplateData> m = new HashMap<>(4); | 
|         m.put("thing11", new TemplateData(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO)?"用工认证":Constants.equalsInteger(identityInfo.getType(),Constants.ONE)?"运货认证":"供餐认证")); | 
|         m.put("phrase4", new TemplateData(Constants.equalsInteger(identityInfo.getAuditStatus(),Constants.TWO)?"认证通过":"认证未通过")); | 
|         m.put("date3", new TemplateData(DateUtil.getFomartDate(identityInfo.getAuditTime(),"yyyy-MM-dd HH:mm:ss"))); | 
|         m.put("thing5", new TemplateData(identityInfo.getAuditRemark())); | 
|         wxMsgVO.setPage(identityInfoUrl); | 
|         wxMsgVO.setData(m); | 
|         ResponseEntity<String> responseEntity = | 
|                 restTemplate.postForEntity(url, wxMsgVO, String.class); | 
|         log.info("微信小程序->微信消息通知 认证信息:{}", JSONObject.toJSONString(responseEntity)); | 
|     } | 
|   | 
|   | 
| } |