事件订阅

一、应用场景

根据客户订阅的事件动作,YonSuite\YonBIP对用单据数据改变后,会将数据改变的单据信息根据注册的回调地址推送给三方。 目的:1、保证双方系统数据的实时一致性;2、通过事件订阅可以减少接口轮询获取单据变更的数据的情况。

二、基础入门

请点击【入门】含示例

三、添加事件订阅

  • 登录业务系统 YonBIP/YonSuite系统
  • 进入事件订阅节点,选择自己添加的授权key点击事件订阅

四、配置回调地址

  • 点击测试时还会校验appkey,appsecrect等解密 ,如果错误测试也会提示,

  • 测试成功结果提示

  • 解密相关文档

五、JAVA代码示例使用说明

  • 我们提供了JAVA代码示例,简单配置即可使用。

按照reademe配置即可

5.1、回调地址配置参考

com.yonyou.openapi.base.event.EventListenerController#onEventNew

5.2、添加事件编码

  • 添加事件编码:

com.yonyou.openapi.event.IsvEventExtendType

  • 编码对应参考下图事件编码

5.3、编写接收事件代码


package com.yonyou.openapi.event.dept;

import com.google.common.collect.Sets;
import com.yonyou.openapi.base.auth.network.cryptor.EncryptionHolder;
import com.yonyou.openapi.base.event.EventListener;
import com.yonyou.openapi.event.ISVEventExtendDto;
import com.yonyou.openapi.event.IsvEventExtendType;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.Set;

/**
 * @description: 部门新增事件监听
 **/
@Slf4j
@Component
@RequiredArgsConstructor
public class DeptAddEvent implements EventListener<ISVEventExtendDto> {


    /**
     * 在这里写待办的处理逻辑,如果返回true则继续执行下一个相同编码的事件,返回false不继续执行。
     * @param type 事项类型
     * @param event 解析后对象
     * @param holder 响应消息体
     * @return boolean
     */
    @Override
    public boolean onEvent(String type, ISVEventExtendDto event, EncryptionHolder holder) {
        String[] deptId = event.getDeptId();
        Long timestamp = event.getTimestamp();
        return true;
    }

    /**
     * 如果存在相同事件编码的处理逻辑,此处用于执行排序
     */
    @Override
    public int priority() {
        return EventListener.super.priority()-100;
    }

    /**
     * 返回事件编码
     * @return Set<String>
     */
    @Override
    public Set<String> supportTypes() {
        return Sets.newHashSet(IsvEventExtendType.DEPT_ADD);
    }

    /**
     * 返回接收实体对象
     * @return Class<ISVEvent>
     */
    @Override
    public Class<ISVEventExtendDto> getEventClass() {
        return ISVEventExtendDto.class;
    }

}

5.4、测试

六、问题说明

1、请注意:待办事件订阅需要提交工单,研发老师给对应租户添加白名单后才能收到 2、存量变更事件也需要添加白名单, 请提交工单

Copyright © 用友 -【生态技术部】 2022-2023 all right reserved,powered by Gitbook修订时间: 2024-01-30 18:49:36

results matching ""

    No results matching ""