From d0378c7fce817dff8d8a180ea4d23b11bda6d1bc Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 22 八月 2025 11:10:40 +0800
Subject: [PATCH] 前端
---
server/services/src/main/java/com/doumee/config/wx/SendWxMessage.java | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 204 insertions(+), 17 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 6dd2bf3..440b45d 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,15 +4,22 @@
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 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;
/**
@@ -27,33 +34,213 @@
private static String goodsOrderUrl = "pages/settlementDetails/settlementDetails?goodsOrderId=";
+ private static String identityInfoUrl = "pages/mine/mine";
+
@Autowired
private SystemDictDataBiz systemDictDataBiz;
- public void bookingsCancel(String openid, String goodsOrderId, String accessToken, String bikeCode, Date startTime, Date endTime) throws WxErrorException {
+ /**
+ * 淇℃伅璁よ瘉
+ * @param openid
+ * @param identityInfo
+ * @throws WxErrorException
+ */
+ public void identityInfoMessage(String openid, IdentityInfo identityInfo) throws WxErrorException {
RestTemplate restTemplate = new RestTemplate();
- log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 -> accessToken锛歿}",accessToken);
+ 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="+WxMiniConfig.wxMaService.getAccessToken();
+ String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken;
//鎷兼帴鎺ㄩ�佺殑妯$増
- WxMsgVO wxMsgVo = new WxMsgVO();
+ WxMsgVO wxMsgVO = new WxMsgVO();
//鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
- wxMsgVo.setTouser(openid);
+ wxMsgVO.setTouser(openid);
//璁㈤槄娑堟伅妯℃澘id
-// wxMsgVo.setTemplate_id(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.TIME_OUT_TEMPID).getCode());
+ wxMsgVO.setTemplate_id("VJho7-lf-4_WZFfOzenDndgwNDIA0EvCiE6vqBnExpQ");
Map<String, TemplateData> m = new HashMap<>(4);
- m.put("character_string1", new TemplateData(bikeCode));
- //瑙i攣鏃堕棿
- m.put("date3", new TemplateData(DateUtil.getFomartDate(startTime,"yyyy/MM/dd HH:mm")));
- //涓婇攣鏃堕棿
- m.put("date4", new TemplateData(DateUtil.getFomartDate(endTime,"yyyy/MM/dd HH:mm")));
- //娓╅Θ鎻愰啋
- m.put("thing5", new TemplateData("涓存椂閿佽溅宸茶秴杩囨渶澶ф椂闀匡紝宸茶嚜鍔ㄨ繕杞�"));
- wxMsgVo.setPage(goodsOrderUrl + goodsOrderId);
- wxMsgVo.setData(m);
+ 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.getFomartDate(identityInfo.getAuditTime(),"yyyy-MM-dd HH:mm")));
+ m.put("thing14", new TemplateData(identityInfo.getAuditRemark()));
+ wxMsgVO.setPage(identityInfoUrl);
+ wxMsgVO.setData(m);
ResponseEntity<String> responseEntity =
- restTemplate.postForEntity(url, wxMsgVo, String.class);
- log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 涓存椂閿佽溅瓒呮椂锛歿}", JSONObject.toJSONString(responseEntity));
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁よ瘉淇℃伅锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+
+
+ /**
+ *
+ * @param openidList
+ * @param orders
+ * @param cancelType 鍙栨秷绫诲瀷锛�0=骞冲彴鍙栨秷锛�1=鍙戝崟鏂瑰彇娑堬紱1=鎺ュ崟鏂瑰彇娑�
+ * @throws WxErrorException
+ */
+ public void cancelMessage(List<String> openidList, Orders orders,Integer cancelType ) 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();
+ //璁㈤槄娑堟伅妯℃澘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.getFomartDate(orders.getCancelTime(),"yyyy-MM-dd HH:mm:ss")));
+ m.put("thing6", new TemplateData(Constants.equalsInteger(cancelType,Constants.ZERO)?"骞冲彴鍙栨秷":Constants.equalsInteger(cancelType,Constants.ONE)?"鍙戝崟鏂瑰彇娑�":"鎺ュ崟鏂瑰彇娑�"));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ if(CollectionUtils.isNotEmpty(openidList)){
+ for (String openid:openidList) {
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ wxMsgVO.setTouser(openid);
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+ }else{
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", "鏃犱汉鍛樹俊鎭�");
+ }
+ }
+
+
+ public void acceptMessage(String openid, Orders orders,String memberName,String memberPhone) 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();
+ 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));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙栨秷涓氬姟锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+
+
+ public void orderUpdMessage(String openid, Orders orders) 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();
+ 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")));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鍙樻洿閫氱煡锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+
+
+
+
+ public void withdrawalMessage(String openid, WithdrawalOrders withdrawalOrders) 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();
+ 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("鎵撴鎴愬姛锛岃娉ㄦ剰鏌ユ敹"));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鎻愮幇鎴愬姛閫氱煡锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+
+
+ public void revenueMessage(String openid, Orders orders) 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();
+ 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")));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 璁㈠崟鏀剁泭閫氱煡锛歿}", JSONObject.toJSONString(responseEntity));
+ }
+
+
+ public void autoDispatchMessage(String openid, Orders orders,BigDecimal distance) 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();
+ 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.getFomartDate(orders.getStartDate(),"MM-dd")+"寮�濮�"));
+ //TODO 璺宠浆鍦板潃
+ wxMsgVO.setPage("");
+ wxMsgVO.setData(m);
+ //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+ ResponseEntity<String> responseEntity =
+ restTemplate.postForEntity(url, wxMsgVO, String.class);
+ log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 鏈嶅姟娲惧崟锛歿}", JSONObject.toJSONString(responseEntity));
}
--
Gitblit v1.9.3