# 导入前置处理接口

来源快照：`result_data_new_260518.json`

- 来源 ID：`1252663418480410675`
- 模块：低代码平台e-builder
- 目录：应用建模 - 卡片设置 - 导入导出设置 - 二开接口
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# **导入前置处理接口**

> **最低支持版本：10.0.2404.02**

允许通过此功能，在执行表格批量导入前，对即将导入的数据进行校验、标注、处理等操作。

* * *

## **使用方法：**

### **1、实现接口**

在二开服务依赖com.weaver:weaver-ebuilder-form-client，实现接口com.weaver.ebuilder.form.client.service.batch.advice.ImportDataAdvice，并注册为Spring Bean。

* * *

例：  


![](https://weapp.eteams.cn/papi/file/preview?fileId=1252667795176128512&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

* * *

### **2、处理数据**

在实现类中可以获取到当前导入任务的相关信息，包含操作用户、导入数据、表头、表单id、表单字段、自定义参数等等信息。并允许对数据进行校验、修改等操作。并支持讲校验结果返回至错误模板中。

* * *

BaseImportDataAdviceDto：
    
    
    {
      "tenantKey": "",
      "employeeId": 0,
      "batchTaskId": 0,
      "index": 0,
      "total": 0,
      "dataList": [
        {
          "dataKey": "",
          "value": {},
          "allowImport": false,
          "errorMsg": "",
          "@comment": {
            "dataKey": "数据key",
            "value": "数据值",
            "allowImport": "是否允许导入",
            "errorMsg": "错误信息（不允许导入时）"
          }
        }
      ],
      "mainHeaderList": [],
      "detailHeaderLis": [],
      "adviceBeanName": "",
      "objId": 0,
      "breakOff": false,
      "errorMessage": "",
      "fields": [],
      "customParams": {},
      "@comment": {
        "tenantKey": "租户key",
        "employeeId": "人员id",
        "batchTaskId": "导入任务id",
        "index": "导入任务分批索引",
        "total": "导入任务总批数",
        "dataList": "导入数据",
        "mainHeaderList": "主表表头",
        "detailHeaderLis": "明细表表头(如有)",
        "adviceBeanName": "增强类bean名称",
        "objId": "表单id",
        "breakOff": "是否中断导入",
        "errorMessage": "中断导入信息",
        "fields": "表单字段",
        "customParams": "自定义参数"
      }
    }

* * *

### **3、注册dubbo接口**

在*-dubbo.xml配置文件中添加以下标签："<dubbo:service ref="ImportAdviceDubboService" interface="com.weaver.ebuilder.form.client.service.batch.ImportAdviceDubboService" timeout="240000" group="group"/>"，其中ref、interface属性不允许修改，group属性可设定为自定义值，只需确保表单导入配置中填写的group属性值与您指定的RPC group一致即可。

* * *

### **4、导入设置**

在表单后台配置——导入导出配置——自定义接口校验，填写上文中注册的信息即可。在输入框中按以下格式填入信息：beanName:group，其中beanName是您定义的Spring Bean的名称，group是您想要指定的RPC group。如"CheckEmpImportAdvice:secondev"。

* * *

注：如页面未找到“自定义接口校验”配置项，可通过访问接口（有该应用管理权限的账号）:

* * *

_/api/bs/ebuilder/form/impExp/saveCustomImportAdvice?appid={appid} &objId={objId}&adviceBeanName={adviceBeanName}_

* * *

参数说明：

* * *

**参数名**

* * *

| **是否必填**

* * *

| **参数说明**

* * *  
  
---|---|---  
appid

* * *

| 是

* * *

| 当前应用id

* * *  
  
objId

* * *

| 是

* * *

| 当前表单id

* * *  
  
adviceBeanName

* * *

| 是

* * *

| 需要配置的增强类（即上文中自定义校验输入框填写的内容）

* * *  
  
注：

* * *

远程调用超时时间默认1分钟，[如需调整可通过nacos添加以下配置到weaver-ebuilder-form-service.properties](http://如需调整可通过nacos添加以下配置到weaver-ebuilder-form-service.properties)：

* * *
    
    
    weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ImportAdviceDubboService].restProperties.connectTimeOut=30000
    weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ImportAdviceDubboService].restProperties.writeTimeOut=60000
    weaver.rest.web.restRpc.[group/com.weaver.ebuilder.form.client.service.batch.ImportAdviceDubboService].restProperties.readTimeOut=60000
