wwl před 3 roky
rodič
revize
51a3e24aab

+ 51 - 0
twzd-common/src/main/java/com/miaxis/common/utils/XmlUtil.java

@@ -71,6 +71,57 @@ public class XmlUtil {
     }
 
 
+    /**
+     * 微信回复图片 map转换xml
+     * @param data
+     * @return
+     * @throws Exception
+     */
+    public static String mapToXmlSpecial(Map<String, String> data) throws Exception {
+        log.info("----mapToXml-----"+data);
+        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder documentBuilder= documentBuilderFactory.newDocumentBuilder();
+        org.w3c.dom.Document document = documentBuilder.newDocument();
+        org.w3c.dom.Element root = document.createElement("xml");
+        document.appendChild(root);
+
+        org.w3c.dom.Element toUserName = document.createElement("ToUserName");
+        toUserName.setTextContent(data.get("ToUserName"));
+        root.appendChild(toUserName);
+        org.w3c.dom.Element fromUserName = document.createElement("FromUserName");
+        fromUserName.setTextContent(data.get("FromUserName"));
+        root.appendChild(fromUserName);
+        org.w3c.dom.Element createTime = document.createElement("CreateTime");
+        createTime.setTextContent(data.get("CreateTime"));
+        root.appendChild(createTime);
+        org.w3c.dom.Element msgType = document.createElement("MsgType");
+        msgType.setTextContent(data.get("MsgType"));
+        root.appendChild(msgType);
+        org.w3c.dom.Element image = document.createElement("Image");
+        root.appendChild(image);
+        org.w3c.dom.Element mediaId = document.createElement("MediaId");
+        msgType.setTextContent(data.get("MediaId"));
+        image.appendChild(mediaId);
+
+        TransformerFactory tf = TransformerFactory.newInstance();
+        Transformer transformer = tf.newTransformer();
+        DOMSource source = new DOMSource(document);
+        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+        StringWriter writer = new StringWriter();
+        StreamResult result = new StreamResult(writer);
+        transformer.transform(source, result);
+        String output = writer.getBuffer().toString(); //.replaceAll("\n|\r", "");
+        try {
+            writer.close();
+        } catch (Exception ex) {
+
+        }
+        log.info("----mapToXml-return-----"+output);
+        return output;
+    }
+
+
     /**
      * XML格式字符串转换为Map
      *

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

@@ -62,8 +62,8 @@ public class MessageUtil {
         returnMap.put("FromUserName", toUserName);
         returnMap.put("CreateTime", new Date().getTime()+"");
         returnMap.put("MsgType", "image");
-        returnMap.put("Image", mediaId);
-        return XmlUtil.mapToXml(returnMap);
+        returnMap.put("MediaId", mediaId);
+        return XmlUtil.mapToXmlSpecial(returnMap);
     }
 
 

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

@@ -165,7 +165,7 @@ public class WxGzhServiceImpl implements IWxGzhService {
                 }else if (content.startsWith("傻逼")){
                     return MessageUtil.initText(fromUserName, toUserName, "你才是煞笔");
                 }else if (content.startsWith("发图")){
-                    return MessageUtil.initImage(fromUserName, toUserName, "\n<MediaId>rs5DEkywgUJeRPuXhxdF9lSombaAO83KE81ivwMbnsQ</MediaId>\n");
+                    return MessageUtil.initImage(fromUserName, toUserName, "rs5DEkywgUJeRPuXhxdF9lSombaAO83KE81ivwMbnsQ");
                 }else {
                     return MessageUtil.initText(fromUserName, toUserName, "文本消息-默认回复信息");
                 }