# 预警开发步骤

1 打开 动态建模平台 -> 开发配置 -> 预警类型注册 节点，进行预警类型注册
2 打开 动态建模平台 -> 客户化配置 -> 预警平台 -> 预警条目配置 节点，添加对应的预警条目
3 打开 动态建模平台 -> 开发配置 -> 消息管理 -> 消息模板类型注册 节点，注册对应的消息类型
4 打开 动态建模平台 -> 客户化配置 -> 统一沟通平台 -> 消息模板-全局 节点，新增消息模板
5 预警服务执行预警条目产生预警消息
6 预警消息通过消息、邮件、短信等方式发送，通知相关人员



# 预警代码模板

```
import nc.bs.pub.pa.IPreAlertPlugin;
import nc.bs.pub.pa.PreAlertContext;
import nc.bs.pub.pa.PreAlertObject;
import nc.bs.pub.pa.PreAlertReturnType;
import nc.vo.pub.BusinessException;
import nc.bs.dao.BaseDAO;

/**
 * 消息预警
 */
public class PreAlertDemo implements IPreAlertPlugin {

    //操作数据服务
    private final static BaseDAO baseDAO = new BaseDAO();
    
    @Override
    public PreAlertObject executeTask(PreAlertContext context) throws BusinessException {

        //todo 业务代码....

        PreAlertObject obj = new PreAlertObject();
        obj.setReturnType(PreAlertReturnType.RETURNNOTHING);
        
        return obj;
    }
    
    private BaseDAO getBaseDAO() {
        return baseDAO;
    }

}
```



# 返回类型

### 取值与说明

| 取值                            | 说明                                                         |
| ------------------------------- | ------------------------------------------------------------ |
| RETURNNOTHING                   | 无消息返回                                                   |
| RETURNOBJECT                    | 对象类型                                                     |
| RETURNFORMATMSG                 | 格式化消息，可转化成打印模板数据源实现接口 IAlertMessage     |
| RETURNMESSAGE                   | 返回固定字符串类型                                           |
| RETURNDATASOURCE                | 打印模板数据源。<br>1. 只展现自定义变量时实现 IDataSource 接口，实现 IDataSource.getItemValuesByExpress 方法获取自定义变量的值。<br>2. 使用元数据实体上的属性或自定义变量时实现接口 IMetaDataDataSource，实现 IDataSource.getItemValuesByExpress() 方法获取自定义变量的值 |
| RETURNMULTILANGTEXT             | 返回多语文本                                                 |
| RETURN_MULTIPLE_RECEIVER_OBJECT | 返回一个 MultiReceiverPreAlertObject 对象，用于实现多接收者接收不同消息的场景 |