# 业务插件开发步骤

## 1 注册事件源（系统界面处操作）

位置:  动态建模平台 -> 开发配置 -> 插件管理 -> 业务插件注册

## 2 开发业务插件 

实现IBusinessListener接口

## 3 在事件源下添加业务插件（系统界面处操作）

位置：动态建模平台 -> 开发配置 -> 插件管理 -> 业务插件注册

## 4 在相应的变化处触发事件源

事件派发器包路径：nc.bs.businessevent.EventDispatcher

EventDispatcher.fireEvent(new BusinessEvent("事件源id", "事件类型编码", 业务数据对象));



# 业务插件示例代码

```java
import nc.bs.businessevent.BusinessEvent;
import nc.bs.businessevent.IBusinessEvent;
import nc.bs.businessevent.IBusinessListener;
import nc.bs.dao.BaseDAO;
import nc.vo.pub.BusinessException;

/**
 * 业务事件监听器 demo
 *
 * 此类需要放在 public 或者 private 下
 */
public  class DemoListener implements IBusinessListener {

    //操作数据服务
    private final static BaseDAO baseDAO = new BaseDAO();
    
    /**
     * 响应事件的动作
     * @param event 事件
     * @throws BusinessException
     */
    @Override
    public void doAction(IBusinessEvent event) throws BusinessException {

        //1 获取事件中的用户对象
        BusinessEvent businessEvent = (BusinessEvent) event;
        Object obj = ((BusinessEvent.BusinessUserObj) businessEvent.getUserObject()).getUserObj();
        if (obj == null) {
            return;
        }

        //2 转为自己的业务对象
        //todo....

        //3 业务逻辑  需要操作数据可以使用 getBaseDAO() 
        //todo....

    }
    
    private BaseDAO getBaseDAO() {
        return baseDAO;
    }

}

```





