wwl 3 rokov pred
rodič
commit
a0dac479df

+ 22 - 3
twzd-common/src/main/java/com/miaxis/common/utils/wx/MessageUtil.java

@@ -39,9 +39,9 @@ public class MessageUtil {
 
     /**
      * 回复文本消息
-     * @param toUserName
      * @param fromUserName
-     * @param content
+     * @param toUserName
+     * @param content 回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示)
      * @return
      */
     public static String initText(String fromUserName, String toUserName, String content) throws Exception{
@@ -56,10 +56,29 @@ public class MessageUtil {
     }
 
 
+    /**
+     * 回复图片消息
+     * @param fromUserName
+     * @param toUserName
+     * @param mediaId 通过素材管理中的接口上传多媒体文件,得到的id。
+     * @return
+     */
+    public static String initImage(String fromUserName, String toUserName, String mediaId) throws Exception{
+        // 返回消息时ToUserName的值与FromUserName的互换
+        Map<String, String> returnMap = new HashMap<>();
+        returnMap.put("ToUserName", fromUserName);
+        returnMap.put("FromUserName", toUserName);
+        returnMap.put("CreateTime", new Date().getTime()+"");
+        returnMap.put("MsgType", "image");
+        returnMap.put("MediaId", mediaId);
+        return XmlUtil.mapToXml(returnMap);
+    }
+
+
     /**
      * 回复图文消息
-     * @param toUserName 接收方帐号(收到的OpenID)
      * @param fromUserName 开发者微信号
+     * @param toUserName 接收方帐号(收到的OpenID)
      * @param articles 图文消息信息,注意,如果图文数超过限制,则将只发限制内的条数
      * @param title 图文消息标题
      * @param description 图文消息描述

+ 12 - 0
twzd-service/src/main/java/com/miaxis/feign/service/IWxSendService.java

@@ -56,4 +56,16 @@ public interface IWxSendService {
     String createMenu(@RequestParam("access_token")String accessToken, JSONObject jsonObject);
 
 
+    /**
+     * 新增永久图文素材
+     *      -文档链接:https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Adding_Permanent_Assets.html
+     * @param accessToken
+     * @param jsonObject json
+     * @return
+     */
+    @PostMapping(value = "/material/add_news")
+    @ResponseBody
+    String materialAddNews(@RequestParam("access_token")String accessToken, JSONObject jsonObject);
+
+
 }

+ 4 - 9
twzd-service/src/main/java/com/miaxis/wx/service/impl/WxGzhServiceImpl.java

@@ -173,6 +173,8 @@ public class WxGzhServiceImpl implements IWxGzhService {
                     return MessageUtil.initText(fromUserName, toUserName, "你好啊");
                 }else if (content.startsWith("傻逼")){
                     return MessageUtil.initText(fromUserName, toUserName, "你才是煞笔");
+                }else if (content.startsWith("发图")){
+                    return MessageUtil.initText(fromUserName, toUserName, "https://twzd-1305573081.cos.ap-shanghai.myqcloud.com/twzd-test/testTicket/2021/10/25/1635154145629.png");
                 }else {
                     return MessageUtil.initText(fromUserName, toUserName, "文本消息-默认回复信息");
                 }
@@ -210,17 +212,10 @@ public class WxGzhServiceImpl implements IWxGzhService {
                     // todo 处理上报地理位置事件
 
                 } else if (MessageUtil.MESSAGE_CLICK.equals(event)) { // 点击菜单拉取消息时的事件推送事件
-                    log.info("3.3...");
+                    log.info("3.3.....click:" + jsonObjectData.get("EventKey"));
                     //判断事件KEY值,与自定义菜单接口中KEY值对应
                     if ("generateTicket".equals(jsonObjectData.get("EventKey"))){ //获取分销二维码
-                        return MessageUtil.initNews(fromUserName,
-                                toUserName,
-                                "图文消息信息",
-                                "title",
-                                "描述",
-                                "https://twzd-1305573081.cos.ap-shanghai.myqcloud.com/twzd-test/testTicket/2021/10/25/1635154145629.png",
-                                "www.baidu.com"
-                        );
+                        return MessageUtil.initText(fromUserName, toUserName, "key: "+jsonObjectData.get("EventKey").toString());
                     }
 
                 } else if (MessageUtil.MESSAGE_VIEW.equals(event)) { // 点击菜单跳转链接时的事件推送