# 后台任务开发步骤

1、开发人员先实现规定的接口（ IBackgroundWorkPlugin），实现executeTask方法

2、后台任务类型注册

位置: 动态建模平台 => 开发配置 => 后台任务管理 => 后台任务类型注册

3、后台任务部署

位置: 动态建模平台 => 客户化配置 => 后台任务中心 => 后台任务部署

4、测试后台任务



# 后台任务代码模板

```
import nc.bs.pub.pa.PreAlertObject;
import nc.bs.pub.pa.PreAlertReturnType;
import nc.bs.pub.taskcenter.BgWorkingContext;
import nc.bs.pub.taskcenter.IBackgroundWorkPlugin;
import nc.vo.pub.BusinessException;

/**
 * demo 后台任务示例类
 */
public class DemoBackgroundWorkPlugin implements IBackgroundWorkPlugin {

    @Override
    public PreAlertObject executeTask(BgWorkingContext bgwc) throws BusinessException {

        //todo 业务代码....

        PreAlertObject obj = new PreAlertObject();
        obj.setReturnType(PreAlertReturnType.RETURNNOTHING);

        return obj;

    }
}

```



# 返回类型

### 取值与说明

| 取值                            | 说明                                                         |
| ------------------------------- | ------------------------------------------------------------ |
| RETURNNOTHING                   | 无消息返回                                                   |
| RETURNOBJECT                    | 对象类型                                                     |
| RETURNFORMATMSG                 | 格式化消息，可转化成打印模板数据源实现接口 IAlertMessage     |
| RETURNMESSAGE                   | 返回固定字符串类型                                           |
| RETURNDATASOURCE                | 打印模板数据源。<br>1. 只展现自定义变量时实现 IDataSource 接口，实现 IDataSource.getItemValuesByExpress 方法获取自定义变量的值。<br>2. 使用元数据实体上的属性或自定义变量时实现接口 IMetaDataDataSource，实现 IDataSource.getItemValuesByExpress() 方法获取自定义变量的值 |
| RETURNMULTILANGTEXT             | 返回多语文本                                                 |
| RETURN_MULTIPLE_RECEIVER_OBJECT | 返回一个 MultiReceiverPreAlertObject 对象，用于实现多接收者接收不同消息的场景 |