第三方平台转发小程序微信客服消息
@Service
@EnableConfigurationProperties({WechatOpenProperties.class})
public class WxOpenService extends WxOpenServiceImpl {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private WechatOpenProperties wechatOpenProperties;
@Autowired
private RedissonClient redissonClient;
private WxOpenMessageRouter wxOpenMessageRouter;
@PostConstruct
public void init() {
WxOpenInRedissonConfigStorage inRedissonConfigStorage = new WxOpenInRedissonConfigStorage(redissonClient);
inRedissonConfigStorage.setComponentAppId(wechatOpenProperties.getComponentAppId());
inRedissonConfigStorage.setComponentAppSecret(wechatOpenProperties.getComponentSecret());
inRedissonConfigStorage.setComponentToken(wechatOpenProperties.getComponentToken());
inRedissonConfigStorage.setComponentAesKey(wechatOpenProperties.getComponentAesKey());
inRedissonConfigStorage.autoRefreshToken();
setWxOpenConfigStorage(inRedissonConfigStorage);
wxOpenMessageRouter = new WxOpenMessageRouter(this);
wxOpenMessageRouter.rule().handler((wxMpXmlMessage, map, wxMpService, wxSessionManager) -> {
logger.info("\n接收到 {} 公众号请求消息,内容:{}", wxMpService.getWxMpConfigStorage().getAppId(), wxMpXmlMessage);
return null;
}).next()
//添加下面这段代码,在微信推送消息到第三方平台时,以下函数的返回将作为结果发送给微信。
.rule().async(false).handler((wxMpXmlMessage, map, wxMpService, wxSessionManager) -> {
logger.info("\n接收到 {} 公众号请求消息,内容:{}", wxMpService.getWxMpConfigStorage().getAppId(), wxMpXmlMessage);
return WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE()
.fromUser(wxMpXmlMessage.getToUser())
.toUser(wxMpXmlMessage.getFromUser())
.build();
}).end();
}
public WxOpenMessageRouter getWxOpenMessageRouter(){
return wxOpenMessageRouter;
}
}
微信转发规则
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/trans.html
本文暂时没有评论,来添加一个吧(●'◡'●)