From bd6229ebd9cb543a22944ecb1142fad92b675dce Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期一, 13 十月 2025 14:26:25 +0800 Subject: [PATCH] bug 修复 --- server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java | 332 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 308 insertions(+), 24 deletions(-) diff --git a/server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java b/server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java index 0d47a1b..59c76b0 100644 --- a/server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java +++ b/server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java @@ -4,16 +4,23 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.Constants; import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.HttpsUtil; import com.doumee.dao.business.model.IdentityInfo; +import com.doumee.dao.business.model.Orders; +import com.doumee.dao.business.model.WithdrawalOrders; +import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; +import org.apache.commons.lang3.StringUtils; 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.math.BigDecimal; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -26,35 +33,312 @@ @Slf4j public class SendWxMessage { - private static String goodsOrderUrl = "pages/settlementDetails/settlementDetails?goodsOrderId="; - private static String identityInfoUrl = "pages/mine/mine"; + private static String mineUrl = "/pages/mine/mine"; + + private static String orderDetail = "pages/order-details/order-details?id={id}";// 鐢ㄥ伐 + + private static String orderDetailFreight = "pages/freight-order/freight-order?id={id}";// 璐ц繍 + + private static String orderDetailFood = "pages/order-food/order-food?id={id}";// 璁㈤ + + private static String balanceUrl = "pages/balance-details/balance-details";// 浣欓鏄庣粏 + + @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(); - //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� - 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)); + /** + * 淇℃伅璁よ瘉 + * @param openid + * @param identityInfo + * @throws WxErrorException + */ + public void identityInfoMessage(String openid, IdentityInfo identityInfo){ + try{ + + 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(); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("VJho7-lf-4_WZFfOzenDnX6sOhYBJWwkLExVjBB563U"); + Map<String, TemplateData> m = new HashMap<>(4); + m.put("thing2", new TemplateData(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO)?"鐢ㄥ伐璁よ瘉":Constants.equalsInteger(identityInfo.getType(),Constants.ONE)?"杩愯揣璁よ瘉":"渚涢璁よ瘉")); + m.put("phrase6", new TemplateData(Constants.equalsInteger(identityInfo.getAuditStatus(),Constants.TWO)?"閫氳繃":"鏈�氳繃")); + m.put("time12", new TemplateData(DateUtil.formatDate(identityInfo.getAuditTime(),"yyyy-MM-dd HH:mm"))); + wxMsgVO.setPage(mineUrl); + wxMsgVO.setData(m); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁よ瘉淇℃伅锛歿}", JSONObject.toJSONString(wxMsgVO)); + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁よ瘉淇℃伅锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + } + /** + * 璁㈠崟鍙栨秷涓氬姟閫氱煡 + * @param openidList + * @param orders + * @param cancelType 鍙栨秷绫诲瀷锛�0=骞冲彴鍙栨秷锛�1=鍙戝崟鏂瑰彇娑堬紱1=鎺ュ崟鏂瑰彇娑� + * @throws WxErrorException + */ + public void cancelMessage(List<String> openidList, Orders orders,Integer cancelType ){ + + try{ + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 璁㈠崟鍙栨秷涓氬姟 -> accessToken锛歿}",accessToken); + //杩欓噷绠�鍗曡捣瑙佹垜浠瘡娆¢兘鑾峰彇鏈�鏂扮殑access_token锛堟椂闂村紑鍙戜腑锛屽簲璇ュ湪access_token蹇繃鏈熸椂鍐嶉噸鏂拌幏鍙栵級 + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken; + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟URL锛歿}", url); + //鎷兼帴鎺ㄩ�佺殑妯$増 + WxMsgVO wxMsgVO = new WxMsgVO(); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("AA97cHjvlPiNO4viMkVe4JifCf9TD5b5Eb7s6El3VS8"); + Map<String, TemplateData> m = new HashMap<>(5); + m.put("character_string3", new TemplateData(orders.getCode())); + m.put("thing2", new TemplateData(Constants.orderType.getName(orders.getType()))); + m.put("thing1", new TemplateData(orders.getLocation() + (StringUtils.isNotBlank(orders.getLocationRemark())?orders.getLocationRemark():""))); + m.put("date8", new TemplateData(DateUtil.formatDate(orders.getCancelTime(),"yyyy-MM-dd HH:mm:ss"))); + m.put("thing6", new TemplateData(Constants.equalsInteger(cancelType,Constants.ZERO)?"骞冲彴鍙栨秷":Constants.equalsInteger(cancelType,Constants.ONE)?"鍙戝崟鏂瑰彇娑�":"鎺ュ崟鏂瑰彇娑�")); + String pageUrl = Constants.equalsInteger(orders.getType(),Constants.orderType.hyd.getKey())?orderDetailFreight: + Constants.equalsInteger(orders.getType(),Constants.orderType.scd.getKey())?orderDetailFood:orderDetail; + pageUrl = pageUrl.replace("{id}",orders.getId().toString()); + wxMsgVO.setPage(pageUrl); + wxMsgVO.setData(m); + if(CollectionUtils.isNotEmpty(openidList)){ + for (String openid:openidList) { + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + wxMsgVO.setTouser(openid); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", JSONObject.toJSONString(wxMsgVO)); + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", JSONObject.toJSONString(responseEntity)); + } + }else{ + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", "鏃犱汉鍛樹俊鎭�"); + } + }catch (WxErrorException wxErrorException){ + + } + + } + + + /** + * 鎺ュ崟閫氱煡 + * @param openid + * @param orders + * @param memberName + * @param memberPhone + * @throws WxErrorException + */ + public void acceptMessage(String openid, Orders orders,String memberName,String memberPhone){ + + try{ + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 鎺ュ崟涓氬姟 -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("oVjOBLcHxIlGzOMJsdInmgI5CHGXh-UTvMzQqfFOnIg"); + Map<String, TemplateData> m = new HashMap<>(4); + m.put("character_string3", new TemplateData(orders.getCode())); + m.put("thing1", new TemplateData(Constants.orderType.getName(orders.getType()))); + m.put("thing15", new TemplateData(memberName)); + m.put("phone_number8", new TemplateData(memberPhone)); + String pageUrl = Constants.equalsInteger(orders.getType(),Constants.orderType.hyd.getKey())?orderDetailFreight: + Constants.equalsInteger(orders.getType(),Constants.orderType.scd.getKey())?orderDetailFood:orderDetail; + pageUrl = pageUrl.replace("{id}",orders.getId().toString()); + wxMsgVO.setPage(pageUrl); + wxMsgVO.setData(m); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鎺ュ崟閫氱煡锛歿}", JSONObject.toJSONString(wxMsgVO)); + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鎺ュ崟閫氱煡锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + + } + + + public void orderUpdMessage(String openid, Orders orders){ + + try{ + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 璁㈠崟鍙樻洿閫氱煡 -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("3YSC7gouRlSjHXz4CrWOGFzPmGwEBtFj4snwdfMvKHk"); + Map<String, TemplateData> m = new HashMap<>(3); + m.put("character_string1", new TemplateData(orders.getCode())); + m.put("thing3", new TemplateData("鍙樻洿璁㈠崟鏃ユ湡")); + //鍙樻洿鍚庢棩鏈燂細07-23鑷�07-25 + m.put("thing5", new TemplateData("鍙樻洿鍚庢棩鏈燂細" +DateUtil.getFomartDate(orders.getStartDate(),"MM-dd") + "鑷�" +DateUtil.getFomartDate(orders.getEndDate(),"MM-dd"))); + String pageUrl = Constants.equalsInteger(orders.getType(),Constants.orderType.hyd.getKey())?orderDetailFreight: + Constants.equalsInteger(orders.getType(),Constants.orderType.scd.getKey())?orderDetailFood:orderDetail; + pageUrl = pageUrl.replace("{id}",orders.getId().toString()); + wxMsgVO.setPage(pageUrl); + wxMsgVO.setData(m); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙樻洿閫氱煡锛歿}", JSONObject.toJSONString(wxMsgVO)); + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙樻洿閫氱煡锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + + } + + + + + public void withdrawalMessage(String openid, WithdrawalOrders withdrawalOrders){ + try{ + + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 鎻愮幇鎴愬姛閫氱煡 -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("fNJy4545hcrH83bP3a1vszs7XEKWjXMsrfr2XCNsql0"); + Map<String, TemplateData> m = new HashMap<>(4); + m.put("phrase2", new TemplateData("宸叉墦娆�")); + m.put("amount1", new TemplateData((new BigDecimal(withdrawalOrders.getAmount().toString()).divide(new BigDecimal("100"))).toString())); + m.put("time3", new TemplateData(DateUtil.getFomartDate(withdrawalOrders.getUpdateTime(),"yyyy.MM.dd HH.mm.ss"))); + m.put("thing4", new TemplateData("鎵撴鎴愬姛锛岃娉ㄦ剰鏌ユ敹")); + wxMsgVO.setPage(balanceUrl); + wxMsgVO.setData(m); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鎻愮幇鎴愬姛閫氱煡锛歿}", JSONObject.toJSONString(wxMsgVO)); + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鎻愮幇鎴愬姛閫氱煡锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + } + + + public void revenueMessage(String openid, Orders orders){ + try{ + + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 璁㈠崟鏀剁泭閫氱煡 -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("tDpYImlrdv-0d3euTrHbYZ1cEZvjVHTNlqHvV0tpLHg"); + Map<String, TemplateData> m = new HashMap<>(5); + m.put("character_string8", new TemplateData(orders.getCode())); + m.put("phrase3", new TemplateData("宸叉敮浠�")); + m.put("phrase4", new TemplateData("寰俊鏀粯")); + m.put("amount6", new TemplateData((new BigDecimal(orders.getReceiveAccount().toString()).divide(new BigDecimal("100")))+"鍏�")); + m.put("date7", new TemplateData(DateUtil.getFomartDate(new Date(),"yyyy-MM-dd HH:mm:ss"))); + wxMsgVO.setPage(balanceUrl); + wxMsgVO.setData(m); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鏀剁泭閫氱煡锛歿}", JSONObject.toJSONString(wxMsgVO)); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鏀剁泭閫氱煡锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + } + + + public void autoDispatchMessage(String openid, Orders orders,double distance){ + try{ + + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 鏈嶅姟娲惧崟 -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("1h6JYpQf-mDKV4tYQ6gGDONfx1awqtm3-y9W8vUraT4"); + Map<String, TemplateData> m = new HashMap<>(5); + m.put("thing2", new TemplateData(Constants.orderType.getName(orders.getType()))); + m.put("thing3", new TemplateData(orders.getOrderContent())); + m.put("phrase4", new TemplateData("姝ゅ湴璺濈鎮�"+distance+"鍏噷")); + m.put("amount28", new TemplateData(orders.getEstimatedAccount().toString())); + m.put("thing12", new TemplateData("宸ュ崟灏嗕簬"+DateUtil.formatDate(orders.getStartDate(),"MM-dd")+"寮�濮�")); + String pageUrl = Constants.equalsInteger(orders.getType(),Constants.orderType.hyd.getKey())?orderDetailFreight: + Constants.equalsInteger(orders.getType(),Constants.orderType.scd.getKey())?orderDetailFood:orderDetail; + pageUrl = pageUrl.replace("{id}",orders.getId().toString()); + wxMsgVO.setPage(pageUrl); + wxMsgVO.setData(m); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鏈嶅姟娲惧崟锛歿}", JSONObject.toJSONString(wxMsgVO)); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); +// ResponseEntity<String> responseEntity = +// restTemplate.postForEntity(url, wxMsgVO, String.class); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鏈嶅姟娲惧崟锛歿}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + } + + public void waitPayMessage(String openid, Orders orders){ + try{ + + String accessToken = WxMiniConfig.wxMaService.getAccessToken(); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 - 璁㈠崟閲戦纭寰呮敮浠� -> 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(); + wxMsgVO.setTouser(openid); + //璁㈤槄娑堟伅妯℃澘id + wxMsgVO.setTemplate_id("3rOz7DAnawrkKDM8b5_XW4FLivISWYov6d7QSC4ORsg"); + Map<String, TemplateData> m = new HashMap<>(5); + m.put("character_string1", new TemplateData(orders.getCode())); + m.put("thing7", new TemplateData( Constants.getOrderInfo(orders))); + m.put("amount14", new TemplateData(new BigDecimal(orders.getPayAccount().toString()).divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP).toString())); + String pageUrl = Constants.equalsInteger(orders.getType(),Constants.orderType.hyd.getKey())?orderDetailFreight: + Constants.equalsInteger(orders.getType(),Constants.orderType.scd.getKey())?orderDetailFood:orderDetail; + pageUrl = pageUrl.replace("{id}",orders.getId().toString()); + wxMsgVO.setPage(pageUrl); + wxMsgVO.setData(m); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟閲戦纭寰呮敮浠橈細{}", JSONObject.toJSONString(wxMsgVO)); + //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛� + String responseEntity = HttpsUtil.postJson(url,JSONObject.toJSONString(wxMsgVO)); + log.error("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟閲戦纭寰呮敮浠橈細{}", JSONObject.toJSONString(responseEntity)); + }catch (WxErrorException wxErrorException){ + + } + } } -- Gitblit v1.9.3