All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sillyschema.silly.config.json Maven / Gradle / Ivy

The newest version!
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://gitee.com/iqiny/silly/sillyschema/silly.config.json",
  "type": "object",
  "additionalProperties": false,
  "definitions": {
    "entityConfig": {
      "description": "实体类描述,可以使用 ${#currentSillyEntityMap} 获取当前的实体对象属性值,${#parentSillyEntityMap}获取父对象属性值,${#preSillyEntity}获取上个对象",
      "properties": {
        "fields": {
          "description": "属性配置",
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "fieldName": {
                "description": "属性名称,不配置默认跟Key相同",
                "type": "string"
              },
              "desc": {
                "description": "属性的描述信息",
                "type": "string"
              },
              "required": {
                "description": "是否必填项,默认必填",
                "default": "${}"
              },
              "checkEl": {
                "description": "校验表达式,true 表示通过",
                "default": "${}"
              },
              "relationField": {
                "description": "关联父对象字段,父字段名称,当配置此属性时,不支持SPEL操作",
                "type": "string",
                "default": "id"
              },
              "requiredMessage": {
                "description": "必填项提示内容",
                "type": "string"
              },
              "defaultValue": {
                "description": "默认值",
                "default": "${}"
              },
              "finalValue": {
                "description": "最终值【relationField: true 时 此值不可为空】",
                "default": "${}"
              },
              "entityConfig": {
                "$ref": "#/definitions/entityConfig"
              }
            },
            "required": [
              "desc"
            ]
          }
        },
        "entityClass": {
          "description": "实体类全限定名",
          "type": "string"
        },
        "arrayData": {
          "description": "数据是否为数值格式,默认为true",
          "type": "boolean",
          "default": false
        },
        "needDelete": {
          "description": "是否需要删除之前且此次未保存的数据",
          "type": "boolean",
          "default": true
        },
        "needShow": {
          "description": "是否需要展示在root内",
          "type": "boolean",
          "default": true
        },
        "getShowType": {
          "description": "展示格式 【默认:rootMap, 可选:nodeRootMap, rootData】",
          "type": "string",
          "default": "rootMap",
          "enum": [
            "rootMap",
            "nodeRootMap",
            "rootData"
          ]
        },
        "needCheck": {
          "description": "是否需要进行数据校验 默认为true",
          "type": "boolean",
          "default": false
        },
        "ignoreFields": {
          "description": "忽略的保存参数名称,若不配置则默认忽略[createDate, createUserId, updateDate, updateUserId]",
          "type": "array",
          "uniqueItems": true
        }
      },
      "additionalProperties": false,
      "required": [
        "entityClass",
        "fields"
      ]
    },
    "variable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "requiredEl": {
          "type": "string",
          "default": "${}",
          "description": "支持SPEL表达式,'1'为需要,'0'为不需要, 表达式需要以 “${”开头,“}”结尾"
        },
        "required": {
          "type": "boolean",
          "default": false,
          "description": "是否必须项"
        },
        "checkEl": {
          "type": "string",
          "default": "${}",
          "description": "自定义的数据校验(基于root对象校验)true为通过"
        },
        "variableName": {
          "type": "string",
          "description": "变量字段(若不设置默认为此对象KEY)"
        },
        "desc": {
          "type": "string",
          "default": "",
          "description": "描述字段"
        },
        "remarks": {
          "type": "string",
          "default": "",
          "description": "备注描述字段"
        },
        "requiredMessage": {
          "type": "string",
          "default": "",
          "description": "必填提示内容"
        },
        "updatePropertyHandleValue": {
          "type": "boolean",
          "default": false,
          "description": "是否更新此字段信息到处理器上下文中,默认true"
        },
        "belong": {
          "type": "string",
          "default": "master",
          "description": "此变量归属对象,但都会存到variable中",
          "enum": [
            "master",
            "node",
            "variable"
          ]
        },
        "variableType": {
          "type": "string",
          "default": "string",
          "description": "变量类型,基础(string,list)其余的都是根据业务衍生出来的,通过实现SillyVariableConvertor接口可拓展[支持SPEL]",
          "enum": [
            "entity",
            "entities",
            "newProcess",
            "newProcesses",
            "string",
            "number",
            "date",
            "dateTime",
            "formatDate",
            "list"
          ]
        },
        "engineVariableType": {
          "type": "string",
          "default": "string",
          "description": "工作流变量类型,基础(string,list)其余的都是根据业务衍生出来的,通过实现SillyVariableConvertor接口可拓展[支持SPEL]",
          "enum": [
            "string",
            "list"
          ]
        },
        "params": {
          "type": "object",
          "default": {},
          "description": "变量内部参数 可在SillyVariableConvertor中获取",
          "properties": {
            "category": {
              "type": "string",
              "description": "配合【variableType=newProcess或newProcesses】使用,表示默认触发新流程的业务分类"
            },
            "defaultSaveMap": {
              "type": "object",
              "description": "配合【variableType=newProcess或newProcesses】使用,表示默认参数Map",
              "additionalProperties": true
            },
            "finalSaveMap": {
              "type": "object",
              "description": "配合【variableType=newProcess或newProcesses】使用,表示最终参数Map",
              "additionalProperties": true
            },
            "pattern": {
              "type": "string",
              "description": "配合【variableType=formatDate】使用,表示字符格式化配置如yyyy-MM-dd"
            },
            "showPattern": {
              "type": "string",
              "description": "配合【variableType=formatDate】使用,表示显示字符格式化配置如yyyy-MM-dd"
            },
            "entityConfig": {
              "$ref": "#/definitions/entityConfig"
            }
          }
        },
        "userGroupVariableName": {
          "type": "string",
          "default": "",
          "description": "分组变量名称"
        },
        "defaultText": {
          "type": "string",
          "default": "${}",
          "description": "变量的默认值,支持spel表达式,表达式需要以 “${”开头,“}”结尾"
        },
        "finalText": {
          "type": "string",
          "default": "${}",
          "description": "变量的最终值,支持spel表达式,表达式需要以 “${”开头,“}”结尾",
          "examples": [
            "${#master}",
            "${#masterId}",
            "${#currentDate}",
            "${#currentUserId}"
          ]
        },
        "saveHandleNames": {
          "type": "array",
          "default": [],
          "uniqueItems": true,
          "description": "变量保存处置器名称,可配置多个按配置的顺序执行,保存处置器可通过实现SillyVariableSaveHandle接口拓展",
          "items": {
            "type": "string",
            "enum": [
              "default",
              "dataJoin",
              "overwrite",
              "save",
              "skip",
              "deleteOtherTask"
            ]
          }
        }
      },
      "required": [
        "desc"
      ]
    }
  },
  "properties": {
    "category": {
      "type": "string",
      "description": "业务分类,需要保证不重复"
    },
    "processDesc": {
      "type": "string",
      "description": "流程描述信息"
    },
    "lastProcessKey": {
      "type": "string",
      "description": "最新版本流程ID[支持SPEL]"
    },
    "lastProcessVersion": {
      "type": "string",
      "description": "最新版本流程版本号[支持SPEL]"
    },
    "master": {
      "type": "object",
      "description": "可配置多个不同流程, 流程ID:{流程信息}",
      "additionalProperties": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "processKey": {
            "type": "string",
            "description": "当前流程KEY"
          },
          "processVersion": {
            "type": "string",
            "description": "当前流程版本号"
          },
          "processDesc": {
            "type": "string",
            "description": "当前流程版描述"
          },
          "firstNodeKey": {
            "type": "string",
            "description": "流程的第一个节点[支持SPEL]"
          },
          "node": {
            "type": "object",
            "description": "配置节点信息,节点ID:{节点信息}",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "nodeKey": {
                  "type": "string",
                  "description": "节点ID,不配置默认为当前KEY"
                },
                "nodeName": {
                  "type": "string",
                  "description": "节点名称"
                },
                "allowOtherVariable": {
                  "type": "boolean",
                  "description": "是否允许其他未定义的变量进行操作(是否可保存未定义的参数) 默认false"
                },
                "otherVariableThrowException": {
                  "type": "boolean",
                  "description": "存在未配置的变量是否抛出异常(数据校验)"
                },
                "isMultiple": {
                  "type": "boolean",
                  "description": "是否为多重节点,默认false"
                },
                "ignoreFieldNames": {
                  "type": "array",
                  "default": [],
                  "uniqueItems": true,
                  "description": "忽略的参数名称(不进行处置和保存),默认值:[id,taskId,submit,startProcess,processKey,nodeKey]"
                },
                "beforeSaveHandleNames": {
                  "type": "array",
                  "default": [],
                  "uniqueItems": true,
                  "description": "前置节点保存处理器"
                },
                "saveHandleNames": {
                  "type": "array",
                  "default": [],
                  "uniqueItems": true,
                  "description": "执行节点保存处理器(有默认值,谨慎修改)默认值:20个"
                },
                "afterSaveHandleNames": {
                  "type": "array",
                  "uniqueItems": true,
                  "description": "后置节点保存处理器"
                },
                "option": {
                  "type": "object",
                  "description": "此节点的操作配置",
                  "properties": {
                    "properties": {
                      "save": {
                        "type": "object",
                        "default": {},
                        "additionalProperties": false,
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "操作的Key"
                          },
                          "name": {
                            "type": "string",
                            "description": "操作的名称"
                          },
                          "hide": {
                            "type": "boolean",
                            "description": "操作是否隐藏"
                          },
                          "hideEl": {
                            "type": "string",
                            "description": "操作是否隐藏 EL表达式"
                          },
                          "url": {
                            "type": "string",
                            "description": "操作请求的 url"
                          },
                          "className": {
                            "type": "string",
                            "description": "解析此操作的类对象名"
                          },
                          "data": {
                            "type": "object",
                            "description": "额外配置属性 支持EL"
                          }
                        }
                      },
                      "submit": {
                        "type": "object",
                        "default": {},
                        "additionalProperties": false,
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "操作的Key"
                          },
                          "name": {
                            "type": "string",
                            "description": "操作的名称"
                          },
                          "hide": {
                            "type": "boolean",
                            "description": "操作是否隐藏"
                          },
                          "hideEl": {
                            "type": "string",
                            "description": "操作是否隐藏 EL表达式"
                          },
                          "url": {
                            "type": "string",
                            "description": "操作请求的 url"
                          },
                          "className": {
                            "type": "string",
                            "description": "解析此操作的类对象名"
                          },
                          "data": {
                            "type": "object",
                            "description": "额外配置属性 支持EL"
                          }
                        }
                      },
                      "flow": {
                        "type": "object",
                        "default": {},
                        "additionalProperties": false,
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "操作的Key"
                          },
                          "name": {
                            "type": "string",
                            "description": "操作的名称"
                          },
                          "hide": {
                            "type": "boolean",
                            "description": "操作是否隐藏"
                          },
                          "hideEl": {
                            "type": "string",
                            "description": "操作是否隐藏 EL表达式"
                          },
                          "url": {
                            "type": "string",
                            "description": "操作请求的 url"
                          },
                          "className": {
                            "type": "string",
                            "description": "解析此操作的类对象名"
                          },
                          "data": {
                            "type": "object",
                            "description": "额外配置属性 支持EL"
                          }
                        }
                      },
                      "reject": {
                        "type": "object",
                        "default": {},
                        "additionalProperties": false,
                        "properties": {
                          "key": {
                            "type": "string",
                            "description": "操作的Key"
                          },
                          "name": {
                            "type": "string",
                            "description": "操作的名称"
                          },
                          "hide": {
                            "type": "boolean",
                            "description": "操作是否隐藏"
                          },
                          "hideEl": {
                            "type": "string",
                            "description": "操作是否隐藏 EL表达式"
                          },
                          "url": {
                            "type": "string",
                            "description": "操作请求的 url"
                          },
                          "className": {
                            "type": "string",
                            "description": "解析此操作的类对象名"
                          },
                          "data": {
                            "type": "object",
                            "description": "额外配置属性 支持EL【如配置可驳回到的节点Map】"
                          }
                        }
                      }
                    }
                  },
                  "additionalProperties": true,
                  "default": {}
                },
                "variable": {
                  "type": "object",
                  "description": "配置当前节点的变量信息,变量名称:{变量信息}",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "requiredEl": {
                        "type": "string",
                        "default": "${}",
                        "description": "支持SPEL表达式,'1'为需要,'0'为不需要, 表达式需要以 “${”开头,“}”结尾"
                      },
                      "required": {
                        "type": "boolean",
                        "default": false,
                        "description": "是否必须项"
                      },
                      "checkEl": {
                        "type": "string",
                        "default": "${}",
                        "description": "自定义的数据校验(基于root对象校验)true为通过"
                      },
                      "variableName": {
                        "type": "string",
                        "description": "变量字段(若不设置默认为此对象KEY)"
                      },
                      "desc": {
                        "type": "string",
                        "default": "",
                        "description": "描述字段"
                      },
                      "remarks": {
                        "type": "string",
                        "default": "",
                        "description": "备注描述字段"
                      },
                      "requiredMessage": {
                        "type": "string",
                        "default": "",
                        "description": "必填提示内容"
                      },
                      "updatePropertyHandleValue": {
                        "type": "boolean",
                        "default": false,
                        "description": "是否更新此字段信息到处理器上下文中,默认true"
                      },
                      "belong": {
                        "type": "string",
                        "default": "master",
                        "description": "此变量归属对象,但都会存到variable中",
                        "enum": [
                          "master",
                          "node",
                          "variable"
                        ]
                      },
                      "variableType": {
                        "type": "string",
                        "default": "string",
                        "description": "变量类型,基础(string,list)其余的都是根据业务衍生出来的,通过实现SillyVariableConvertor接口可拓展[支持SPEL]",
                        "enum": [
                          "entity",
                          "string",
                          "number",
                          "date",
                          "dateTime",
                          "list"
                        ]
                      },
                      "engineVariableType": {
                        "type": "string",
                        "default": "string",
                        "description": "工作流变量类型,基础(string,list)其余的都是根据业务衍生出来的,通过实现SillyVariableConvertor接口可拓展[支持SPEL]",
                        "enum": [
                          "string",
                          "list"
                        ]
                      },
                      "params": {
                        "type": "object",
                        "default": {},
                        "description": "变量内部参数 可在SillyVariableConvertor中获取",
                        "additionalProperties": true,
                        "properties": {
                          "entityClass": {
                            "type": "string",
                            "description": "配合【variableType=entity或entities】使用,表示实体对象类类型(需实现SillyEntity接口)"
                          },
                          "type": {
                            "type": "string",
                            "description": "配合【variableType=dict或dicts】使用,表示字典项的类型值"
                          },
                          "pattern": {
                            "type": "string",
                            "description": "配合【variableType=formatDate】使用,表示字符格式化配置如yyyy-MM-dd"
                          },
                          "showPattern": {
                            "type": "string",
                            "description": "配合【variableType=formatDate】使用,表示显示字符格式化配置如yyyy-MM-dd"
                          }
                        }
                      },
                      "userGroupVariableName": {
                        "type": "string",
                        "default": "",
                        "description": "分组变量名称"
                      },
                      "defaultText": {
                        "type": "string",
                        "default": "${}",
                        "description": "变量的默认值,支持spel表达式,表达式需要以 “${”开头,“}”结尾"
                      },
                      "finalText": {
                        "type": "string",
                        "default": "${}",
                        "description": "变量的最终值,支持spel表达式,表达式需要以 “${”开头,“}”结尾",
                        "examples": [
                          "${#master}",
                          "${#masterId}",
                          "${#currentDate}",
                          "${#currentUserId}"
                        ]
                      },
                      "saveHandleNames": {
                        "type": "array",
                        "default": [],
                        "uniqueItems": true,
                        "description": "变量保存处置器名称,可配置多个按配置的顺序执行,保存处置器可通过实现SillyVariableSaveHandle接口拓展",
                        "items": {
                          "type": "string",
                          "enum": [
                            "default",
                            "dataJoin",
                            "overwrite",
                            "save",
                            "skip",
                            "deleteOtherTask"
                          ]
                        }
                      }
                    },
                    "required": [
                      "desc"
                    ]
                  },
                  "default": {}
                }
              },
              "required": [
                "nodeName",
                "option",
                "variable"
              ]
            },
            "default": {}
          }
        },
        "required": [
          "firstNodeKey",
          "processVersion",
          "node"
        ]
      }
    },
    "searchConfig": {
      "type": "object",
      "description": "查询配置",
      "default": {},
      "additionalProperties": {
        "type": "object",
        "description": "查询配置 {前端参数: {配置数据}}",
        "default": {},
        "additionalProperties": false,
        "properties": {
          "desc": {
            "type": "string",
            "default": "",
            "description": "参数描述"
          },
          "name": {
            "type": "string",
            "default": "",
            "description": "实际查询名称(数据库字段名)"
          },
          "searchType": {
            "type": "string",
            "default": "eq",
            "description": "查询类型【com.iqiny.silly.core.readhandle.search.SillySearchType.name()】匹配",
            "enum": [
              "between",
              "eq",
              "ge",
              "gt",
              "in",
              "le",
              "like",
              "lt",
              "ne",
              "notIn",
              "notLike",
              "isNull",
              "isNotNull"
            ]
          },
          "belong": {
            "type": "string",
            "default": "variable",
            "description": "此变量归属对象,仅masterDB会到主表查询,可通过实现【com.iqiny.silly.core.readhandle.search.SillySearchType】拓展",
            "enum": [
              "master",
              "node",
              "variable",
              "masterDB"
            ]
          },
          "defaultValueEl": {
            "type": "string",
            "default": "${}",
            "description": "默认值,支持SPEL表达式, 表达式需要以 “${”开头,“}”结尾"
          },
          "finalValueEl": {
            "type": "string",
            "default": "${}",
            "description": "最终值,支持SPEL表达式, 表达式需要以 “${”开头,“}”结尾"
          },
          "configMap": {
            "type": "object",
            "description": "其余配置对象Map"
          }
        },
        "required": [
          "desc",
          "name",
          "belong",
          "searchType"
        ]
      }
    }
  },
  "required": [
    "category",
    "processDesc",
    "lastProcessKey",
    "master",
    "searchConfig"
  ],
  "default": {
    "category": "",
    "processDesc": "",
    "lastProcessKey": "",
    "master": {},
    "searchConfig": {}
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy