电脑端登录公众号管理后台,【添加功能插件】开通客服功能,输入"人工客服"接入客服热线
底部有我的微信二维码,如有问题,可加好友进行技术交流!
weixin-java-mp集成微信公众号自带客服功能代码
增加TextBuilder.java文件 内容如下:
public class TextBuilder extends AbstractBuilder {
@Override
public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage,
WeixinService service) {
WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content)
.fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser())
.build();
return m;
}
public WxMpXmlOutMessage buildKf(String content, WxMpXmlMessage wxMessage,WeixinService service) {
WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content)
.fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser())
.build();
m.setToUserName(wxMessage.getFromUser());
m.setFromUserName(wxMessage.getToUser());
m.setCreateTime(System.currentTimeMillis() / 1000l);
m.setMsgType("transfer_customer_service");
return m;
}
}
增加MsgHandler.java
@Component
public class MsgHandler extends AbstractHandler {
@Resource
private WeixinService weixinService;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException { WeixinService weixinService = (WeixinService) wxMpService; if(wxMessage.getMsgType().contains("text")) { //收到的是文本消息 //回复转人工服务 if("人工客服".equals(wxMessage.getContent())){ return new TextBuilder().buildKf("感谢关注", wxMessage, weixinService); } } }
增加WeixinService.java文件,内容如下
@Service
public class WeixinService extends WxMpServiceImpl {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
protected LogHandler logHandler;
@Autowired
protected NullHandler nullHandler;
@Autowired
protected KfSessionHandler kfSessionHandler;
@Autowired
protected StoreCheckNotifyHandler storeCheckNotifyHandler;
@Autowired
private WxMpConfig wxConfig;
@Autowired
private LocationHandler locationHandler;
@Autowired
private MenuHandler menuHandler;
@Autowired
private MsgHandler msgHandler;
@Autowired
private UnsubscribeHandler unsubscribeHandler;
@Autowired
private SubscribeHandler subscribeHandler;
@Autowired
private ScanHandler scanHandler;
private WxMpMessageRouter router;
@PostConstruct
public void init() {
final WxMpInMemoryConfigStorage config = new WxMpInMemoryConfigStorage();
config.setAppId(this.wxConfig.getAppid());// 设置微信公众号的appid
config.setSecret(this.wxConfig.getAppsecret());// 设置微信公众号的app corpSecret
config.setToken(this.wxConfig.getToken());// 设置微信公众号的token
&n