客服消息跳转自动回复
作者:互联网
客服消息主动发送
客服消息跳转自动回复
/**
* 客服消息会话跳转直接回复方法
* @param type 消息类型 文本消息:"text" 图片消息:"image" 图文链接:"link" 小程序卡片:"miniprogrampage"
* @param openId 用户openId
* @param jsonObject 各个消息类型对象JSON字符串 使用方法: JSON.toJSONString()
* @return
*/
public static Integer sendCustomerMsg(String type, String openId, String jsonObject) throws IOException {
//获取accessToken
String accessToken = ImgQrCodeUtil.getAccessToken();
if(StringUtils.isEmpty(accessToken)){
return null;
}
//发送文本消息
CustomerServiceMessage customerServiceMessage = new CustomerServiceMessage();
customerServiceMessage.setTouser(openId);
customerServiceMessage.setMsgt(type);
switch (type){
case WxConsts.KefuMsgType.TEXT:
TextDTO textDTO = JSON.parseObject(jsonObject, TextDTO.class);
customerServiceMessage.setText(textDTO);
break;
case WxConsts.KefuMsgType.LINK:
LinkDTO linkDTO = JSON.parseObject(jsonObject, LinkDTO.class);
customerServiceMessage.setLink(linkDTO);
break;
case WxConsts.KefuMsgType.IMAGE:
ImageDTO imageDTO = JSON.parseObject(jsonObject, ImageDTO.class);
customerServiceMessage.setImage(imageDTO);
break;
case WxConsts.KefuMsgType.MINIPROGRAMPAGE:
MiniprogrampageDTO miniprogrampageDTO = JSON.parseObject(jsonObject, MiniprogrampageDTO.class);
customerServiceMessage.setMiniprogrampage(miniprogrampageDTO);
break;
}
//调取微信接口
String url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken;
//发送请求
String sr = MessageUtil.sendPostJsonStr(url, JSONObject.toJSONString(customerServiceMessage));
//解析相应内容(转换成json对象)
JSONObject json = JSON.parseObject(sr);
//获取返参内容
Integer errcode = (Integer) json.get("errcode");
String errmsg = (String) json.get("errmsg");
log.info("调取客服会话回复接口返参 -------> errcode:{}, errmsg:{}", errcode, errmsg);
return errcode;
}
TextDTO
package com.xybsyw.school.facade.dto.customerservice;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* 客服消息:文本消息实体
* Created by chenyiyi
* Date: 2021/4/26
* Time: 2:41 下午
*/
@Data
@AllArgsConstructor
public class TextDTO {
/**
* 文本消息内容
*/
private String content;
}
LinkDTO
package com.xybsyw.school.facade.dto.customerservice;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.checkerframework.checker.units.qual.A;
/**
* 图文链接实体
* Created by chenyiyi
* Date: 2021/4/26
* Time: 2:42 下午
*/
@Data
@AllArgsConstructor
public class LinkDTO {
/**
* 消息标题
*/
private String title;
/**
* 图文链接消息
*/
private String description;
/**
* url
*/
private String url;
/**
* 图文链接消息的图片链接 支持 JPG、PNG 格式,较好的效果为大图 640 X 320,小图 80 X 80
*/
private String thumb_url;
}
ImageDTO
package com.xybsyw.school.facade.dto.customerservice;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* 图片结构实体
* Created by chenyiyi
* Date: 2021/4/26
* Time: 2:41 下午
*/
@Data
@AllArgsConstructor
public class ImageDTO {
/**
* 发送的图片的媒体ID,通过 新增素材接口 上传图片文件获得。
*/
private String media_id;
}
MiniprogrampageDTO
package com.xybsyw.school.facade.dto.customerservice;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* 客服消息:小程序卡片实体
* Created by chenyiyi
* Date: 2021/4/26
* Time: 2:44 下午
*/
@Data
@AllArgsConstructor
public class MiniprogrampageDTO {
/**
* 消息标题
*/
private String title;
/**
* 小程序的页面路径,跟app.json对齐,支持参数,比如pages/index/index?foo=bar
*/
private String pagepath;
/**
* 小程序消息卡片的封面, image 类型的 media_id,通过 新增素材接口 上传图片文件获得,建议大小为 520*416
*/
private String thumb_media_id;
}
标签:String,客服,private,AllArgsConstructor,回复,跳转,import,lombok,Data 来源: https://blog.csdn.net/dragon448144674/article/details/116603027