FieldMap Studio Pro

智能规则表达式配置 & 依赖校验模拟引擎

💾 草稿已开启自动保存
5 条规则配置中
🏠 返回首页
配置规则表格 → 生成 JSON → 复制粘至 openapi_apilist 的 expressjson 大文本字段。支持拖拽排序、在线导入、静态检查与数据流模拟。

📋 映射规则列表 (支持拖拽 ≡ 调整顺序,目标字段自动补全)

seq 启用 目标 targetParam 类型 源字段 sourceParams
逗号分隔
表达式 expression 条件 condition
空=无条件
覆盖 操作

⚙️ JSON 配置面板

📄 报文示例 (Payload)

🧪 预检结果

点 "预检" 校验语法与字段。

▶️ 模拟执行控制台

点 "模拟执行" 运行逻辑与数据改写对比。
📖 表达式语法与白名单帮助
类别语法与常用白名单函数
算术+ - * /(+ 任一边字符串为拼接)
比较> < >= <= == !=(==/!= 对 null 友好)
逻辑&& || !(短路逻辑)
三元cond ? a : b(不短路,两分支都求值)
聚合SUM(path) AVG(path) COUNT(path) MIN(path) MAX(path)
数学ROUND(x,n) ABS CEIL FLOOR MAX2 MIN2 MOD POW DIV(x,y,scale)
字符串LEN UPPER LOWER TRIM CONTAINS STARTSWITH ENDSWITH SUBSTR REPLACE CONCAT INDEXOF LPAD RPAD REPEAT REVERSE SPLITAT REGEXMATCH
条件/空值IF CASE COALESCE NVL ISNULL ISBLANK ISPRESENT IN BETWEEN(IF/CASE/COALESCE/NVL 短路)
类型TONUM TOSTR GUID
列函数JOINCOL(path,sep) COUNTDISTINCT(path)
日期NOW TODAY CURYEAR CURMONTH CURDAY YEAR MONTH DAY FORMATDATE ADDDAYS DATEDIFF WEEKDAY MONTHSTART MONTHEND QUARTER AGE
查库BDTRANS(entity,matchField,field) 编码翻译·查无保持原值【推荐】;BDGET BDGETM BDGETNAME BDGETORSELF;匹配值/fallbackField 加不加引号均可(本地模拟返回空串)
变量直接写字段路径:amount / expenseentry.qty(取首行);分录逐行时写字段名
⚡ LifeScript 脚本编写规范
配置项详细说明与规范
用法类型选 SCRIPT,expression 写 LifeScript 脚本,return 值写入目标字段;条件仍用表达式语法
变量报文字段平铺为变量(billno、customerno…);分录为数组:entryentity[0]["qty"];分录逐行规则时为行+头合并变量。
基础资料字段是对象:传 xxx_number 会被平台折叠为 xxx:{"number":...},读取用 xxx["number"],写回返回 {"number":code} 且 targetParam 填 xxx(不带后缀)
查库函数BDGET(entity,ret,field,val) BDGETM BDGETNAME BDTRANS(entity,matchField,value)(BDTRANS 查无返回 value 本身)
平台函数须先用 use 导入:use DB; → queryOne(routeKey,ksql,params) queryList update execute executeBatch;use MS; → invokeService invokeBosService invokeBizService;use JSON; → toJSONString parseObject parseArray
语法限制var 声明;list[i] / map["key"] / .length;无 else if(嵌套 if 替代);三元须加括号;不支持匿名内部类
主动报错ex(code, message) 中断保存,code/message 随 API 错误响应返回调用方(其余异常被吞掉不阻断)