为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微信服务号接入多客服系统

2017-09-19 5页 doc 40KB 30阅读

用户头像

is_654168

暂无简介

举报
微信服务号接入多客服系统 public class Customer {     private String ToUserName;     private String FromUserName;     private Integer CreateTime;     private String MsgType;     public String getToUserName() {         return ToUserName;     }     public void setToUserName(String toUserName)...
微信服务号接入多客服系统
public class Customer {     private String ToUserName;     private String FromUserName;     private Integer CreateTime;     private String MsgType;     public String getToUserName() {         return ToUserName;     }     public void setToUserName(String toUserName) {         ToUserName = toUserName;     }     public String getFromUserName() {         return FromUserName;     }     public void setFromUserName(String fromUserName) {         FromUserName = fromUserName;     }     public Integer getCreateTime() {         return CreateTime;     }     public void setCreateTime(Integer createTime) {         CreateTime = createTime;     }     public String getMsgType() {         return MsgType;     }     public void setMsgType(String msgType) {         MsgType = msgType;     }         } import java.io.InputStream; import java.io.Writer; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.core.util.QuickWriter; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.io.xml.PrettyPrintWriter; import com.thoughtworks.xstream.io.xml.XppDriver; /** * 消息工具类 *  */  public class MessageUtil {          /**     * 解析微信发来的请求(XML)     * @param request     * @return     * @throws Exception     */      @SuppressWarnings("unchecked")      public static Map parseXml(HttpServletRequest request) throws Exception {          // 将解析结果存储在HashMap中          Map map = new HashMap();            // 从request中取得输入流          InputStream inputStream = request.getInputStream();                  // 读取输入流          SAXReader reader = new SAXReader();          Document document = reader.read(inputStream);          // 得到xml根元素          Element root = document.getRootElement();          // 得到根元素的所有子节点          List elementList = root.elements();            // 遍历所有子节点          for (Element e : elementList){              map.put(e.getName(), e.getText());             System.out.println("-----xml------"+e.getName()+"|"+e.getText());         }           // 释放资源          inputStream.close();          inputStream = null;            return map;      }          /**     * 返回多客服消息     * @param customer     * @return xml     */      public static String senCustomerToXml(Customer customer) {          xstream.alias("xml", customer.getClass());          return xstream.toXML(customer);      }          public static boolean isNumeric(String str){           for (int i = str.length();--i>=0;){            if (!Character.isDigit(str.charAt(i))){             return false;           }           }           return true;     }         /**     * 扩展xstream,使其支持CDATA块     *      * @date 2013-05-19     */      private static XStream xstream = new XStream(new XppDriver() {          public HierarchicalStreamWriter createWriter(Writer out) {              return new PrettyPrintWriter(out) {                  // 对所有xml节点的转换都增加CDATA标记                  boolean cdata = true;                    @SuppressWarnings("unchecked")                  public void startNode(String name, Class clazz) {                     System.out.println("name:"+name);                     super.startNode(name);                  }                    protected void writeText(QuickWriter writer, String text) {                      System.out.println("text:"+text);                                         if(isNumeric(text)){                         cdata = false;                     }else{                         cdata = true;                     }                                         if (cdata) {                          writer.write("");                      } else {                          writer.write(text);                      }                  }              };          }      });      }  public class MultiMessage {         /**     * @param openid 微信用户     * @param CreateTime 接收微信消息时的时间     * @param toUserName 公众服务号的微信号     * @return     */     public String sendCustomer(String openid,String CreateTime,String toUserName){             Customer cus = new Customer();             cus.setCreateTime(Integer.valueOf(CreateTime));             cus.setFromUserName(toUserName);             cus.setMsgType("transfer_customer_service");             cus.setToUserName(openid);             return MessageUtil.senCustomerToXml(cus);     } }
/
本文档为【微信服务号接入多客服系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索