{
  "name": "GuangZuan",
  "describe": "广钻项目数据库设计",
  "avatar": "",
  "version": "4.1.1",
  "createdTime": "2022-6-17 13:12:04",
  "updatedTime": "2022-6-23 14:07:41",
  "dbConns": [],
  "profile": {
    "default": {
      "db": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E",
      "dbConn": "944E8B87-7739-4F4D-BC44-4E798DEE552B",
      "entityInitFields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "58ECE954-F1C0-4733-88D4-DFCA775E672D"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "92BF430E-01FA-4AEF-944F-25A142632654"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "4E471FD6-3E73-4A90-B660-51598A482409"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "09F64AC4-4DEE-428F-AF64-4C103884E1AC"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "C858B4D9-E18F-41B8-9666-63D151009C22"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "34B5C416-C35C-448D-B34F-252117F8F5A1"
        }
      ],
      "entityInitProperties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      }
    },
    "javaHome": "",
    "sql": {
      "delimiter": ""
    },
    "dataTypeSupports": [
      {
        "defKey": "MYSQL",
        "id": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E"
      },
      {
        "defKey": "ORACLE",
        "id": "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542"
      },
      {
        "defKey": "SQLServer",
        "id": "BFC87171-C74F-494A-B7C2-76B9C55FACC9"
      },
      {
        "defKey": "PostgreSQL",
        "id": "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022"
      },
      {
        "defKey": "DB2",
        "id": "89504F5D-94BF-4C9E-8B2E-44F37305FED5"
      },
      {
        "defKey": "DM",
        "id": "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307"
      },
      {
        "defKey": "GaussDB",
        "id": "592C7013-143D-4E7B-AF64-0D7BF1E28230"
      },
      {
        "defKey": "Kingbase",
        "id": "77BD85E5-9D0D-4096-8427-CBA306FC9C6A"
      },
      {
        "defKey": "MaxCompute",
        "id": "11D1FB71-A587-4217-89BA-611B8A1F83E0"
      },
      {
        "defKey": "SQLite",
        "id": "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1"
      },
      {
        "defKey": "JAVA",
        "id": "797A1496-D649-4261-89B4-544132EC3F36"
      },
      {
        "defKey": "JavaMybatis",
        "id": "895CFD1D-4273-4D32-A2C4-CAC70200AB5B"
      },
      {
        "defKey": "JavaMybatisPlus",
        "id": "A2EE7B4A-CE62-4290-B00C-B26C1BF18073"
      },
      {
        "defKey": "C#",
        "id": "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30"
      },
      {
        "defKey": "Hive",
        "id": "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2"
      },
      {
        "defKey": "Golang",
        "id": "B91D99E0-9B7C-416C-8737-B760957DAF09"
      }
    ],
    "codeTemplates": [
      {
        "type": "appCode",
        "applyFor": "797A1496-D649-4261-89B4-544132EC3F36",
        " JpaBean": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport javax.persistence.*;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@ApiModel(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\n@Table(name=\"{{=it.entity.defKey}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    {{? field.primaryKey }}\n    @Id\n    @GeneratedValue\n    {{?}}\n    @ApiModelProperty(name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n    private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n        return this.{{=it.func.camel(field.defKey,false)}};\n    }\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n        this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n    }\n{{~}}\n}"
      },
      {
        "type": "appCode",
        "applyFor": "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30",
        "Default": "using System;\nusing System.Collections.Generic;\n\n$blankline\n{{\n    var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n}}\n/*\n * @author : http://www.chiner.com.cn\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n * @desc : {{=it.func.join(it.entity.defName,it.entity.comment,'-')}}\n */\nnamespace PDManer.Application\n{\n    public partial class {{=it.func.camel(it.entity.defKey,true) }}\n    {\n    \n        {{~it.entity.fields:field:index}}\n        /// <summary>\n        /// {{=it.func.join(field.defName,field.comment,';')}}\n        /// </summary>\n        public {{=field.type}} {{=it.func.camel(field.defKey,true)}} { get; set; }\n        $blankline\n        {{~}}\n        \n    }\n}",
        "SqlSugar": "using System;\nusing System.Collections.Generic;\nusing SqlSugar;\n\n$blankline\n{{\n    var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    var sqlSugartable='[SugarTable(\"{{=it.entity.defKey}}\", TableDescription = \"{{=it.func.join(it.entity.defName,it.entity.comment,';')}}\")]';\n}}\n/*\n * @author : xkdong@163.com\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n * @desc : {{=it.func.join(it.entity.defName,it.entity.comment,'-')}}\n */\nnamespace Model.DBModel\n{\n    /// <summary>\n    /// {{=it.func.join(it.entity.defName,it.entity.comment,';')}}\n    /// </summary>\n    {{=sqlSugartable}}\n    public class {{=it.entity.defKey}}\n    {\n        {{~it.entity.fields:field:index}}\n        /// <summary>\n        /// {{=it.func.join(field.defName,field.comment,';')}}\n        /// </summary>\n        {{? field.primaryKey }}\n        [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]\n        {{?}}\n        public {{=field.type}} {{=it.func.camel(field.defKey,true)}}{ get; set; }\n        $blankline\n        {{~}}\n    }\n}"
      },
      {
        "applyFor": "895CFD1D-4273-4D32-A2C4-CAC70200AB5B",
        "type": "appCode",
        "Controller": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.controller;\n$blankline\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.service.{{=serviceClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表控制层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Api(tags = \"{{=it.entity.defName}}对象功能接口\")\n@RestController\n@RequestMapping(\"/{{=it.func.camel(it.entity.defKey,false)}}\")\npublic class {{=beanClass}}Controller{\n    @Autowired\n    private {{=serviceClass}} {{=serviceVarName}};\n    $blankline\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    @ApiOperation(\"通过ID查询单条数据\")\n    @GetMapping(\"{{{=it.func.camel(pkVarName,false)}}}\")\n    public ResponseEntity<{{=beanClass}}> queryById({{=pkDataType}} {{=pkVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.queryById({{=pkVarName}}));\n    }\n    $blankline\n    /** \n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param pageRequest 分页对象\n     * @return 查询结果\n     */\n    @ApiOperation(\"分页查询\")\n    @GetMapping\n    public ResponseEntity<Page<{{=beanClass}}>> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n        return ResponseEntity.ok({{=serviceVarName}}.paginQuery({{=beanVarName}}, pageRequest));\n    }\n    $blankline\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    @ApiOperation(\"新增数据\")\n    @PostMapping\n    public ResponseEntity<{{=beanClass}}> add({{=beanClass}} {{=beanVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.insert({{=beanVarName}}));\n    }\n    $blankline\n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    @ApiOperation(\"更新数据\")\n    @PutMapping\n    public ResponseEntity<{{=beanClass}}> edit({{=beanClass}} {{=beanVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.update({{=beanVarName}}));\n    }\n    $blankline\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    @ApiOperation(\"通过主键删除数据\")\n    @DeleteMapping\n    public ResponseEntity<Boolean> deleteById({{=pkDataType}} {{=pkVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.deleteById({{=pkVarName}}));\n    }\n}",
        "Service": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.service;\n$blankline\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务接口\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\npublic interface {{=serviceClass}}{\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n    \n    /** \n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param pageRequest 分页对象\n     * @return 查询结果\n     */\n    Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest);\n\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    {{=beanClass}} insert({{=beanClass}} {{=beanVarName}});\n\n    \n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    {{=beanClass}} update({{=beanClass}} {{=beanVarName}});\n\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    boolean deleteById({{=pkDataType}} {{=pkVarName}});\n}",
        "ServiceImpl": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkVarNameU = \"UndefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkVarNameU = it.func.camel(field.defKey,true);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    var mapperName = beanVarName+'Mapper';\n    \n}}package {{=pkgName}}.service.impl;\n$blankline\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageImpl;\nimport org.springframework.data.domain.PageRequest;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.mapper.{{=beanClass}}Mapper;\nimport {{=pkgName}}.service.{{=serviceClass}};\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务实现类\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Service\npublic class {{=serviceClass}}Impl implements {{=serviceClass}}{\n    @Autowired\n    private {{=beanClass}}Mapper {{=mapperName}};\n    $blankline\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    public {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}}){\n        return {{=mapperName}}.queryById({{=pkVarName}});\n    }\n    $blankline\n    /** \n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param pageRequest 分页对象\n     * @return 查询结果\n     */\n    public Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n        long total = {{=mapperName}}.count({{=beanVarName}});\n        return new PageImpl<>({{=mapperName}}.queryAllByLimit({{=beanVarName}}, pageRequest), pageRequest, total);\n    }\n    $blankline\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    public {{=beanClass}} insert({{=beanClass}} {{=beanVarName}}){\n        {{=mapperName}}.insert({{=beanVarName}});\n        return {{=beanVarName}};\n    }\n    $blankline\n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    public {{=beanClass}} update({{=beanClass}} {{=beanVarName}}){\n        {{=mapperName}}.update({{=beanVarName}});\n        return queryById({{=beanVarName}}.get{{=pkVarNameU}}());\n    }\n    $blankline\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    public boolean deleteById({{=pkDataType}} {{=pkVarName}}){\n        int total = {{=mapperName}}.deleteById({{=pkVarName}});\n        return total > 0;\n    }\n}",
        "Mapper": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.mapper;\n$blankline\nimport java.util.List;\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.Param;\nimport org.springframework.data.domain.Pageable;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表数据库访问层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Mapper\npublic interface {{=beanClass}}Mapper{\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n    \n    /** \n     * 分页查询指定行数据\n     *\n     * @param {{=beanVarName}} 查询条件\n     * @param pageable 分页对象\n     * @return 对象列表\n     */\n    List<{{=beanClass}}> queryAllByLimit({{=beanClass}} {{=beanVarName}}, @Param(\"pageable\") Pageable pageable);\n\n    /** \n     * 统计总行数\n     *\n     * @param {{=beanVarName}} 查询条件\n     * @return 总行数\n     */\n    long count({{=beanClass}} {{=beanVarName}});\n\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 影响行数\n     */\n    int insert({{=beanClass}} {{=beanVarName}});\n\n    /** \n     * 批量新增数据\n     *\n     * @param entities List<{{=beanClass}}> 实例对象列表\n     * @return 影响行数\n     */\n    int insertBatch(@Param(\"entities\") List<{{=beanClass}}> entities);\n    \n    /** \n     * 批量新增或按主键更新数据\n     *\n     * @param entities List<{{=beanClass}}> 实例对象列表\n     * @return 影响行数\n     */\n    int insertOrUpdateBatch(@Param(\"entities\") List<{{=beanClass}}> entities);\n    \n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 影响行数\n     */\n    int update({{=beanClass}} {{=beanVarName}});\n\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 影响行数\n     */\n    int deleteById({{=pkDataType}} {{=pkVarName}});\n}",
        "Mapper.xml": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    var pkField = \"UNDEFINED_ID\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkField = field.defKey;\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n<mapper namespace=\"{{=pkgName}}.mapper.{{=beanClass}}Mapper\">\n    <resultMap type=\"{{=pkgName}}.entity.{{=beanClass}}\" id=\"{{=beanClass}}Map\">\n    {{~it.entity.fields:field:index}}\n        <result property=\"{{=it.func.camel(field.defKey,false)}}\" column=\"{{=field.defKey}}\" jdbcType=\"{{=field.dbType}}\"/>\n    {{~}}\n    </resultMap>\n    $blankline\n    <!-- 通过ID查询单条数据 -->\n    <select id=\"queryById\" resultMap=\"{{=beanClass}}Map\">\n        select\n            {{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}}\n        from {{=it.entity.defKey}}\n        where {{=pkField}} = #{{{=pkVarName}}}\n    </select>\n    $blankline\n    <!--分页查询指定行数据-->\n    <select id=\"queryAllByLimit\" resultMap=\"{{=beanClass}}Map\">\n        select\n            {{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}}\n        from {{=it.entity.defKey}}\n        <where>\n        {{~it.entity.fields:field:index}}\n            <if test=\"{{=it.func.camel(field.defKey,false)}} != null and {{=it.func.camel(field.defKey,false)}} != ''\">\n                and {{=field.defKey}} = #{{{=it.func.camel(field.defKey,false)}}}\n            </if>\n        {{~}}\n        </where>\n        limit #{pageable.offset}, #{pageable.pageSize}\n    </select>\n    $blankline\n    <!--统计总行数-->\n    <select id=\"count\" resultType=\"java.lang.Long\">\n        select count(1)\n        from {{=it.entity.defKey}}\n        <where>\n        {{~it.entity.fields:field:index}}\n            <if test=\"{{=it.func.camel(field.defKey,false)}} != null and {{=it.func.camel(field.defKey,false)}} != ''\">\n                and {{=field.defKey}} = #{{{=it.func.camel(field.defKey,false)}}}\n            </if>\n        {{~}}\n        </where>\n    </select>\n    $blankline\n    <!--新增数据-->\n    <insert id=\"insert\" keyProperty=\"{{=pkField}}\" useGeneratedKeys=\"true\">\n        insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n        values ({{=it.entity.fields.map(function(e,i){return '#{'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n    </insert>\n    $blankline\n    <!-- 批量新增数据 -->\n    <insert id=\"insertBatch\" keyProperty=\"{{=pkField}}\" useGeneratedKeys=\"true\">\n        insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n        values\n        <foreach collection=\"entities\" item=\"entity\" separator=\",\">\n            ({{=it.entity.fields.map(function(e,i){return '#{entity.'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n        </foreach>\n    </insert>\n    $blankline\n    <!-- 批量新增或按主键更新数据 -->\n    <insert id=\"insertOrUpdateBatch\" keyProperty=\"{{=pkField}}\" useGeneratedKeys=\"true\">\n        insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n        values\n        <foreach collection=\"entities\" item=\"entity\" separator=\",\">\n            ({{=it.entity.fields.map(function(e,i){return '#{entity.'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n        </foreach>\n        on duplicate key update\n        {{=it.entity.fields.map(function(e,i){return e.defKey + '=values('+e.defKey+')'}).join(',\\n\\t\\t')}}\n    </insert>\n    $blankline\n    <!-- 更新数据 -->\n    <update id=\"update\">\n        update {{=it.entity.defKey}}\n        <set>\n        {{~it.entity.fields:field:index}}\n            <if test=\"{{=it.func.camel(field.defKey,false)}} != null and {{=it.func.camel(field.defKey,false)}} != ''\">\n                {{=field.defKey}} = #{{{=it.func.camel(field.defKey,false)}}},\n            </if>\n        {{~}}\n        </set>\n        where {{=pkField}} = #{{{=pkVarName}}}\n    </update>\n    $blankline\n    <!--通过主键删除-->\n    <delete id=\"deleteById\">\n        delete from {{=it.entity.defKey}} where {{=pkField}} = #{{{=pkVarName}}}\n    </delete>\n</mapper>\n\n",
        "Entity": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@ApiModel(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    @ApiModelProperty(name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n    private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n        return this.{{=it.func.camel(field.defKey,false)}};\n    }\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n        this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n    }\n{{~}}\n}"
      },
      {
        "applyFor": "A2EE7B4A-CE62-4290-B00C-B26C1BF18073",
        "type": "appCode",
        "Controller": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.controller;\n$blankline\nimport java.util.List;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.PageImpl;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.service.{{=serviceClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表控制层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Api(tags = \"{{=it.entity.defName}}对象功能接口\")\n@RestController\n@RequestMapping(\"/{{=it.func.camel(it.entity.defKey,false)}}\")\npublic class {{=beanClass}}Controller{\n    @Autowired\n    private {{=serviceClass}} {{=serviceVarName}};\n    $blankline\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    @ApiOperation(\"通过ID查询单条数据\")\n    @GetMapping(\"{{{=it.func.camel(pkVarName,false)}}}\")\n    public ResponseEntity<{{=beanClass}}> queryById({{=pkDataType}} {{=pkVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.queryById({{=pkVarName}}));\n    }\n    $blankline\n    /** \n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param pageRequest 分页对象\n     * @return 查询结果\n     */\n    @ApiOperation(\"分页查询\")\n    @GetMapping\n    public ResponseEntity<PageImpl<{{=beanClass}}>> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n        //1.分页参数\n        long current = pageRequest.getPageNumber();\n        long size = pageRequest.getPageSize();\n\n        //2.分页查询\n        /*把Mybatis的分页对象做封装转换，MP的分页对象上有一些SQL敏感信息，还是通过spring的分页模型来封装数据吧*/\n        com.baomidou.mybatisplus.extension.plugins.pagination.Page<{{=beanClass}}> pageResult = {{=serviceVarName}}.paginQuery({{=beanVarName}}, current,size);\n\n        //3. 分页结果组装\n        List<{{=beanClass}}> dataList = pageResult.getRecords();\n        long total = pageResult.getTotal();\n        PageImpl<{{=beanClass}}> retPage = new PageImpl<{{=beanClass}}>(dataList,pageRequest,total);\n        return ResponseEntity.ok(retPage);\n    }\n    $blankline\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    @ApiOperation(\"新增数据\")\n    @PostMapping\n    public ResponseEntity<{{=beanClass}}> add({{=beanClass}} {{=beanVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.insert({{=beanVarName}}));\n    }\n    $blankline\n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    @ApiOperation(\"更新数据\")\n    @PutMapping\n    public ResponseEntity<{{=beanClass}}> edit({{=beanClass}} {{=beanVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.update({{=beanVarName}}));\n    }\n    $blankline\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    @ApiOperation(\"通过主键删除数据\")\n    @DeleteMapping\n    public ResponseEntity<Boolean> deleteById({{=pkDataType}} {{=pkVarName}}){\n        return ResponseEntity.ok({{=serviceVarName}}.deleteById({{=pkVarName}}));\n    }\n}",
        "Service": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.service;\n$blankline\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务接口\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\npublic interface {{=serviceClass}}{\n    $blankline\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n    $blankline\n    /**\n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param current 当前页码\n     * @param size  每页大小\n     * @return\n     */\n    Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, long current, long size);\n\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    {{=beanClass}} insert({{=beanClass}} {{=beanVarName}});\n\n    \n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    {{=beanClass}} update({{=beanClass}} {{=beanVarName}});\n\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    boolean deleteById({{=pkDataType}} {{=pkVarName}});\n}",
        "ServiceImpl": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkVarNameU = \"UndefinedId\";\n    var pkFieldKey = \"UNDEFINED\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkFieldKey = field.defKey;\n            pkVarName = it.func.camel(field.defKey,false);\n            pkVarNameU = it.func.camel(field.defKey,true);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    var mapperName = beanVarName+'Mapper';\n    \n}}package {{=pkgName}}.service.impl;\n$blankline\nimport cn.hutool.core.util.StrUtil;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;\nimport com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;\n\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.mapper.{{=beanClass}}Mapper;\nimport {{=pkgName}}.service.{{=serviceClass}};\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务实现类\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Service\npublic class {{=serviceClass}}Impl implements {{=serviceClass}}{\n    @Autowired\n    private {{=beanClass}}Mapper {{=mapperName}};\n    $blankline\n    /** \n     * 通过ID查询单条数据 \n     *\n     * @param {{=pkVarName}} 主键\n     * @return 实例对象\n     */\n    public {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}}){\n        return {{=mapperName}}.selectById({{=pkVarName}});\n    }\n    $blankline\n    /**\n     * 分页查询\n     *\n     * @param {{=beanVarName}} 筛选条件\n     * @param current 当前页码\n     * @param size  每页大小\n     * @return\n     */\n    public Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, long current, long size){\n        //1. 构建动态查询条件\n        LambdaQueryWrapper<{{=beanClass}}> queryWrapper = new LambdaQueryWrapper<>();\n        {{~it.entity.fields.filter(function(e){return e[\"type\"]===\"String\"&&e.defKey !== pkFieldKey}):field:index}}\n        if(StrUtil.isNotBlank({{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}())){\n            queryWrapper.eq({{=beanClass}}::get{{=it.func.camel(field.defKey,true)}}, {{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}());\n        }\n        {{~}}\n\n        //2. 执行分页查询\n        Page<{{=beanClass}}> pagin = new Page<>(current , size , true);\n        IPage<{{=beanClass}}> selectResult = {{=mapperName}}.selectByPage(pagin , queryWrapper);\n        pagin.setPages(selectResult.getPages());\n        pagin.setTotal(selectResult.getTotal());\n        pagin.setRecords(selectResult.getRecords());\n\n        //3. 返回结果\n        return pagin;\n    }\n    $blankline\n    /** \n     * 新增数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    public {{=beanClass}} insert({{=beanClass}} {{=beanVarName}}){\n        {{=mapperName}}.insert({{=beanVarName}});\n        return {{=beanVarName}};\n    }\n    $blankline\n    /** \n     * 更新数据\n     *\n     * @param {{=beanVarName}} 实例对象\n     * @return 实例对象\n     */\n    public {{=beanClass}} update({{=beanClass}} {{=beanVarName}}){\n        //1. 根据条件动态更新\n        LambdaUpdateChainWrapper<{{=beanClass}}> chainWrapper = new LambdaUpdateChainWrapper<{{=beanClass}}>({{=mapperName}});\n        {{~it.entity.fields.filter(function(e){return e[\"type\"]===\"String\"&&e.defKey !== pkFieldKey}):field:index}}\n        if(StrUtil.isNotBlank({{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}())){\n            chainWrapper.eq({{=beanClass}}::get{{=it.func.camel(field.defKey,true)}}, {{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}());\n        }\n        {{~}}\n        //2. 设置主键，并更新\n        chainWrapper.set({{=beanClass}}::get{{=pkVarNameU}}, {{=beanVarName}}.get{{=pkVarNameU}}());\n        boolean ret = chainWrapper.update();\n        //3. 更新成功了，查询最最对象返回\n        if(ret){\n            return queryById({{=beanVarName}}.get{{=pkVarNameU}}());\n        }else{\n            return {{=beanVarName}};\n        }\n    }\n    $blankline\n    /** \n     * 通过主键删除数据\n     *\n     * @param {{=pkVarName}} 主键\n     * @return 是否成功\n     */\n    public boolean deleteById({{=pkDataType}} {{=pkVarName}}){\n        int total = {{=mapperName}}.deleteById({{=pkVarName}});\n        return total > 0;\n    }\n}",
        "Mapper": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.mapper;\n$blankline\n\nimport com.baomidou.mybatisplus.core.conditions.Wrapper;\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.baomidou.mybatisplus.core.toolkit.Constants;\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.Param;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表数据库访问层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Mapper\npublic interface {{=beanClass}}Mapper  extends BaseMapper<{{=beanClass}}>{\n    /** \n     * 分页查询指定行数据\n     *\n     * @param page 分页参数\n     * @param wrapper 动态查询条件\n     * @return 分页对象列表\n     */\n    IPage<{{=beanClass}}> selectByPage(IPage<{{=beanClass}}> page , @Param(Constants.WRAPPER) Wrapper<{{=beanClass}}> wrapper);\n}",
        "Mapper.xml": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    var pkField = \"UNDEFINED_ID\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkField = field.defKey;\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\" \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n$blankline\n\n<mapper namespace=\"{{=pkgName}}.mapper.{{=beanClass}}Mapper\">\n     <select id=\"selectByPage\" resultType=\"{{=pkgName}}.entity.{{=beanClass}}\">\n        select * from user ${ew.customSqlSegment}\n    </select>\n</mapper>\n\n",
        "Entity": "{{  var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1;\n    var days=today.getDate();\n    \n    var pkVarName = \"undefinedId\";\n    var pkDataType = \"String\";\n    it.entity.fields.forEach(function(field){\n        if(field.primaryKey){\n            pkVarName = it.func.camel(field.defKey,false);\n            pkDataType = field[\"type\"];\n            return;\n        }\n    });\n    \n    var pkgName = it.entity.env.base.nameSpace;\n    var beanClass = it.entity.env.base.codeRoot;\n    var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n    var serviceClass = beanClass+'Service';\n    var serviceVarName= beanVarName+'Service';\n    \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport com.baomidou.mybatisplus.annotation.TableName;\nimport com.baomidou.mybatisplus.annotation.TableId;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@ApiModel(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\n@TableName(\"{{=it.entity.defKey}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    @ApiModelProperty(name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n    {{? field.primaryKey }}\n    @TableId\n    {{?}}\n    private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n        return this.{{=it.func.camel(field.defKey,false)}};\n    }\n    /** {{=it.func.join(field.defName,field.comment,';')}} */\n    public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n        this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n    }\n{{~}}\n}"
      },
      {
        "applyFor": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E",
        "type": "dbDDL",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.dbType}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.defName,field.comment,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n)  COMMENT = '{{=it.func.join(it.entity.defName,it.entity.comment,';') }}';\n$blankline\n",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n",
        "deleteTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "deleteIndex": "{{~ it.entity.indexes:index}}\nDROP INDEX {{=index.defKey}} ;\n{{~}}",
        "message": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChanged(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push('代码:'+(before.defKey||'NULL')+'->'+(after.defKey||'NULL'));\n        }\n        if(before.defName !== after.defName){\n            ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n        }\n        if(before.comment !== after.comment){\n            ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n        }\n        if(ret.length>0){\n            return '    基本信息:\\n\\t'+ret.join('\\n\\t');\n        }\n        return '';\n    };\n    \n    function buildAddedDesc(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        \n        for (let field of fieldAdded) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildRemovedDesc(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        \n        for (let field of fieldRemoved) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildModifiedDesc(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        for (let field1 of fieldModified) { \n            let row = [];\n            let field = field1.before;\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n    {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n    修改字段：\n    {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n        /*计算是否调整了属性*/\n        let propAdded = entity.data.propAdded || [];\n        let propRemoved = entity.data.propRemoved || [];\n        let propModified = entity.data.propModified || [];\n        let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n        /*计算关联是否调整*/\n        let refEntityAdd = entity.data.refEntityAdd || [];\n        let refEntityRemoved = entity.data.refEntityRemoved || [];\n        let relaArray = [];\n        for (let rela of refEntityAdd) {\n            relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        for (let rela of refEntityRemoved) {\n            relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        /*索引是否修改过*/\n        let indexChanged = entity.data.indexChanged;\n    }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n    添加字段：\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n    删除字段：\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}\n",
        "update": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChangedDDL(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push('ALTER TABLE '+before.defKey+' RENAME TO '+after.defKey);\n        }\n        let commentText = '';\n        let commentChanged = false;\n        if(before.defName !== after.defName){\n            commentText = after.defName;\n            commentChanged = true;\n        }\n        if(before.comment !== after.comment){\n            commentChanged = true;\n            if(commentText){\n                commentText = (commentText+ ';'+after.comment)\n            }else{\n                commentText = after.comment\n            }\n        }\n        if(commentChanged){\n            ret.push('ALTER TABLE '+after.defKey+' COMMENT \\''+commentText+'\\'');\n        }\n        let baseText = '-- 基本信息:\\n';\n        return baseText+ret.join(';\\n')+';';\n    };\n    \n    function buildAddedDDL(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        if(fieldAdded.length == 0){\n            return '';\n        }\n        \n        let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n        for (let field of fieldAdded) { \n            let ddlItem = 'ADD COLUMN '+field.defKey+' '+field.dbType;\n            /*处理数据类型长度*/\n            if(field.len>0){\n                ddlItem += ('('+field.len);\n                if(parseInt(field.scale)>0){\n                    ddlItem += (','+field.scale);\n                }\n                ddlItem += ')';\n            }\n            if(field.notNull){\n                ddlItem += ' NOT NULL';\n            }\n            if(field.autoIncrement){\n                ddlItem += ' AUTO_INCREMENT';\n            }\n            if(field.defaultValue){\n                ddlItem += (' DEFAULT' + field.defaultValue);\n            }\n            ddlItem += (' COMMENT \\''+field.defName+';'+field.comment+'\\'');\n            \n            if(field.index>0 && field.afterFieldKey){\n                ddlItem += (' AFTER '+field.afterFieldKey);\n            }\n            ret.push(ddlItem);\n        }\n        return firstDDL+'\\n'+ret.join(',\\n');\n    };\n    \n    function buildRemovedDDL(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        if(fieldRemoved.length == 0){\n            return '';\n        }\n        \n        let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n        for (let field of fieldRemoved) { \n            ret.push('DROP '+field.defKey);\n        }\n        return firstDDL+'\\n'+ret.join(',\\n');\n    };\n    \n    function buildModifiedDDL(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n        for (let field of fieldModified) { \n            let changeDDL = '';\n            let before = field.before || {};\n            let after = field.after || {};\n            if(before.defKey === after.defKey){\n                changeDDL += (' MODIFY COLUMN '+after.defKey);\n            }else{\n                changeDDL += (' CHANGE COLUMN '+before.defKey+' '+after.defKey);\n            }\n            changeDDL += (' '+after.dbType);\n            if(after.len>0){\n                changeDDL += ('('+after.len);\n                if(parseInt(field.scale)>0){\n                    changeDDL += (','+field.scale);\n                }\n                changeDDL += ')';\n            }\n            if(after.notNull){\n                changeDDL += ' NOT NULL';\n            }\n            let defaultValue = '';\n            if(after.defaultValue != null && after.defaultValue.length>0){\n                defaultValue = (after.defaultValue);\n            }else{\n                defaultValue = 'NULL';\n            }\n            changeDDL += (' DEFAULT ' + defaultValue);\n            let comment = after.comment||'';\n            changeDDL += (' COMMENT \\''+comment+'\\';');\n            ret.push(firstDDL+' '+changeDDL);\n        }\n        return ret;\n    };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表：{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段：\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段：\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段：\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}"
      },
      {
        "applyFor": "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542",
        "type": "dbDDL",
        "createTable": "CREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n",
        "deleteTable": "DROP TABLE {{=it.entity.defKey}};",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "deleteIndex": "{{~ it.entity.indexes:index}}\nDROP INDEX {{=index.defKey}} ;\n{{~}}",
        "message": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChanged(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push('代码:'+(before.defKey||'NULL')+'->'+(after.defKey||'NULL'));\n        }\n        if(before.defName !== after.defName){\n            ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n        }\n        if(before.comment !== after.comment){\n            ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n        }\n        if(ret.length>0){\n            return '    基本信息:\\n\\t'+ret.join('\\n\\t');\n        }\n        return '';\n    };\n    \n    function buildAddedDesc(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        \n        for (let field of fieldAdded) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildRemovedDesc(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        \n        for (let field of fieldRemoved) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildModifiedDesc(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        for (let field1 of fieldModified) { \n            let row = [];\n            let field = field1.before;\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* -------------------------------------------------- */\n创建表：\n{{~ createEntities:entity}}\n    {{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* -------------------------------------------------- */\n删除表：\n{{~ dropEntities:entity}}\n    {{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* -------------------------------------------------- */\n修改表：{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n    {{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n    添加字段：\n    {{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n    {{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n    删除字段：\n    {{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n    {{?}}{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n    修改字段：\n    {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}\n    {{?}}{{\n        /*计算是否调整了属性*/\n        let propAdded = entity.data.propAdded || [];\n        let propRemoved = entity.data.propRemoved || [];\n        let propModified = entity.data.propModified || [];\n        let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n        /*计算关联是否调整*/\n        let refEntityAdd = entity.data.refEntityAdd || [];\n        let refEntityRemoved = entity.data.refEntityRemoved || [];\n        let relaArray = [];\n        for (let rela of refEntityAdd) {\n            relaArray.push('\\n\\t建立关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        for (let rela of refEntityRemoved) {\n            relaArray.push('\\n\\t解除关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        /*索引是否修改过*/\n        let indexChanged = entity.data.indexChanged;\n    }}\n{{=indexChanged?'\\n\\t更改了索引':''}}\n{{=changed?'\\n\\t更改了属性':''}}\n{{=relaArray.length>0?relaArray.join(''):''}}\n{{~}}\n{{?}}",
        "update": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChangedDDL(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push(`ALTER TABLE ${before.defKey} RENAME TO ${after.defKey}`);\n        }\n        let commentText = '';\n        let commentChanged = false;\n        if(before.defName !== after.defName){\n            commentText = after.defName;\n            commentChanged = true;\n        }\n        if(before.comment !== after.comment){\n            commentChanged = true;\n            if(commentText){\n                commentText = (commentText+ ';'+after.comment)\n            }else{\n                commentText = after.comment\n            }\n        }\n        if(commentChanged){\n            let myText = `COMMENT ON TABLE ${after.defKey} IS '${commentText}'`;\n            ret.push(myText);\n        }\n        let baseText = '-- 基本信息:\\n';\n        return baseText+ret.join(';\\n')+';';\n    };\n    \n    function buildAddedDDL(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        if(fieldAdded.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldAdded) { \n            let ddlItem = `ADD (${field.defKey} ${field.dbType}`;\n            /*处理数据类型长度*/\n            if(field.len>0){\n                ddlItem += ('('+field.len);\n                if(parseInt(field.scale)>0){\n                    ddlItem += (','+field.scale);\n                }\n                ddlItem += ')';\n            }\n            let defaultValue = field.defaultValue;\n            defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n            if(defaultValue.length>0){\n                ddlItem += (' DEFAULT ' + defaultValue);\n            }\n            if(field.notNull){\n                ddlItem += ' NOT NULL';\n            }\n            ddlItem += ')';\n            ret.push(`${firstDDL} ${ddlItem}`);\n            \n            /*处理字段注释*/\n            let fieldComments = [];\n            if(field.defName != null &&field.defName.length>0){\n                fieldComments.push(field.defName);\n            }\n            if(field.comment != null &&field.comment.length>0){\n                fieldComments.push(field.comment);\n            }\n            let commentText = fieldComments.join(';');\n            if(commentText != null && commentText.length > 0){\n                let commentDDL = `COMMENT ON COLUMN ${entity.data.baseInfo.defKey}.${field.defKey} IS '${commentText}'`;\n                 ret.push(commentDDL);\n            }\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildRemovedDDL(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        if(fieldRemoved.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldRemoved) { \n            ret.push(`${firstDDL} DROP COLUMN ${field.defKey}`);\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildModifiedDDL(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldModified) { \n            let changeDDL = '';\n            let before = field.before || {};\n            let after = field.after || {};\n            if(before.defKey !== after.defKey){\n                let renameText = `ALTER TABLE ${entity.data.baseInfo.defKey} RENAME COLUMN ${before.defKey} TO ${after.defKey};`;\n                ret.push(renameText);\n            }\n            /*如果没有变化，则不生成变更语句*/\n            if(before.dbType === after.dbType \n            && before['len'] === after['len'] \n            && before.scale === after.scale\n            && before.primaryKey === after.primaryKey\n            && before.notNull === after.notNull\n            && before.autoIncrement === after.autoIncrement\n            && before.defaultValue === after.defaultValue){\n                continue;\n            }\n            changeDDL += ('MODIFY ('+after.defKey+'');\n            changeDDL += (' '+after.dbType);\n            if(after.len>0){\n                changeDDL += ('('+after.len);\n                if(parseInt(field.scale)>0){\n                    changeDDL += (','+field.scale);\n                }\n                changeDDL += ')';\n            }\n            let defaultValue = after.defaultValue;\n            defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n            if(defaultValue.length>0){\n                changeDDL += (' DEFAULT ' + defaultValue);\n            }\n            \n            if(after.notNull){\n                changeDDL += ' NOT NULL';\n            }\n            changeDDL += ')';\n            ret.push(`${firstDDL} ${changeDDL};`);\n        }\n        return ret;\n    };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表：{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段：\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段：\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段：\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}"
      },
      {
        "applyFor": "BFC87171-C74F-494A-B7C2-76B9C55FACC9",
        "type": "dbDDL",
        "createTable": "IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{{=it.entity.defKey}}]') AND type in (N'U')) DROP TABLE [dbo].[{{=it.entity.defKey}}];\n\nCREATE TABLE [dbo].[{{=it.entity.defKey}}](\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? ' IDENTITY(1,1)' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}EXEC sp_addextendedproperty 'MS_Description', '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}', 'SCHEMA', dbo, 'table', {{=it.entity.defKey}}, null, null;{{?}}\n{{~it.entity.fields:field:index}}\nEXEC sp_addextendedproperty 'MS_Description', '{{=it.func.join(field.defName,field.comment,';')}}', 'SCHEMA', dbo, 'table', {{=it.entity.defKey}}, 'column', {{=field.defKey}};\n{{~}}\n",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n",
        "deleteTable": "IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{{=it.entity.defKey}}]') AND type in (N'U')) DROP TABLE [dbo].[{{=it.entity.defKey}}];",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "deleteIndex": "",
        "message": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChanged(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push('代码:'+(before.defKey||'NULL')+'->'+(after.defKey||'NULL'));\n        }\n        if(before.defName !== after.defName){\n            ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n        }\n        if(before.comment !== after.comment){\n            ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n        }\n        if(ret.length>0){\n            return '    基本信息:\\n\\t'+ret.join('\\n\\t');\n        }\n        return '';\n    };\n    \n    function buildAddedDesc(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        \n        for (let field of fieldAdded) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildRemovedDesc(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        \n        for (let field of fieldRemoved) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildModifiedDesc(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        for (let field1 of fieldModified) { \n            let row = [];\n            let field = field1.before;\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n    {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n    修改字段：\n    {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n        /*计算是否调整了属性*/\n        let propAdded = entity.data.propAdded || [];\n        let propRemoved = entity.data.propRemoved || [];\n        let propModified = entity.data.propModified || [];\n        let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n        /*计算关联是否调整*/\n        let refEntityAdd = entity.data.refEntityAdd || [];\n        let refEntityRemoved = entity.data.refEntityRemoved || [];\n        let relaArray = [];\n        for (let rela of refEntityAdd) {\n            relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        for (let rela of refEntityRemoved) {\n            relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        /*索引是否修改过*/\n        let indexChanged = entity.data.indexChanged;\n    }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n    添加字段：\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n    删除字段：\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}",
        "update": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChangedDDL(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push(`EXEC sp_rename '${before.defKey}','${after.defKey}'`);\n        }\n        let commentText = '';\n        let commentChanged = false;\n        if(before.defName !== after.defName){\n            commentText = after.defName;\n            commentChanged = true;\n        }\n        if(before.comment !== after.comment){\n            commentChanged = true;\n            if(commentText){\n                commentText = (commentText+ ';'+after.comment)\n            }else{\n                commentText = after.comment\n            }\n        }\n        if(commentChanged){\n            let myText = `IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description','SCHEMA', 'dbo','TABLE', '${after.defKey}', NULL, NULL)) > 0)\n            \\n\\tEXEC sp_updateextendedproperty 'MS_Description', '${commentText}','SCHEMA', 'dbo','TABLE', '${after.defKey}'\n            \\nELSE\n            \\n\\tEXEC sp_addextendedproperty 'MS_Description', '${commentText}', 'SCHEMA', 'dbo','TABLE', '${after.defKey}'\n            `;\n            ret.push(myText);\n            /*ret.push('ALTER TABLE '+after.defKey+' COMMENT \\''+commentText+'\\'');*/\n        }\n        let baseText = '-- 基本信息:\\n';\n        return baseText+ret.join(';\\n')+';';\n    };\n    \n    function buildAddedDDL(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        if(fieldAdded.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n        for (let field of fieldAdded) { \n            let ddlItem = `ADD [${field.defKey}] ${field.dbType}`;\n            /*处理数据类型长度*/\n            if(field.len>0){\n                ddlItem += ('('+field.len);\n                if(parseInt(field.scale)>0){\n                    ddlItem += (','+field.scale);\n                }\n                ddlItem += ')';\n            }\n            let defaultValue = field.defaultValue;\n            defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n            if(defaultValue.length>0){\n                ddlItem += (' DEFAULT ' + defaultValue);\n            }\n            if(field.notNull){\n                ddlItem += ' NOT NULL';\n            }\n            ret.push(`${firstDDL} ${ddlItem}`);\n            \n            /*处理字段注释*/\n            let fieldComments = [];\n            if(field.defName != null &&field.defName.length>0){\n                fieldComments.push(field.defName);\n            }\n            if(field.comment != null &&field.comment.length>0){\n                fieldComments.push(field.comment);\n            }\n            let commentText = fieldComments.join(';');\n            if(commentText != null && commentText.length > 0){\n                let commentDDL = `EXEC sp_addextendedproperty 'MS_Description', N'${commentText}','SCHEMA', N'dbo','TABLE', N'${entity.data.baseInfo.defKey}','COLUMN', N'${field.defKey}'`;\n                ret.push(commentDDL);\n            }\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildRemovedDDL(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        if(fieldRemoved.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n        for (let field of fieldRemoved) { \n            ret.push(`${firstDDL} DROP COLUMN [${field.defKey}]`);\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildModifiedDDL(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n        for (let field of fieldModified) { \n            let changeDDL = '';\n            let before = field.before || {};\n            let after = field.after || {};\n            if(before.defKey === after.defKey){\n                changeDDL += (' ALTER COLUMN ['+after.defKey+']');\n            }else{\n                let renameText = `EXEC sp_rename '[dbo].[${entity.data.baseInfo.defKey}].[${before.defKey}]','${after.defKey}','COLUMN';`;\n                ret.push(renameText);\n                continue;\n            }\n            changeDDL += (' '+after.dbType);\n            if(after.len>0){\n                changeDDL += ('('+after.len);\n                if(parseInt(after.scale)>0){\n                    changeDDL += (','+after.scale);\n                }\n                changeDDL += ')';\n            }\n            let defaultValue = after.defaultValue;\n            defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n            if(defaultValue.length>0){\n                changeDDL += (' DEFAULT ' + defaultValue);\n            }\n            \n            if(after.notNull){\n                changeDDL += ' NOT NULL';\n            }\n            ret.push(`${firstDDL} ${changeDDL};`);\n        }\n        return ret;\n    };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表：{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段：\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段：\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段：\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}"
      },
      {
        "applyFor": "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022",
        "type": "dbDDL",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{? field.autoIncrement}}SERIAL{{??}}{{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n",
        "deleteTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "deleteIndex": "{{~ it.entity.indexes:index}}\nDROP INDEX {{=index.defKey}} ;\n{{~}}",
        "message": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChanged(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push('代码:'+(before.defKey||'NULL')+'->'+(after.defKey||'NULL'));\n        }\n        if(before.defName !== after.defName){\n            ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n        }\n        if(before.comment !== after.comment){\n            ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n        }\n        if(ret.length>0){\n            return '    基本信息:\\n\\t'+ret.join('\\n\\t');\n        }\n        return '';\n    };\n    \n    function buildAddedDesc(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        \n        for (let field of fieldAdded) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildRemovedDesc(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        \n        for (let field of fieldRemoved) { \n            let row = [];\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n    \n    function buildModifiedDesc(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        for (let field1 of fieldModified) { \n            let row = [];\n            let field = field1.before;\n            row.push(field.defKey+'['+field.defName+']');\n            ret.push(row.join(\"\"))\n        }\n        return ret;\n    };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n    {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n    修改字段：\n    {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n        /*计算是否调整了属性*/\n        let propAdded = entity.data.propAdded || [];\n        let propRemoved = entity.data.propRemoved || [];\n        let propModified = entity.data.propModified || [];\n        let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n        /*计算关联是否调整*/\n        let refEntityAdd = entity.data.refEntityAdd || [];\n        let refEntityRemoved = entity.data.refEntityRemoved || [];\n        let relaArray = [];\n        for (let rela of refEntityAdd) {\n            relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        for (let rela of refEntityRemoved) {\n            relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n        }\n        /*索引是否修改过*/\n        let indexChanged = entity.data.indexChanged;\n    }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n    添加字段：\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n    删除字段：\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}",
        "update": "{{\n    let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n    let dropEntities   = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n    let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n    \n    function baseChangedDDL(beforeAfter){\n        if(beforeAfter == null){\n            return '';\n        }\n        let ret = [];\n        let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n        if(before.defKey !== after.defKey){\n            ret.push(`ALTER TABLE ${before.defKey} RENAME TO ${after.defKey}`);\n        }\n        let commentText = '';\n        let commentChanged = false;\n        if(before.defName !== after.defName){\n            commentText = after.defName;\n            commentChanged = true;\n        }\n        if(before.comment !== after.comment){\n            commentChanged = true;\n            if(commentText){\n                commentText = (commentText+ ';'+after.comment)\n            }else{\n                commentText = after.comment\n            }\n        }\n        if(commentChanged){\n            let myText = `COMMENT ON TABLE ${after.defKey} IS '${commentText}'`;\n            ret.push(myText);\n        }\n        let baseText = '-- 基本信息:\\n';\n        return baseText+ret.join(';\\n')+';';\n    };\n    \n    function buildAddedDDL(entity){\n        let ret = [];\n        let fieldAdded = entity.data.fieldAdded||[];\n        if(fieldAdded.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldAdded) { \n            let ddlItem = `ADD COLUMN ${field.defKey} ${field.dbType}`;\n            /*处理数据类型长度*/\n            if(field.len>0){\n                ddlItem += ('('+field.len);\n                if(parseInt(field.scale)>0){\n                    ddlItem += (','+field.scale);\n                }\n                ddlItem += ')';\n            }\n            if(field.notNull){\n                ddlItem += ' NOT NULL';\n            }            \n            let defaultValue = field.defaultValue;\n            defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n            if(defaultValue.length>0){\n                ddlItem += (' DEFAULT ' + defaultValue);\n            }\n\n            ret.push(`${firstDDL} ${ddlItem}`);\n            \n            /*处理字段注释*/\n            let fieldComments = [];\n            if(field.defName != null &&field.defName.length>0){\n                fieldComments.push(field.defName);\n            }\n            if(field.comment != null &&field.comment.length>0){\n                fieldComments.push(field.comment);\n            }\n            let commentText = fieldComments.join(';');\n            if(commentText != null && commentText.length > 0){\n                let commentDDL = `COMMENT ON COLUMN ${entity.data.baseInfo.defKey}.${field.defKey} IS '${commentText}'`;\n                 ret.push(commentDDL);\n            }\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildRemovedDDL(entity){\n        let ret = [];\n        let fieldRemoved = entity.data.fieldRemoved||[];\n        if(fieldRemoved.length == 0){\n            return '';\n        }\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldRemoved) { \n            ret.push(`${firstDDL} DROP COLUMN ${field.defKey}`);\n        }\n        return '\\n'+ret.join(';\\n');\n    };\n    \n    function buildModifiedDDL(entity){\n        let ret = [];\n        let fieldModified = entity.data.fieldModified||[];\n        \n        let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n        for (let field of fieldModified) { \n            let before = field.before || {};\n            let after = field.after || {};\n            if(before.defKey !== after.defKey){\n                let renameText = `ALTER TABLE ${entity.data.baseInfo.defKey} RENAME COLUMN ${before.defKey} TO ${after.defKey};`;\n                ret.push(renameText);\n            }\n            /*如果没有变化，则不生成变更语句*/\n            if(before.dbType === after.dbType \n            && before['len'] === after['len'] \n            && before.scale === after.scale\n            && before.primaryKey === after.primaryKey\n            && before.notNull === after.notNull\n            && before.autoIncrement === after.autoIncrement\n            && before.defaultValue === after.defaultValue){\n                continue;\n            }\n            if(before.dbType !== after.dbType || before.len !== after.len || before.scale !== after.scale){\n                let dbTypeDDL = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${after.defKey} TYPE ${before.dbType}`;\n                if(after.len>0){\n                    dbTypeDDL += ('('+after.len);\n                    if(parseInt(after.scale)>0){\n                        dbTypeDDL += (','+after.scale);\n                    }\n                    dbTypeDDL += ')';\n                }\n                ret.push(dbTypeDDL+';');\n            }\n            \n            if(before.defaultValue !== after.defaultValue){\n                let defaultDDL = '';\n                let defaultValue = after.defaultValue;\n                defaultValue = (defaultValue==null)?\"NULL\":(\"\"+defaultValue);\n                if(defaultValue.length>0){\n                    defaultDDL += ('SET DEFAULT ' + defaultValue);\n                }\n                let defaultTpl = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${defaultDDL};`;\n                ret.push(defaultTpl);\n            }\n            \n            if(before.notNull !== after.notNull){\n                let notNullDDL= 'SET NULL';\n                if(after.notNull){\n                    let notNullDDL= 'SET NOT NULL';\n                }\n                let notNullTpl = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${notNullDDL};`;\n                ret.push(notNullTpl);\n            }\n        }\n        return ret;\n    };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表：{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段：\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n-- 索引重建\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段：\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段：\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}"
      },
      {
        "type": "dbDDL",
        "applyFor": "89504F5D-94BF-4C9E-8B2E-44F37305FED5",
        "createTable": "CREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n"
      },
      {
        "type": "dbDDL",
        "applyFor": "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307",
        "createTable": "CREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ','('+field.defaultValue+')',' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n"
      },
      {
        "type": "dbDDL",
        "applyFor": "592C7013-143D-4E7B-AF64-0D7BF1E28230",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n"
      },
      {
        "type": "dbDDL",
        "applyFor": "77BD85E5-9D0D-4096-8427-CBA306FC9C6A",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n);\n$blankline\n{{? it.entity.defKey || it.entity.defName}}COMMENT ON TABLE {{=it.entity.defKey}} IS '{{=it.func.join(it.entity.defName,it.entity.comment,';')}}';{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.defName || field.comment}}COMMENT ON COLUMN {{=it.entity.defKey}}.{{=field.defKey}} IS '{{=it.func.join(field.defName,field.comment,';')}}';{{?}}\n{{~}}",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n"
      },
      {
        "applyFor": "11D1FB71-A587-4217-89BA-611B8A1F83E0",
        "type": "dbDDL",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.defName,field.comment,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n)  COMMENT '{{=it.func.join(it.entity.defName,it.entity.comment,';') }}';\n$blankline\n",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n",
        "deleteTable": "",
        "createIndex": "",
        "deleteIndex": "",
        "message": "",
        "update": ""
      },
      {
        "applyFor": "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1",
        "type": "dbDDL",
        "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n    {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n    {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTOINCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }} --{{=it.func.join(field.defName,field.comment,';')}}\n{{~}}\n{{? pkList.length >0 }}\n    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n)  ; --{{=it.func.join(it.entity.defName,it.entity.comment,';') }}\n$blankline\n",
        "createIndex": "{{~ it.entity.indexes:index}}\nCREATE {{? index.unique}}UNIQUE {{?}}INDEX {{=index.defKey}} ON {{=it.entity.defKey}}({{ fieldsKeys = index.fields.map(function(field){return field.fieldDefKey}) ; }}{{=it.func.join(...fieldsKeys,',')}});\n{{~}}",
        "createView": "CREATE VIEW {{=it.view.defKey}} AS\nSELECT \n{{~it.view.fields:field:index}}\n    {{=field.refEntity}}.{{=field.refEntityField}} AS {{=field.defKey}}{{= index < it.view.fields.length-1 ? ',' : ''}}\n{{~}}\nFROM {{~it.view.refEntities:refEntity:index}}{{=refEntity}}{{= index < it.view.refEntities.length-1 ? ',' : ''}}{{~}};\n$blankline\n"
      },
      {
        "type": "dbDDL",
        "applyFor": "dictSQLTemplate",
        "content": "/* 插入字典总表[{{=it.dict.defKey}}-{{=it.dict.defName}}] */\nINSERT INTO SYS_DICT(KEY_,LABEL,INTRO,REVISION) VALUES('{{=it.dict.defKey}}','{{=it.dict.defName}}','{{=it.dict.intro}}',1);\n/* 插入字典明细表 */\n{{~it.dict.items:item:index}}\nINSERT INTO SYS_DICT_ITEM(DICT_KEY,KEY_,LABEL,SORT_,INTRO,REVISION) VALUES('{{=it.dict.defKey}}','{{=item.defKey}}','{{=item.defName}}','{{=item.sort}}','{{=item.intro}}',1);\n{{~}}"
      },
      {
        "applyFor": "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2",
        "type": "dbDDL",
        "createTable": "/**字段名,关键字等全部用的小写*/\ndrop table if exists {{=it.entity.defKey}};\n/**补充上库名,external关键字根据建表规范看是否添加*/\ncreate [external] table if not exists {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n/**这里把varchar,char,text,date,datetime字段全部映射为string类型.tinyint unsigned,bit,Integer,tinyint,smallint,mediumint映射为int类型,int unsigned映射为bigint.其它自定义映射规则根据自己情况修改*/\n/**当长度>0只有为decimal类型或double类型时才保留长度和小数的位数*/\n{{~it.entity.fields:field:index}}\n    {{=it.func.lowerCase(field.defKey)}} {{=it.func.lowerCase(field.dbType)=='varchar'||it.func.lowerCase(field.dbType)=='char'||it.func.lowerCase(field.dbType)=='text'||it.func.lowerCase(field.dbType)=='date'||it.func.lowerCase(field.dbType)=='datetime' ? 'string':it.func.lowerCase(field.dbType)=='tinyint unsigned'||it.func.lowerCase(field.dbType)=='bit'||it.func.lowerCase(field.dbType)=='integer'||it.func.lowerCase(field.dbType)=='tinyint'||it.func.lowerCase(field.dbType)=='smallint'||it.func.lowerCase(field.dbType)=='mediumint' ? 'int':it.func.lowerCase(field.dbType)=='int unsigned' ? 'bigint':it.func.lowerCase(field.dbType)}}{{?field.len>0&&(it.func.lowerCase(field.dbType)=='decimal'||it.func.lowerCase(field.dbType)=='double')}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{=')'}}{{?}}{{?}} comment '{{=it.func.join(field.defName,field.comment,'')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n{{?}}\n)\n{{\n    let partitionedBy = it.entity.properties['partitioned by'];\n    partitionedBy = partitionedBy?partitionedBy:'请在扩展属性中配置[partitioned by]属性';\n}}\ncomment '{{=it.func.join(it.entity.defName,';') }}'\n/**是否分区表,分区字段名和字段注释自定义*/\n[partitioned by {{=partitionedBy}}]\n/**文件存储格式自定义*/\n[stored as orc]\n/**hdfs上的地址自定义*/\n[location xxx]\n;",
        "createView": "",
        "deleteTable": "",
        "createIndex": "",
        "deleteIndex": "",
        "message": "",
        "update": ""
      },
      {
        "applyFor": "B91D99E0-9B7C-416C-8737-B760957DAF09",
        "type": "appCode",
        "content": "{{\n    var today=new Date();\n    var fullYear=today.getFullYear();\n    var month=today.getMonth() + 1<10?\"0\"+today.getMonth():today.getMonth();\n    var days=today.getDate()<10?\"0\"+today.getDate():today.getDate();\n    var hours = today.getHours()<10?\"0\"+today.getHours():today.getHours();         \n\tvar minutes = today.getMinutes()<10?\"0\"+today.getMinutes():today.getMinutes();      \n\tvar seconds = today.getSeconds()<10?\"0\"+today.getSeconds():today.getSeconds();    \n}}\n// Package models  {{=it.func.join(it.entity.defName,it.entity.comment,'，')}}\n// author : http://www.liyang.love\n// date : {{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n// desc : {{=it.func.join(it.entity.defName,it.entity.comment,'，')}}\npackage models\n\n$blankline\n\n// {{=it.func.camel(it.entity.defKey,true) }}  {{=it.func.join(it.entity.defName,it.entity.comment,'，')}}。\n// 说明:{{=it.entity.comment}}\n// 表名:{{=it.entity.defKey}}\n// group: {{=it.func.camel(it.entity.defKey,true) }}\n// obsolete:\n// appliesto:go 1.8+;\n// namespace:hongmouer.his.models.{{=it.func.camel(it.entity.defKey,true) }}\n// assembly: hongmouer.his.models.go\n// class:HongMouer.HIS.Models.{{=it.func.camel(it.entity.defKey,true) }}\n// version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\ntype {{=it.func.camel(it.entity.defKey,true) }} struct {\n    {{~it.entity.fields:field:index}}\n    {{=formatGoLang(it.func.camel(field.defKey,true),null,field,it.entity.fields,null,1)}} {{=formatGoLang(field.type,\"type\",field,it.entity.fields,10,3)}}  `gorm:\"column:{{=field.primaryKey?\"primaryKey;\":\"\"}}{{=field.defKey}}\" json:\"{{=it.func.camel(field.defKey,true)}}\"` {{=formatGoLang(\"gorm:column:\"+field.defKey+\" json:\"+it.func.camel(field.defKey,true),null,field,it.entity.fields,null,2)}}  //type:{{=formatGoLang(field.type,\"type\",field,it.entity.fields,null,3)}}  comment:{{=formatGoLang(it.func.join(field.defName,field.comment,';'),\"defName\",field,it.entity.fields,null,4)}}  version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n    {{~}}\n}\n\n\n$blankline\n// TableName 表名:{{=it.entity.defKey}}，{{=it.entity.defName}}。\n// 说明:{{=it.entity.comment}}\nfunc (ZentaoUserInfo) TableName() string {\n\treturn \"{{=it.entity.defKey}}\"\n}\n\n{{\n\nfunction formatGoLang(str, fieldName, field, fileds, emptLength, isFiled) {\n    var maxLength = 0;\n\n    if (isFiled == 1) {\n        for (var i = 0; i < fileds.length; i++) {\n            if (getBlength(it.func.camel(fileds[i].defKey, true)) > maxLength) {\n                maxLength = getBlength(it.func.camel(fileds[i].defKey, true)) + 2;\n            }\n        }\n    } else if (isFiled == 2) {\n        for (var i = 0; i < fileds.length; i++) {\n            var newStr = \"gorm:column:\" + fileds[i].defKey + \" json:\" + it.func.camel(fileds[i].defKey, true);\n            if (getBlength(newStr) > maxLength) {\n                maxLength = getBlength(newStr) + 2;\n            }\n        }\n        var empt = \"\";\n        var strLength = getBlength(str);\n        if (field.primaryKey) {\n            strLength += getBlength(\"primaryKey;\");\n        }\n        for (var j = 0; j < maxLength - strLength; j++) {\n            empt += ' ';\n        }\n        return empt;\n    } else if (isFiled == 3) {\n        /*获取某个字段的最大长度*/\n        for (var i = 0; i < fileds.length; i++) {\n            var newStr = eval(\"fileds[\" + i + \"].\" + fieldName);\n            if (getBlength(newStr) > maxLength) {\n                maxLength = getBlength(newStr) + 1;\n            }\n        }\n    } else if (isFiled == 4) {\n        /*获取某个字段的最大长度*/\n        for (var i = 0; i < fileds.length; i++) {\n            var newStr = fileds[i].comment + \";\" + fileds[i].defName;\n            if (getBlength(newStr) > maxLength) {\n                maxLength = getBlength(newStr) + 1;\n            }\n        }\n    }\n    else {\n        maxLength = emptLength;\n    }\n\n    var strLength = getBlength(str);\n    for (var j = 0; j < maxLength - strLength; j++) {\n        str += ' ';\n    }\n    return str;\n}\n\nfunction getBlength(str) {\n    var n = 0;\n    for (var i = str.length; i--;) {\n        n += str.charCodeAt(i) > 255 ? 2 : 1;\n    }\n    return n;\n} \n\n}}"
      }
    ],
    "generatorDoc": {
      "docTemplate": ""
    },
    "relationFieldSize": "15",
    "uiHint": [
      {
        "defKey": "Input",
        "defName": "普通输入框",
        "id": "642D2E0A-8846-4549-BE56-8C0473F26EDE"
      },
      {
        "defKey": "Select",
        "defName": "下拉输入框",
        "id": "FB111359-2B73-4443-926C-08A98E446448"
      },
      {
        "defKey": "CheckBox",
        "defName": "复选框",
        "id": "0CB8A6C9-1115-4FC0-B51E-5C028065082F"
      },
      {
        "defKey": "RadioBox",
        "defName": "单选框",
        "id": "5C04987A-260F-4B7C-A5D5-22A181AAE9CA"
      },
      {
        "defKey": "Double",
        "defName": "小数输入",
        "id": "8D5BAFE4-E15C-4707-A047-8EE59C58E70F"
      },
      {
        "defKey": "Integer",
        "defName": "整数输入",
        "id": "9999AF2A-A44E-415C-A2DC-D7C613BD0073"
      },
      {
        "defKey": "Money",
        "defName": "金额输入",
        "id": "2B0C3D0C-7BAF-4B36-81AD-9362B5E5DC2E"
      },
      {
        "defKey": "Date",
        "defName": "日期输入",
        "id": "E4D94E14-F695-487F-AFC2-4D888009B7DA"
      },
      {
        "defKey": "DataYearMonth",
        "defName": "年月输入",
        "id": "936927E3-DD2D-4096-87FD-074CDE278D59"
      },
      {
        "defKey": "Text",
        "defName": "长文本输入",
        "id": "D89DD4F1-ADAC-4469-BF8D-B3FF41AE7963"
      },
      {
        "defKey": "RichText",
        "defName": "富文本输入",
        "id": "C134EB1F-4CFF-49E0-882F-2C6FB275CB20"
      }
    ],
    "headers": [
      {
        "refKey": "defKey",
        "hideInGraph": false
      },
      {
        "refKey": "defName",
        "hideInGraph": false
      },
      {
        "refKey": "primaryKey",
        "hideInGraph": false
      },
      {
        "refKey": "notNull",
        "hideInGraph": true
      },
      {
        "refKey": "autoIncrement",
        "hideInGraph": true
      },
      {
        "refKey": "domain",
        "hideInGraph": true
      },
      {
        "refKey": "type",
        "hideInGraph": false
      },
      {
        "refKey": "len",
        "hideInGraph": false
      },
      {
        "refKey": "scale",
        "hideInGraph": false
      },
      {
        "refKey": "comment",
        "hideInGraph": true
      },
      {
        "refKey": "refDict",
        "hideInGraph": true
      },
      {
        "refKey": "defaultValue",
        "hideInGraph": true
      },
      {
        "refKey": "isStandard",
        "hideInGraph": false
      },
      {
        "refKey": "uiHint",
        "hideInGraph": true
      },
      {
        "refKey": "extProps",
        "hideInGraph": true
      }
    ]
  },
  "entities": [
    {
      "id": "DEFB16E2-1761-489E-A477-E5719163D764",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_info",
      "defName": "用户基本信息表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true,
          "code": "relationNoShow",
          "value": "关系图",
          "newCode": "hideInGraph",
          "com": "Icon",
          "relationNoShow": true,
          "freeze": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false,
          "code": "name",
          "value": "字段代码",
          "newCode": "defKey",
          "com": "Input",
          "relationNoShow": false,
          "freeze": true
        },
        {
          "refKey": "defName",
          "hideInGraph": false,
          "code": "chnname",
          "value": "显示名称",
          "newCode": "defName",
          "com": "Input",
          "relationNoShow": false,
          "freeze": true
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false,
          "code": "pk",
          "value": "主键",
          "newCode": "primaryKey",
          "com": "Checkbox",
          "relationNoShow": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true,
          "code": "notNull",
          "value": "不为空",
          "newCode": "notNull",
          "com": "Checkbox",
          "relationNoShow": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true,
          "code": "autoIncrement",
          "value": "自增",
          "newCode": "autoIncrement",
          "com": "Checkbox",
          "relationNoShow": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true,
          "code": "type",
          "value": "数据域",
          "newCode": "domain",
          "com": "Select",
          "relationNoShow": true
        },
        {
          "refKey": "type",
          "hideInGraph": false,
          "code": "dataType",
          "value": "数据类型",
          "newCode": "type",
          "com": "Text",
          "relationNoShow": false
        },
        {
          "refKey": "len",
          "hideInGraph": false,
          "code": "len",
          "value": "长度",
          "newCode": "len",
          "com": "Input",
          "relationNoShow": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false,
          "code": "scale",
          "value": "小数位数",
          "newCode": "scale",
          "com": "Input",
          "relationNoShow": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true,
          "code": "remark",
          "value": "说明",
          "newCode": "comment",
          "com": "Input",
          "relationNoShow": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true,
          "code": "refDict",
          "value": "数据字典",
          "newCode": "refDict",
          "com": "SearchSelect",
          "relationNoShow": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true,
          "code": "defaultValue",
          "value": "默认值",
          "newCode": "defaultValue",
          "com": "Input",
          "relationNoShow": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false,
          "code": "isStandard",
          "value": "标准字段",
          "newCode": "isStandard",
          "com": "label",
          "relationNoShow": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true,
          "code": "uiHint",
          "value": "UI建议",
          "newCode": "uiHint",
          "com": "Select",
          "relationNoShow": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true,
          "code": "extProps",
          "value": "拓展属性",
          "newCode": "extProps",
          "com": "linkButton",
          "relationNoShow": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "531C970B-62CC-464D-BA93-6A7E24369482"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2A00B789-A278-41A2-8B5D-25DF2FAFD652"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "A5720954-D66D-4D00-BE72-7D59E59044AE"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "48E3F9CB-2312-4B62-9F5D-97FBA4B7B58C"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "035FBD3A-96E3-4506-9F1A-33B35304AE62"
        },
        {
          "defKey": "number",
          "defName": "编号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "AE020BF4-7D36-454E-9046-68416569AFDC"
        },
        {
          "defKey": "name",
          "defName": "姓名",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "CD3AB791-C0A1-4829-BEA4-48BF07CDD70C"
        },
        {
          "defKey": "sex",
          "defName": "性别",
          "comment": "1:男 2:女 3:未知",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D",
          "extProps": {},
          "id": "AB5726C4-BC22-4992-8A89-28968236B41B"
        },
        {
          "defKey": "portrait",
          "defName": "头像",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "B8A3102A-3428-483C-A145-B33B45009666"
        },
        {
          "defKey": "nick_name",
          "defName": "昵称",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "3254A476-25DD-4290-B4A0-77DF29324BD9"
        },
        {
          "defKey": "mobile",
          "defName": "手机号码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "60432A1E-D6D8-4069-89C6-13E6558D0A5E"
        },
        {
          "defKey": "login_code",
          "defName": "登录账号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "9784D0C6-4800-49FE-A941-CDC76F33CA5B"
        },
        {
          "defKey": "password",
          "defName": "密码",
          "comment": "加密存储",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "869F5E4B-F9F2-4731-98D5-F71B3880B2C0"
        },
        {
          "defKey": "email",
          "defName": "邮箱",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "62095893-8567-42E1-8EB3-90C30FBC1265"
        },
        {
          "defKey": "id_type",
          "defName": "证件类型",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "9CF2E96F-8B22-415A-ACED-CC734C4E4D89",
          "extProps": {},
          "id": "02AB4355-4BFD-457A-8C4A-21ABFDD21A0B"
        },
        {
          "defKey": "id_cord_no",
          "defName": "证件号码",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "FCBD16BA-E5A0-4C89-AC2E-B7D6DC28E44E"
        },
        {
          "defKey": "cardfrontphotourl",
          "defName": "证件正面图片",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "BEB3D1AE-0F39-4B29-BC3C-937BAC6C774D"
        },
        {
          "defKey": "cardbackphotourl",
          "defName": "证件背面图片",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "CB2399AC-46A9-4950-B363-36EB99917D50"
        },
        {
          "defKey": "country_id",
          "defName": "国家",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "E8BAAA41-B99D-4561-A35A-5EB3900D2BB7"
        },
        {
          "defKey": "province_id",
          "defName": "省",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "6EB54534-9293-4A4A-8789-B0BCD39B99FB"
        },
        {
          "defKey": "city_id",
          "defName": "市",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "B080E742-2077-4329-869B-590BDE5087D9"
        },
        {
          "defKey": "district_id",
          "defName": "地区",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "4A100BA8-C948-4E76-B55F-B4F0025CA38A"
        },
        {
          "defKey": "address",
          "defName": "地址",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "3A671C90-6D9E-4179-97EC-3A02B7ADB612"
        },
        {
          "defKey": "created_ip",
          "defName": "注册IP",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "087A5C70-9B85-4979-80C6-8049C465B439"
        },
        {
          "defKey": "login_ip",
          "defName": "最近一次登录IP",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "AA5EBEC0-CBB9-46EE-8AA9-F93ED2652B48"
        },
        {
          "defKey": "login_time",
          "defName": "最近一次登录时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "refDict": "",
          "extProps": {},
          "id": "3722775E-AC47-46A3-A581-BB385393FC43"
        },
        {
          "defKey": "status",
          "defName": "状态",
          "comment": "1-正常 2-停用 3-注销",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "1",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "6809D60F-C05F-4500-BCA2-5E91C1AFDC1A",
          "extProps": {},
          "id": "E64D8D1B-23CA-4625-ADD0-F105C0675E00"
        },
        {
          "defKey": "role",
          "defName": "角色",
          "comment": "1-核心会员 2-普通会员 101-终端用户",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "65828AA7-5A6D-432D-8ED2-77F7B8E74CAA",
          "extProps": {},
          "id": "7E93B7E7-323B-4F20-A96F-3FDDF5D68108"
        },
        {
          "defKey": "broker_id",
          "defName": "所属经纪机构",
          "comment": "所属经纪机构",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "BE004DE7-1562-4964-AA48-785349985F10"
        },
        {
          "defKey": "invite_code",
          "defName": "用户推荐码",
          "comment": "用户推荐码",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "73CCA70B-BCF4-498C-8429-ACC494340704"
        },
        {
          "defKey": "real_name_flag",
          "defName": "实名认证标识",
          "comment": "1-未认证 2-已认证",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "1",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "CC0712A8-9D60-4252-82E4-6D04CA50A0BA"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "032FE9BB-7222-43BB-AEF0-30D91B5C58E7",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_login_auth",
      "defName": "登录授权表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "B1DC20B5-3820-4F0F-9710-62F45B87D2EF"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "A81FD57A-E7D1-44F2-83B1-302EB3253E50"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2E8C644B-52AF-4470-9327-31B9A2333E0F"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "0D07381D-2D5A-4ABD-B050-B5AED8189008"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "004C6689-585D-4C4D-A120-FFA0578975AF"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "32D79C2E-B91E-4551-A137-99B9F70108D0"
        },
        {
          "defKey": "identity_type",
          "defName": "登录类型",
          "comment": "1-登录代码 2-微信 3-支付宝",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "2E8EC7AE-E083-47AF-AABF-3D1FAD6BC3B8"
        },
        {
          "defKey": "open_id",
          "defName": "三方唯一标识",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "81037CBC-6C16-48AC-99F3-76C9BC896FF0"
        },
        {
          "defKey": "access_token",
          "defName": "三方凭证",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "431E0451-56E7-4EC0-9481-8FED8487A138"
        },
        {
          "defKey": "nickname",
          "defName": "昵称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "F150923D-E25C-4D26-A1FB-9FDCE8C0D507"
        },
        {
          "defKey": "portrait",
          "defName": "头像",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "F18E507A-5533-4899-A565-6530894135F1"
        },
        {
          "defKey": "refresh_token",
          "defName": "刷新令牌",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "E44C9485-F2E8-46D4-B1B2-FF2D761C978B"
        },
        {
          "defKey": "expires_in",
          "defName": "凭证有效时间",
          "comment": "单位（秒）",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "F308A540-024B-47B0-9003-08FA9071900C"
        },
        {
          "defKey": "re_expires_in",
          "defName": "刷新令牌的有效时间",
          "comment": "单位（秒）",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "D1843DDE-DFC8-4437-8FEE-9CB902B208F3"
        },
        {
          "defKey": "remark",
          "defName": "备注",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "4DC1F896-598E-4DC7-AC27-CA294E100F00"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "BFBF4C43-0B33-42DC-9D4C-6F32CCC916D4",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_login_log",
      "defName": "登录流水表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "4FC8801C-31D2-4CDD-8A87-D7ACC1880C84"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "BE26E35F-CD20-43C8-847C-002DADAA2D06"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "59E5D2B1-87C0-485A-A74A-33DCA4C9CB41"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "3FC96197-B9CE-4267-9DE1-4045206E11D4"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "FCA539EB-A58B-4EC6-8BFF-091F3B94A877"
        },
        {
          "defKey": "loginid",
          "defName": "登陆账号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "61FE0B92-84D0-4CF1-B497-ED43670372E8"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "2FDD5F0B-EB49-4D61-90D6-3FE9A98B7661"
        },
        {
          "defKey": "clienttype",
          "defName": "客户端类型",
          "comment": "1:PC会员端 2:B2B小程序",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "093A0A20-DED0-4BB1-BCE9-CE60979551AC"
        },
        {
          "defKey": "softversion",
          "defName": "软件版本",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "E1ECCAF4-7531-432B-8BDA-AF4E34E9F98C"
        },
        {
          "defKey": "operatetime",
          "defName": "操作时间",
          "comment": "",
          "type": "DATE",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "refDict": "",
          "extProps": {},
          "id": "0F0A0F0C-6635-45EC-B1AB-37DF210266D6"
        },
        {
          "defKey": "loginip",
          "defName": "登录IP地址",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "D1CA673A-6CF3-4278-AA88-4AFD7AF67354"
        },
        {
          "defKey": "loginport",
          "defName": "登录端口",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "71A4A7BC-8172-4DF8-8225-7629C1ED718D"
        },
        {
          "defKey": "deviceid",
          "defName": "登录设备信息",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15",
          "refDict": "",
          "extProps": {},
          "id": "B3ADD2B4-05E0-45D9-A7D4-F61C45F509BD"
        },
        {
          "defKey": "environmentinfo",
          "defName": "登录软件环境信息",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15",
          "refDict": "",
          "extProps": {},
          "id": "3FD35A97-C280-43E6-9049-086010884825"
        },
        {
          "defKey": "loginretcode",
          "defName": "登录结果",
          "comment": "0:成功、非0均为失败",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "AD36C1DE-3400-4985-BAF2-6E73C15C05F0"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "CE37D044-1237-47B7-A5DE-3885271C6BD5",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_account",
      "defName": "资金账户表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "670DCCFF-95BE-4B93-9333-26F3A55F6AE9"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "22836602-3DF3-42FA-8A63-637DED4983F2"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "273AF22B-77E6-46C6-A296-31DD1CF2411F"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "7A418380-D2F8-4998-AE07-39DCE42A3E8D"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "1778A3EE-0A3D-4A94-9C0A-600B5DC38205"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "D1FD50C9-CE36-4471-BA33-AA4EEA750EE9"
        },
        {
          "defKey": "sign_status",
          "defName": "签约状态",
          "comment": "签约状态",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "1",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "51FF6DCA-8D90-449E-8165-7B348EA19394",
          "extProps": {},
          "id": "3471AB27-8A73-4669-A7FF-B01D4C67C90F"
        },
        {
          "defKey": "current_amount",
          "defName": "余额",
          "comment": "当前余额",
          "type": "",
          "len": 24,
          "scale": 6,
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "BFF669D0-F7BD-4626-88FD-6618666501EB"
        },
        {
          "defKey": "freeze_amount",
          "defName": "冻结金额",
          "comment": "当前冻结金额",
          "type": "",
          "len": 24,
          "scale": 6,
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "EAE175D3-BE5C-4BBD-9167-1664973DC654"
        },
        {
          "defKey": "out_threshold",
          "defName": "出金阈值",
          "comment": "出金阈值",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "5EFDB58F-96B7-47F8-BAC8-D60AE61E1CAF"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "DA07AECF-B098-44F6-8D39-F02849692F08",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_address",
      "defName": "收货地址表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "CFD5EBC6-793D-4257-975A-F5DF0CC684D3"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "98DBC3C5-6589-4E4A-8E5D-F8189B10465A"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "87E543BD-C43E-40C3-8297-7C529A029ABC"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "C92B7D0C-E23F-488F-AADD-0095F562D4BA"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "68A4D2E8-8EFC-4B7A-8F54-EB62894993BD"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "用户ID",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "EC7650A6-EB32-4D54-B95B-EF84617269D2"
        },
        {
          "defKey": "name",
          "defName": "收货人姓名",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "40AD1A76-526C-4571-8029-D38B6D63057F"
        },
        {
          "defKey": "mobile",
          "defName": "收货人电话",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "7682A0EB-BB9A-4ED2-BABF-2299186A5F29"
        },
        {
          "defKey": "country_id",
          "defName": "国家",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "BDF565B7-0471-4C3E-A439-FCB98A2E0180"
        },
        {
          "defKey": "province_id",
          "defName": "省",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "269D21DA-57BC-4117-B763-E6234146D804"
        },
        {
          "defKey": "city_id",
          "defName": "市",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "28E401C6-0F7C-48EB-B3B0-53D1DA577484"
        },
        {
          "defKey": "district_id",
          "defName": "地区",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "E152BC28-4500-45D1-A11F-31A91CF9B2C2"
        },
        {
          "defKey": "address",
          "defName": "收货地址",
          "comment": "收货地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "84FC554E-8C29-44DC-9D86-9195216D9C85"
        },
        {
          "defKey": "default_flag",
          "defName": "是否默认",
          "comment": "0-否1-是",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "refDict": "",
          "extProps": {},
          "id": "26FA41FD-5487-4CD9-8EEF-64ABA40F6A93"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "E3AF68EA-95EC-49FF-8BE5-F83525ABED2D",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_receipt",
      "defName": "发票信息表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "FD0D5D6C-E85B-46E4-A5E2-4190F6387BDD"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "A4F29704-BC0D-4A94-9318-2B311A41CF7E"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "6EB9B18D-5D97-4A32-A42D-E865C6710EA2"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "F57ECC1C-50A4-4BF6-A5DE-0500E79D53B6"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "A595E147-B81C-4E3A-B6EB-0875D6BE79B1"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "用户ID",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "1C6B538E-49B2-4655-8C2F-DA6D04BA2986"
        },
        {
          "defKey": "receipttype",
          "defName": "发票类型",
          "comment": "1:个人 2:企业",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "7F2E7F12-0177-4C31-8D32-BA0CE4884EE8"
        },
        {
          "defKey": "username",
          "defName": "户名",
          "comment": "个人姓名或企业名称",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "16935006-3C35-43CE-8C07-8C801B0745DA"
        },
        {
          "defKey": "taxpayerid",
          "defName": "纳税人识别号",
          "comment": "纳税人识别号",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "49691E13-A98F-4B3B-ADE2-B1D4B42BF156"
        },
        {
          "defKey": "contactinfo",
          "defName": "联系方式",
          "comment": "联系方式",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "9E2A6F1B-795B-41C3-B928-57781554D0E6"
        },
        {
          "defKey": "receiptbank",
          "defName": "发票开户行",
          "comment": "[企业]",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "760C2058-15D5-4DCF-B84C-AF74D96B88A3"
        },
        {
          "defKey": "receiptaccount",
          "defName": "发票帐号",
          "comment": "[企业]",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "E4E096F7-1473-4BC7-A39F-6FC553F789F6"
        },
        {
          "defKey": "address",
          "defName": "地址",
          "comment": "[企业]",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "9F3CBA9F-9C07-47C2-8961-709596FE1E08"
        },
        {
          "defKey": "idnum",
          "defName": "身份证号码",
          "comment": "[个人]",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "AE9CF1FC-F57B-4CBB-971B-27FCBA50D387"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "C592C7E6-24F0-4986-AD76-617BD01C0541",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_apply",
      "defName": "用户申请表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "3CEB15A6-14C8-42AB-868D-250D01B28DEF"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "6120A78A-9D5A-4676-BD9A-A03D81B0ACCA"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E15DF1DE-6D1B-46F2-9F5F-39EB87ABDA49"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E987C71F-E89E-4BE1-AC70-6553421A52A5"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "434F582F-5192-43C9-A1C0-4BED3C7DDF62"
        },
        {
          "defKey": "apply_type",
          "defName": "申请类型",
          "comment": "1:开户申请 2:实名申请",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "9ED619BD-1E82-4660-A82A-1DFF5A051EDA"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "[实名申请]",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "8DB080CA-4ECB-4027-B412-E99FA3533616"
        },
        {
          "defKey": "name",
          "defName": "姓名",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "D0E25A62-9626-48CC-8897-838C75BAF0DF"
        },
        {
          "defKey": "sex",
          "defName": "性别",
          "comment": "1:男 2:女 3:未知",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D",
          "extProps": {},
          "id": "D2524A72-07E3-4C53-AF84-3DBE0F025584"
        },
        {
          "defKey": "portrait",
          "defName": "头像",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "5D653C3E-4C96-4F96-8B38-0811FD2404D3"
        },
        {
          "defKey": "nick_name",
          "defName": "昵称",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "32EACE22-D247-4B5D-880F-DF2E8EDCA438"
        },
        {
          "defKey": "mobile",
          "defName": "手机号码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "5B922335-DF19-441B-9F20-9E5740D1C4E1"
        },
        {
          "defKey": "email",
          "defName": "邮箱",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "07EA310B-119D-491A-AD7A-2D76AE4B3D12"
        },
        {
          "defKey": "password",
          "defName": "密码",
          "comment": "加密存储",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "45397F99-0460-4327-BBF7-CBD182101032"
        },
        {
          "defKey": "id_type",
          "defName": "证件类型",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "9CF2E96F-8B22-415A-ACED-CC734C4E4D89",
          "extProps": {},
          "id": "8AA38CCD-7564-4CAC-B909-C1B326A53B69"
        },
        {
          "defKey": "id_cord_no",
          "defName": "证件号码",
          "comment": "",
          "type": "",
          "len": 255,
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "672D09BE-5D22-46DA-A41C-28822C2A30E1"
        },
        {
          "defKey": "cardfrontphotourl",
          "defName": "证件正面图片",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "70DDA3F3-464C-4EC3-AD10-41C0FDB9FE5B"
        },
        {
          "defKey": "cardbackphotourl",
          "defName": "证件背面图片",
          "comment": "存图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "7064A474-12EC-4A7C-A89A-68B86C17E7BC"
        },
        {
          "defKey": "country_id",
          "defName": "国家",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "ADDF0BAB-D5AD-4734-AA56-8D78B255E2FE"
        },
        {
          "defKey": "province_id",
          "defName": "省",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "456E7DD9-3822-46C1-9554-653E1448DEF7"
        },
        {
          "defKey": "city_id",
          "defName": "市",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "A9A31B9A-FDE5-4570-9268-420B5AEAE283"
        },
        {
          "defKey": "district_id",
          "defName": "地区",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "0B537FA6-2200-4930-97BB-898F3320BBFC"
        },
        {
          "defKey": "address",
          "defName": "地址",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "2123CA55-457B-4FD4-9B3B-9D4CD5B2039B"
        },
        {
          "defKey": "role",
          "defName": "角色",
          "comment": "1-核心会员 2-普通会员 3-终端用户",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "65828AA7-5A6D-432D-8ED2-77F7B8E74CAA",
          "extProps": {},
          "id": "02D920C8-A82C-414C-88FD-3414207578FB"
        },
        {
          "defKey": "broker_id",
          "defName": "所属经纪机构",
          "comment": "所属经纪机构",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "334FF39B-FAC8-4B72-B19C-1D8C187CA254"
        },
        {
          "defKey": "invite_code",
          "defName": "用户推荐码",
          "comment": "用户推荐码",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "16CF59D6-2553-48F5-8EDB-F0C290883867"
        },
        {
          "defKey": "audit_status",
          "defName": "审核状态",
          "comment": "1:待审核 2:审核中 3:已审核 4:审核拒绝",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "1739C569-2204-4E4C-ACD8-10DD61344073",
          "extProps": {},
          "id": "6F793BDF-C095-404A-B1A2-F7C823E74A4F"
        },
        {
          "defKey": "audit_by",
          "defName": "审核人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "71D04613-531A-4FA4-8804-5BED68A44848"
        },
        {
          "defKey": "audit_remark",
          "defName": "审核备注",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "id": "A241496D-876B-4021-B8FC-6A78E42D31A8"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "679980B7-B33B-4E51-A984-F09B1CA37C2F",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "user_account_log",
      "defName": "资金流水表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "9808D6DC-0AD7-4045-AAA7-71201A1A36A2"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "F255EB7D-82D1-4A0D-9F60-97101390D8FE"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "C2FAB37B-152D-409D-9196-B1BE6A2ABD58"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "60614968-B9E2-4D14-9860-F13E397CC29C"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "FA0B168C-AE07-42BC-9211-74BD2285A287"
        },
        {
          "defKey": "user_id",
          "defName": "用户ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "0C8E06F1-B70B-4639-8E1D-099A2BB5428C"
        },
        {
          "defKey": "account_id",
          "defName": "资金账户ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "8E54E249-5A8B-41F6-95B9-CF5E1FE44312"
        },
        {
          "defKey": "adjust_type",
          "defName": "调整类型",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "A466E052-7A2B-43E0-8D6F-50B688C02EB4",
          "extProps": {},
          "id": "302BFA7C-412D-4C5C-8967-BE7A5C556974"
        },
        {
          "defKey": "amount",
          "defName": "资金金额",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "4BD6DBAD-C422-4AC2-9587-D34DDB55F297"
        },
        {
          "defKey": "before",
          "defName": "变更前",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "47FE8BC9-6CA7-425B-955D-136A4EB4C381"
        },
        {
          "defKey": "after",
          "defName": "变更后",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85",
          "refDict": "",
          "extProps": {},
          "id": "C3271B5D-0924-4530-9F8C-A71BE2CC5413"
        },
        {
          "defKey": "businesscode",
          "defName": "业务编号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "7DA1F6E9-6ED1-4828-BEED-FD6E6C420C0E"
        },
        {
          "defKey": "remark",
          "defName": "备注",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "E02DF043-DA1C-4EE2-901D-04862060FCB4"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "696DE7B6-49A6-40BA-8A8E-CFAE08A118C3",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "member_func_menu",
      "defName": "会员功能菜单表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "598AD16B-6373-498E-A432-743304E76C05"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "09E0E861-CE0F-4265-85DE-F393731B2B3F"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E4687B9D-6BDE-4DF6-B9C6-5C0FD03F80BB"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "75FFEEC1-A293-415E-BAC4-51BFC78CB873"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "814033BF-4F2B-436F-B81C-576159123238"
        },
        {
          "defKey": "resource_code",
          "defName": "资源代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "A90E3ADB-899F-4782-933B-7B601DBAA68E"
        },
        {
          "defKey": "resource_name",
          "defName": "资源名",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "1F02D268-BB53-4B5C-A407-79D79D194379"
        },
        {
          "defKey": "resource_level",
          "defName": "级别",
          "comment": "1-一级 2-二级 3-三级4-四级",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "081FB497-D701-4ADC-8878-32578B909CE1"
        },
        {
          "defKey": "parent_code",
          "defName": "上级资源代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "5DAA2D61-908A-49AC-AF84-524F7ED21007"
        },
        {
          "defKey": "url",
          "defName": "Url",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "037D5166-98F6-4E78-B0F7-7301706F3FE9"
        },
        {
          "defKey": "sort",
          "defName": "排序",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "6D6D9D85-2576-46AB-A30F-6F8C45280A9E"
        },
        {
          "defKey": "icon_name",
          "defName": "菜单图标",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "262FDC34-A69F-4E44-8851-5E87E0B8D27D"
        },
        {
          "defKey": "remark",
          "defName": "Remark",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "60EDC53D-E2FD-4396-9863-A123BD52E1E5"
        }
      ],
      "correlations": [],
      "indexes": [
        {
          "defKey": "IDX_RESOURCE_CODE",
          "defName": null,
          "unique": false,
          "comment": "",
          "fields": [
            {
              "fieldDefKey": "A90E3ADB-899F-4782-933B-7B601DBAA68E",
              "ascOrDesc": "A",
              "id": "C9A675A8-B12E-4C79-8921-6F32BE8C459E"
            }
          ],
          "id": "515ADC6C-9500-4C54-9171-6F9479BCB0AA"
        }
      ]
    },
    {
      "id": "E0C6BBE4-5E2C-4B2F-A794-2FDA1B4E9108",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "member_role_menu",
      "defName": "会员角色菜单表",
      "comment": "脚本初始化 1:核心会员 2:普通会员",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "8350D4BE-6A85-409C-8DF2-BB232E5659DE"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "49E5B80A-D877-42C4-8A6E-808BFFD3243A"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E7ADE691-0242-4E94-929F-3A357831DC9C"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "88741B91-064F-4FD0-B07B-281DE827224B"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "F811C9AD-FC4A-4B8E-9066-2962D241FAEC"
        },
        {
          "defKey": "role_id",
          "defName": "角色权限ID",
          "comment": "1:核心会员 2:普通会员",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "CE56B63F-0CDB-4BB6-9600-12A5650163BB"
        },
        {
          "defKey": "resource_code",
          "defName": "菜单代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "70805E32-C168-4EF5-99A8-8919C413668C"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "4A7756B4-FF7D-48BB-9174-335FFA5966DD",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_param",
      "defName": "系统参数表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "68C20C89-F3F0-4833-BB14-E8FA8120988E"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "1E0A7473-C0E5-4C84-ACF9-6D01F2C4B029"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2FCBBDBF-A7E0-439C-926F-FC36B6208D7F"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2BC50D28-2E53-415A-A64E-0B44ABDAE023"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "0BDD3897-9119-48EC-9A30-D0AEA5D30F7A"
        },
        {
          "defKey": "param_code",
          "defName": "参数代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "AF03256D-4B23-41E5-98A0-F0A45E329B6A"
        },
        {
          "defKey": "param_name",
          "defName": "参数名",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "9154FAB8-A97C-4C53-9685-A392FDCEADF3"
        },
        {
          "defKey": "param_value",
          "defName": "参数值",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "1F403692-A4EF-4424-A9D2-6F1C8BC00347"
        },
        {
          "defKey": "regex_string",
          "defName": "正则表达式",
          "comment": "",
          "type": "VARCHAR2",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "4B2AC28F-F1CD-46CF-8461-990B6421091A"
        },
        {
          "defKey": "remark",
          "defName": "备注",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "7E229E08-76B6-41F8-96D4-8C14F36BE430"
        },
        {
          "defKey": "show_flag",
          "defName": "是否显示",
          "comment": "0:不显示   1:显示",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "refDict": "",
          "extProps": {},
          "id": "3B763955-2027-49F5-8DCE-C0D0FFB971CA"
        },
        {
          "defKey": "modify_flag",
          "defName": "修改标志",
          "comment": "不允许修改   1 允许修改",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": false,
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "refDict": "",
          "extProps": {},
          "id": "30CE7328-4966-4999-BEF6-ADD88BE29B7C"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "642B144E-EE1D-4C96-BEBF-7D2D101E8449",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_ip_blacklist",
      "defName": "IP黑名单表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "8910E556-1114-41FA-AE99-064340AEDCDC"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "92A1D873-E117-46EC-B06F-E95EADDE8025"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "1DF7B864-4FFC-4057-83D3-6175D4577EDF"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "381EF460-A70C-4801-B606-36CECF89CF10"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "F9FAD364-8EED-4096-85E6-9BE5B56A5C70"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "077A53D7-A392-499C-BB45-815C01B39E77"
        },
        {
          "defKey": "ip",
          "defName": "IP地址",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "77B1399C-ADC6-4EE1-9B78-7FCFA4672DF4"
        }
      ],
      "correlations": [],
      "indexes": [
        {
          "defKey": "IDX_IP",
          "defName": null,
          "unique": true,
          "comment": "",
          "fields": [
            {
              "fieldDefKey": "77B1399C-ADC6-4EE1-9B78-7FCFA4672DF4",
              "ascOrDesc": "A",
              "id": "FF2855A6-C81B-45C1-8C4F-319D93E3DEF1"
            }
          ],
          "id": "1B44A57E-6F16-492F-92A9-44D468696B94"
        }
      ]
    },
    {
      "id": "CB6F38E6-948A-42E1-B7A7-BCB690F7A0DC",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_sms_template",
      "defName": "短信模板配置表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "4AB6569C-7A7F-43E6-9C6C-739F857AD8A9"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "FCD20802-2945-4718-84C3-FE7FCB37A6F7"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E389132B-1CF4-45EB-B022-FA7B267C1E2E"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "157FAE0E-2AC7-4EB5-90D1-73107A344660"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "03C4A79B-87A0-4310-944B-5620B1142CE0"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "B623AFC8-6E91-497A-86BD-48270E98BD5B"
        },
        {
          "defKey": "template_id",
          "defName": "模板ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "0C8CCBAE-B939-48C2-8DE3-A323E70670EC"
        },
        {
          "defKey": "service_provider",
          "defName": "运营商",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "E4D8004F-7003-4FDC-BE45-63A7BBD927D2"
        },
        {
          "defKey": "content",
          "defName": "内容",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "645B7F03-271D-4A0B-A046-2D4CC14B29FB"
        },
        {
          "defKey": "own_code",
          "defName": "运营商模板代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "3DB137DF-B81F-44BF-A3A0-240733CF74E7"
        },
        {
          "defKey": "remark",
          "defName": "备注[参数说明]",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "5379A1E8-83F2-499A-9F8A-E954EB59F0F2"
        }
      ],
      "correlations": [],
      "indexes": [
        {
          "defKey": "IDX_TEMPLATEID",
          "defName": null,
          "unique": true,
          "comment": "",
          "fields": [
            {
              "fieldDefKey": "0C8CCBAE-B939-48C2-8DE3-A323E70670EC",
              "ascOrDesc": "A",
              "id": "DE635A0A-019A-469A-A8BF-A9C71638AEEF"
            },
            {
              "fieldDefKey": "E4D8004F-7003-4FDC-BE45-63A7BBD927D2",
              "ascOrDesc": "A",
              "id": "8DE38324-7725-4559-9554-9B9D022DA85F"
            }
          ],
          "id": "CBA0EC48-2F84-493E-B02D-FB7D643E8DA6"
        }
      ]
    },
    {
      "id": "27BA4027-5F87-433E-B03E-16BB108B35A0",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_sms_log",
      "defName": "短信发送日志表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "F13EAB52-BE51-48BF-9DC6-827B8139C152"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "E416741D-2A42-48F6-8E33-BDACFE55D442"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "988CB913-8A79-48AF-877A-9752C6F2B2AD"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "BAF7F916-7A39-4A84-8167-58B9DB993771"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "4577AFEF-E1D8-4410-8478-63013ABFCC1E"
        },
        {
          "defKey": "receive_phone",
          "defName": "接收手机号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "6285943E-CB88-4824-813C-9D270B71B73C"
        },
        {
          "defKey": "template_id",
          "defName": "模板ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "60B647E2-0B71-45EA-B2F4-69A122506909"
        },
        {
          "defKey": "msg_content",
          "defName": "短信内容",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "48EADCC7-D93E-4CB5-AAED-88B678BE1EDB",
          "refDict": "",
          "extProps": {},
          "id": "46D61008-F845-4EFD-9A36-E12C78B1DE58"
        },
        {
          "defKey": "status",
          "defName": "发送状态",
          "comment": "1:未发送 2:已发送 3:发送失败",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "-1",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "B2B9F510-810F-4E3C-BAB7-78404A8B6901"
        },
        {
          "defKey": "errinfo",
          "defName": "错误信息",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "D380395B-1D8A-480F-B06E-E185EED9BEC9"
        },
        {
          "defKey": "priority",
          "defName": "优先级别",
          "comment": "1:正常 2:加急 3:紧急",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "82BFFA92-6A46-4EAC-B67D-01FA4D102982"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "DB812ABF-7A28-4177-9B10-4399D7D66A8C",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_news_category",
      "defName": "新闻分类表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "069C45B3-05DB-469D-AC89-F391015EFA49"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "D90D74CF-A800-4303-ABC5-E3A25EB82460"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "8600049E-2278-4CE5-AC96-E8E0B7BFFD2D"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "196548FD-AA59-477B-A7DC-9CC4BDEF5107"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "C26BAFAA-F1F1-497F-AE98-38188E35C2BA"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "2AA88BB1-8841-42C2-8B02-A4E79C1979E3"
        },
        {
          "defKey": "category_name",
          "defName": "分类名称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "BC24580C-E8F3-43AB-BAD1-79F1D61BB761"
        },
        {
          "defKey": "sort",
          "defName": "排序",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "5C0CE8CD-BCB6-4A76-AAA7-37D4B450DF3B"
        },
        {
          "defKey": "parent_category_id",
          "defName": "父分类id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "9E1D6524-DE8B-4ED0-8F58-15F0AFAEAB73"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "F11B9F10-42D3-472F-9301-1C2F57F64BD0",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_news",
      "defName": "新闻资讯表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "BC66F63D-F41B-4FC1-9298-56AE12FED63F"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "CA836726-7301-40A5-9ADF-0C85F393E4C5"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "91568921-C9EA-434A-87EC-106FC03AD1C8"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "541CA3CC-A51D-4C03-B418-2919368533B4"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "88BF8D3B-0033-4A35-BD3C-F6526823170E"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "2344AC0B-2192-472E-900F-81E5A191A340"
        },
        {
          "defKey": "category_id",
          "defName": "分类id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "46299BDF-F1C4-4650-A95A-E15FB8BAFF57"
        },
        {
          "defKey": "title",
          "defName": "标题",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "8034C983-0740-422D-B2E4-DD3AA1B61479"
        },
        {
          "defKey": "image_path",
          "defName": "封面图片",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "5EBAA036-B0E1-4EE6-A14E-E6E939A95A4E"
        },
        {
          "defKey": "author",
          "defName": "作者",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "BB20338A-3FB7-4140-8024-FAD1CE4F8409"
        },
        {
          "defKey": "brief",
          "defName": "简介",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "8EE43BC9-CEB5-43F0-BDD3-1A137EE51577"
        },
        {
          "defKey": "context",
          "defName": "内容",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15",
          "refDict": "",
          "extProps": {},
          "id": "5EEDEEA6-9FC4-4EBA-AE70-7167EBCF2C42"
        },
        {
          "defKey": "status",
          "defName": "状态",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "1",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "1739C569-2204-4E4C-ACD8-10DD61344073",
          "extProps": {},
          "id": "69608A2F-B794-4DA8-957E-2E1A6D45FDC8"
        },
        {
          "defKey": "istop",
          "defName": "是否置顶",
          "comment": "- 0:不置 1:置顶",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "0",
          "hideInGraph": true,
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "refDict": "",
          "extProps": {},
          "id": "FB4E06D4-524E-472C-8EA7-27B002473B92"
        },
        {
          "defKey": "hits",
          "defName": "点击数",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "DE689B2D-3669-4419-AA9E-6341BBF92FBD"
        },
        {
          "defKey": "publish_date",
          "defName": "发布日期",
          "comment": "",
          "type": "DATE",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "refDict": "",
          "extProps": {},
          "id": "940FFA8E-E019-4245-9424-B1234BC10057"
        },
        {
          "defKey": "isshow",
          "defName": "是否展示",
          "comment": "- 0:不展示 1:展示",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "1\n",
          "hideInGraph": true,
          "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF",
          "refDict": "",
          "extProps": {},
          "id": "16063534-611C-4A93-90BC-50CCF102287E"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "B38E1679-609F-4DBA-A3EB-B348927E7C7F",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_ad_config",
      "defName": "轮播图配置",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "F700B437-B803-4461-9467-5BF9D756F245"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "0B2F3912-64B0-4E6C-A90F-91628E19AF17"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "55547588-03DD-4C0B-8241-ACCFC25250DE"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2F183980-C9B7-437F-8F04-8A183B4FF239"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "74A7EFAE-5294-4920-8CDB-9EFA052B7E8B"
        },
        {
          "defKey": "modify_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "id": "5779E34D-CC8D-43D3-8125-92A2AF288F80"
        },
        {
          "defKey": "type",
          "defName": "类型",
          "comment": "1:轮播广告",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "1 ",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "F8038DBE-1820-42F8-A7FC-E42F4D56253F"
        },
        {
          "defKey": "title",
          "defName": "标题",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "D495C6D2-76C7-4EBC-B212-F07E9E8B4C3B"
        },
        {
          "defKey": "size",
          "defName": "推荐尺寸",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "08EEA59B-9EC5-4377-8301-FCC9D55E136A"
        },
        {
          "defKey": "image_path",
          "defName": "图片",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "21D47583-7340-47C8-8D64-71307B3F8399"
        },
        {
          "defKey": "url_type",
          "defName": "链接类型",
          "comment": "1:无 2:http地址 3:详情图片",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "E742300C-CD46-484F-AE3F-7F057409EBFA"
        },
        {
          "defKey": "url_content",
          "defName": "链接",
          "comment": "http地址\\详情图片地址",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "9785AC8D-31C3-469C-B21F-73401CEA2166"
        },
        {
          "defKey": "order_index",
          "defName": "顺序",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "0D6ED07F-C55D-4C64-A02D-905B2252920F"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "B21EB98B-FD11-4934-B5DB-AEED5AFB59ED",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_exchange_rate",
      "defName": "汇率配置表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "06BFEBF4-2B2E-440E-B0A2-E1A2720F8858"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "A319287E-EC9D-416C-96B0-655F1531A83E"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "3B69798E-3B0D-47AD-987A-7A6E55CAF76B"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "0115B5ED-B2F3-4B6A-9845-8F7BBEDBEB1B"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "6733BEB2-98C0-456F-90A1-01DB6E2B8EFA"
        },
        {
          "defKey": "modify_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "4BFF6D83-EDA2-4C4C-A5D8-A97D9B9FC4BD"
        },
        {
          "defKey": "ori_currency_id",
          "defName": "原币种id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "A06E2A14-B191-4623-96AC-6667C13C86C6",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "1760CB64-217E-4F56-B622-F6173F945D9E"
        },
        {
          "defKey": "des_currency_id",
          "defName": "目标币种id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "A06E2A14-B191-4623-96AC-6667C13C86C6",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "023CF644-295B-440F-B0DF-21FA9434D40B"
        },
        {
          "defKey": "rate_value",
          "defName": "汇率值",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4",
          "id": "DDB82C49-9411-4250-8F86-C4416D2834EA"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "BF4C128A-4B9B-408E-B905-DC3B314AC0DD",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_error_code",
      "defName": "错误码表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "5FFE0389-24C9-40DE-9C44-BBBC613A84CC"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "4B9D3C4B-A2CF-47D3-BCE2-782083C59F61"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "517F6E49-945F-44C2-8EBB-7F9A4542F32D"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "2209551C-410E-4F73-ADE2-AEECFD8754D1"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "95FDD8F9-E7D2-4A98-86EE-11E52B6F7227"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "6CE5F6CA-0852-43C5-9FDE-3D828EEC6663"
        },
        {
          "defKey": "error_code",
          "defName": "异常代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "FD77EABC-19D3-468B-BF64-BD3A476E539C"
        },
        {
          "defKey": "module_code",
          "defName": "所属模块",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "BF32BE18-F311-4544-8E90-4CCB20F5AAA3"
        },
        {
          "defKey": "operate_code",
          "defName": "所属操作",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "extProps": {},
          "id": "F5274316-FA08-4FA9-B7E4-CFD9B35146AD"
        },
        {
          "defKey": "des_zn",
          "defName": "异常描述(中文)",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "E6140712-25D1-4EA1-A187-316EEC0C468E"
        },
        {
          "defKey": "des_en",
          "defName": "异常描述(英文)",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "id": "E08D485B-0C9F-433D-AFB1-3789B0F6676C"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "DFB2696B-5576-4043-898C-689E6AA03BC5",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_agreement",
      "defName": "协议配置表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "A0C1884D-29ED-4A1C-898D-6F9087051E40"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "54C13CDB-4A38-46D0-806F-1275BDAFD9A5"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "B2991FBD-4B0B-48D6-A0E2-08277A920F3D"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "D0B98BF6-4EAD-4D80-AE75-E31445EC7B5D"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "2F040C7A-D9AE-4487-975D-CC0AD77E6F26"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "6D01B699-0994-4E25-BC15-E217BCE2BFF4"
        },
        {
          "defKey": "type",
          "defName": "类型",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "85557A2E-A3C3-47E4-8D9C-2554981C5A70",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "428AD7AF-D798-45DE-8D9F-A691C6D4DA59"
        },
        {
          "defKey": "number",
          "defName": "编号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "CF7F9DD2-518C-4D3D-BE3A-5CFFFAC34E42"
        },
        {
          "defKey": "name",
          "defName": "名称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "11C2BDAF-CDE7-4719-A2B1-4A166E1A321D"
        },
        {
          "defKey": "content",
          "defName": "内容",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15",
          "id": "29C024D1-43A8-44A7-A612-3C1C15F414C6"
        },
        {
          "defKey": "version",
          "defName": "版本号",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "id": "1E75203C-ED60-42DB-9F94-98558FE16508"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "0E015CEB-A40C-4EC1-9685-32A9DC30DD74",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "common_division",
      "defName": "行政区域表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "FD161275-47B0-47DE-B4D8-B995B7A586BA"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "891A31EB-C93E-40DF-BE54-26DA113E0E09"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "7CFE6209-E62E-44D4-AF60-26FE167ADD91"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "F1DBC48D-2041-4C20-852C-ACEA3A8CB52E"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "C9EFDD0E-188B-417C-BF27-FC5201E19198"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "C3457BF5-1142-4EE5-978A-CF5748165943"
        },
        {
          "defKey": "divisioncode",
          "defName": "行政代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "23535E07-AEFD-429D-897F-C9570F89BAC1"
        },
        {
          "defKey": "shortcode",
          "defName": "地区简码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "50574C9A-FB14-4A6A-A44C-800BE13979A5"
        },
        {
          "defKey": "parentcode",
          "defName": "上级行政代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "9B9EECC2-66C3-44F7-91C0-7103E093A168"
        },
        {
          "defKey": "level",
          "defName": "行政级别",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "34E54864-05AD-4F49-9012-93E30F954D0E",
          "extProps": {},
          "id": "C8B4EF5C-EB8B-4DA4-B035-5C329DFF1357"
        },
        {
          "defKey": "divisionname",
          "defName": "行政名称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "7AB0E548-A6CC-4CD7-86E7-14A2DDD44A4A"
        },
        {
          "defKey": "pathname",
          "defName": "路径名称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "441522E8-1307-45E7-B265-3AED4DA401C7",
          "refDict": "",
          "extProps": {},
          "id": "0797FEA3-0564-4540-879F-4CF3F9461DC1"
        },
        {
          "defKey": "separablename",
          "defName": "可拆分的全称",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "48EADCC7-D93E-4CB5-AAED-88B678BE1EDB",
          "refDict": "",
          "extProps": {},
          "id": "0CBF4569-42A2-4AF6-A2D8-7266D8EEB502"
        },
        {
          "defKey": "postcode",
          "defName": "邮政编码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "476D74FA-B209-4589-BF93-24A25D1A0B85"
        }
      ],
      "correlations": [],
      "indexes": []
    },
    {
      "id": "B6E3D1C6-BDB9-4866-BA12-8D6BDBB54922",
      "env": {
        "base": {
          "nameSpace": "",
          "codeRoot": ""
        }
      },
      "defKey": "member_user_menu",
      "defName": "用户菜单表",
      "comment": "",
      "properties": {
        "partitioned by": "(date string)",
        "row format delimited": "",
        "fields terminated by ','": "",
        "collection items terminated by '-'": "",
        "map keys terminated by ':'": "",
        "store as textfile;": ""
      },
      "nameTemplate": "{defKey}[{defName}]",
      "headers": [
        {
          "refKey": "hideInGraph",
          "hideInGraph": true
        },
        {
          "refKey": "defKey",
          "hideInGraph": false
        },
        {
          "refKey": "defName",
          "hideInGraph": false
        },
        {
          "refKey": "primaryKey",
          "hideInGraph": false
        },
        {
          "refKey": "notNull",
          "hideInGraph": true
        },
        {
          "refKey": "autoIncrement",
          "hideInGraph": true
        },
        {
          "refKey": "domain",
          "hideInGraph": true
        },
        {
          "refKey": "type",
          "hideInGraph": false
        },
        {
          "refKey": "len",
          "hideInGraph": false
        },
        {
          "refKey": "scale",
          "hideInGraph": false
        },
        {
          "refKey": "comment",
          "hideInGraph": true
        },
        {
          "refKey": "refDict",
          "hideInGraph": true
        },
        {
          "refKey": "defaultValue",
          "hideInGraph": true
        },
        {
          "refKey": "isStandard",
          "hideInGraph": false
        },
        {
          "refKey": "uiHint",
          "hideInGraph": true
        },
        {
          "refKey": "extProps",
          "hideInGraph": true
        }
      ],
      "fields": [
        {
          "defKey": "id",
          "defName": "id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": true,
          "notNull": true,
          "autoIncrement": true,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "extProps": {},
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "id": "8B219CDD-070E-4B98-A1CE-89B6436874F3"
        },
        {
          "defKey": "revision",
          "defName": "乐观锁",
          "comment": "",
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "227E366B-7A0E-4FBA-8066-3121A5F7E339"
        },
        {
          "defKey": "created_at",
          "defName": "创建时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "4651F5A9-BF9C-42BF-BEE0-1B724A88708C"
        },
        {
          "defKey": "updated_at",
          "defName": "更新时间",
          "comment": "",
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "uiHint": "",
          "id": "5B7C9F7E-F4BC-4CB0-8FCE-BC552286FF7A"
        },
        {
          "defKey": "deleted_at",
          "defName": "删除时间",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "refDict": "",
          "extProps": {},
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "id": "D6E8EDC1-6F7B-4B03-9796-152ABE31579A"
        },
        {
          "defKey": "modified_by",
          "defName": "修改人",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": true,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "BF594760-36A3-4A12-9E7D-8B3A2568EDEC"
        },
        {
          "defKey": "user_id",
          "defName": "用户id",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "extProps": {},
          "id": "CDB03EAC-6131-4F34-A8CB-D66A167BC37B"
        },
        {
          "defKey": "resource_code",
          "defName": "菜单代码",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": true,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "3797F027-C388-4227-A4B5-8C2C313944F3",
          "refDict": "",
          "extProps": {},
          "id": "FE422D26-4036-4FF2-8EA6-A0DE6EE0DE79"
        }
      ],
      "correlations": [],
      "indexes": []
    }
  ],
  "views": [],
  "dicts": [
    {
      "defKey": "Gender",
      "defName": "性别",
      "intro": "",
      "items": [
        {
          "defKey": "1",
          "defName": "男",
          "intro": "",
          "parentKey": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "sort": "1",
          "id": "3622D417-DA1A-408F-BEE1-11D328D534A0"
        },
        {
          "defKey": "2",
          "defName": "女",
          "intro": "",
          "parentKey": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "sort": "2",
          "id": "380A0790-64A7-481E-831C-32F7BEE1502B"
        },
        {
          "defKey": "3",
          "defName": "未知",
          "intro": "",
          "parentKey": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "sort": "3",
          "id": "FA239F4D-1276-40D9-B230-F66BD35C3C27"
        }
      ],
      "id": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D"
    },
    {
      "defKey": "UserStatus",
      "defName": "用户状态",
      "sort": "",
      "intro": "",
      "id": "6809D60F-C05F-4500-BCA2-5E91C1AFDC1A",
      "items": [
        {
          "defKey": "1",
          "defName": "正常",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "1559C70D-548C-4AFF-A70B-402F4B52B6FC"
        },
        {
          "defKey": "2",
          "defName": "停用",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "DE9CDD44-B54D-49F6-8B0E-B9DC104E980C"
        },
        {
          "defKey": "3",
          "defName": "注销",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "F6DDA4EB-2B9F-4173-A558-D7C8E79FF2FC"
        }
      ]
    },
    {
      "defKey": "UserRole",
      "defName": "用户角色",
      "sort": "",
      "intro": "",
      "id": "65828AA7-5A6D-432D-8ED2-77F7B8E74CAA",
      "items": [
        {
          "defKey": "1",
          "defName": "核心会员",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "3A7AF050-B704-4C41-A53C-16067AABE984"
        },
        {
          "defKey": "2",
          "defName": "普通会员",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "2074756B-8B63-4B65-985D-2A0F98016D8D"
        },
        {
          "defKey": "101",
          "defName": "终端用户",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "3A9C081B-EBE7-40D9-BF0D-C54CB19622A7"
        }
      ]
    },
    {
      "defKey": "CerType",
      "defName": "证件类型",
      "sort": "",
      "intro": "",
      "id": "9CF2E96F-8B22-415A-ACED-CC734C4E4D89",
      "items": [
        {
          "defKey": "1",
          "defName": "身份证件",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "E8EEB826-85B4-4E0C-97E9-03983CD9F592"
        },
        {
          "defKey": "2",
          "defName": "港澳通行证",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "77730A16-4C75-43E2-898C-9BA744CB19FE"
        },
        {
          "defKey": "3",
          "defName": "台湾通行证",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "C28084A8-B154-412E-BA6E-A33207439112"
        },
        {
          "defKey": "4",
          "defName": "(外国)护照",
          "sort": "4",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "B5B52AEE-60CA-4FA7-80E5-6F5B95F952E2"
        },
        {
          "defKey": "20",
          "defName": "组织机构代码",
          "sort": "20",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "C7F482B9-5ABB-4525-B95A-4B9222316B31"
        },
        {
          "defKey": "21",
          "defName": "营业执照",
          "sort": "21",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "9DAA22A6-D666-45D6-A172-DF5A916077CF"
        },
        {
          "defKey": "22",
          "defName": "统一社会信用代码",
          "sort": "22",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "5DD6DDD8-7825-48AC-A8BD-2AF4C7571D03"
        }
      ]
    },
    {
      "defKey": "SignStatus",
      "defName": "签约状态",
      "sort": "",
      "intro": "",
      "id": "51FF6DCA-8D90-449E-8165-7B348EA19394",
      "items": [
        {
          "defKey": "1",
          "defName": "未签约",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "D4046A07-B196-4B9B-B3B6-DFA3BAF21495"
        },
        {
          "defKey": "2",
          "defName": "签约待审核",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "68098DF3-2F7F-433B-9487-A4D5AFFC08FB"
        },
        {
          "defKey": "3",
          "defName": "签约中",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "2D4AD566-3F08-4C8C-A90A-468CFAF35A3F"
        },
        {
          "defKey": "4",
          "defName": "已签约",
          "sort": "4",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "24144C71-E99C-443C-ACD4-6A03DA2C9A9C"
        },
        {
          "defKey": "5",
          "defName": "解约待审核",
          "sort": "5",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "F2B3F9BF-EEAB-45BB-B26A-C9E89C882E34"
        },
        {
          "defKey": "6",
          "defName": "解约中",
          "sort": "6",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "297A1D7E-0CD8-4B32-8363-4AC920BA731C"
        },
        {
          "defKey": "7",
          "defName": "已解约",
          "sort": "7",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "481C14FD-C5BE-4DD5-9E31-BE7F64D43BE7"
        },
        {
          "defKey": "8",
          "defName": "已解绑",
          "sort": "8",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "C321FDEA-4701-4384-BFA1-BCFE4BCE9D36"
        },
        {
          "defKey": "9",
          "defName": "绑卡中",
          "sort": "9",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "9F1AF3C8-5003-429A-90B0-3FABEC8FC081"
        }
      ]
    },
    {
      "defKey": "AuditStatus",
      "defName": "审核状态",
      "sort": "",
      "intro": "",
      "id": "1739C569-2204-4E4C-ACD8-10DD61344073",
      "items": [
        {
          "defKey": "1",
          "defName": "待审核",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "D86BF4E0-C9DC-4119-BE10-88698C2FA571"
        },
        {
          "defKey": "2",
          "defName": "审核中",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "8AF24D9D-CF4B-4380-9A9D-527B63D46B7E"
        },
        {
          "defKey": "3",
          "defName": "已审核",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "8AAE2BDB-9F0E-4821-B9E8-8FD59F3FBFD9"
        },
        {
          "defKey": "4",
          "defName": "审核拒绝",
          "sort": "4",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "76C6853F-8847-4716-BF33-B1066EA2704D"
        }
      ]
    },
    {
      "defKey": "AdjustType",
      "defName": "调整类型",
      "sort": "",
      "intro": "",
      "id": "A466E052-7A2B-43E0-8D6F-50B688C02EB4",
      "items": [
        {
          "defKey": "1",
          "defName": "冻结",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "AD3C05F9-14DB-4BD4-AC19-3A51206A3033"
        },
        {
          "defKey": "2",
          "defName": "解冻",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "F8374B25-AD13-4006-BC78-4669B44A69B6"
        },
        {
          "defKey": "3",
          "defName": "增加",
          "sort": "3",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "759FD79A-C06E-4A86-9D16-CA9753D05179"
        },
        {
          "defKey": "4",
          "defName": "减少",
          "sort": "4",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "7B5CCA5A-18EE-4F71-8F43-1CBF13A84C0B"
        }
      ]
    },
    {
      "defKey": "Currency",
      "defName": "币种",
      "sort": "",
      "intro": "",
      "id": "A06E2A14-B191-4623-96AC-6667C13C86C6",
      "items": [
        {
          "defKey": "1",
          "defName": "人民币",
          "sort": "1",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "CNY",
          "attr2": "¥",
          "attr3": "",
          "id": "12BDB48F-F400-47D8-A630-AC8C23670BEB"
        },
        {
          "defKey": "2",
          "defName": "美元",
          "sort": "2",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "USD",
          "attr2": "$",
          "attr3": "",
          "id": "9B9CF9C0-4754-4401-9F53-336D55124289"
        }
      ]
    },
    {
      "defKey": "AgreementType",
      "defName": "协议类型",
      "sort": "",
      "intro": "",
      "id": "85557A2E-A3C3-47E4-8D9C-2554981C5A70",
      "items": [
        {
          "defKey": "1",
          "defName": "会员协议",
          "sort": "",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "C0A6B7BD-45C9-4391-A420-350B418545AE"
        },
        {
          "defKey": "2",
          "defName": "客户协议",
          "sort": "",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "0A641984-2082-4D96-960A-90C42F5AF0FD"
        },
        {
          "defKey": "3",
          "defName": "风险揭示书",
          "sort": "",
          "parentKey": "",
          "intro": "",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "BA10F6F1-B3F6-4A65-BFDA-FD940FE7B8D2"
        }
      ]
    },
    {
      "defKey": "Division_Level",
      "defName": "行政级别",
      "sort": "",
      "intro": "",
      "id": "34E54864-05AD-4F49-9012-93E30F954D0E",
      "items": [
        {
          "defKey": "1",
          "defName": "国家",
          "sort": "",
          "parentKey": "",
          "intro": "country",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "693AE276-426C-4409-BF30-E54FE7FB7371"
        },
        {
          "defKey": "2",
          "defName": "省",
          "sort": "",
          "parentKey": "",
          "intro": "province",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "5B80155B-7ABB-46F9-A2DF-A86647353DD8"
        },
        {
          "defKey": "3",
          "defName": "市",
          "sort": "",
          "parentKey": "",
          "intro": "city",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "F7DEEA7B-D5FF-4DC6-9AAA-D6F9CF0E8941"
        },
        {
          "defKey": "4",
          "defName": "区\\县",
          "sort": "",
          "parentKey": "",
          "intro": "district",
          "enabled": true,
          "attr1": "",
          "attr2": "",
          "attr3": "",
          "id": "5B0A58C0-AF4E-4B95-9DE2-A87AA3CEBC8D"
        }
      ]
    }
  ],
  "viewGroups": [
    {
      "defKey": "user_model",
      "defName": "用户模块",
      "refEntities": [
        "DEFB16E2-1761-489E-A477-E5719163D764",
        "032FE9BB-7222-43BB-AEF0-30D91B5C58E7",
        "BFBF4C43-0B33-42DC-9D4C-6F32CCC916D4",
        "CE37D044-1237-47B7-A5DE-3885271C6BD5",
        "DA07AECF-B098-44F6-8D39-F02849692F08",
        "E3AF68EA-95EC-49FF-8BE5-F83525ABED2D",
        "C592C7E6-24F0-4986-AD76-617BD01C0541",
        "679980B7-B33B-4E51-A984-F09B1CA37C2F"
      ],
      "refViews": [],
      "refDiagrams": [
        "52F356E9-1565-472E-82F3-295AD1E79203"
      ],
      "refDicts": [
        "6809D60F-C05F-4500-BCA2-5E91C1AFDC1A",
        "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D",
        "65828AA7-5A6D-432D-8ED2-77F7B8E74CAA",
        "9CF2E96F-8B22-415A-ACED-CC734C4E4D89",
        "51FF6DCA-8D90-449E-8165-7B348EA19394",
        "1739C569-2204-4E4C-ACD8-10DD61344073",
        "A466E052-7A2B-43E0-8D6F-50B688C02EB4"
      ],
      "id": "EC9CD22C-8C32-49B6-AA47-2EAD51A4D634",
      "undefined": []
    },
    {
      "defKey": "goods_model",
      "defName": "商品模块",
      "refEntities": [],
      "refViews": [],
      "refDiagrams": [],
      "refDicts": [],
      "id": "FACBAA60-289F-442B-9987-D2CCDB32F4AF"
    },
    {
      "defKey": "system_model",
      "defName": "系统模块",
      "refEntities": [
        "696DE7B6-49A6-40BA-8A8E-CFAE08A118C3",
        "E0C6BBE4-5E2C-4B2F-A794-2FDA1B4E9108",
        "4A7756B4-FF7D-48BB-9174-335FFA5966DD",
        "642B144E-EE1D-4C96-BEBF-7D2D101E8449",
        "CB6F38E6-948A-42E1-B7A7-BCB690F7A0DC",
        "27BA4027-5F87-433E-B03E-16BB108B35A0",
        "DB812ABF-7A28-4177-9B10-4399D7D66A8C",
        "F11B9F10-42D3-472F-9301-1C2F57F64BD0",
        "B38E1679-609F-4DBA-A3EB-B348927E7C7F",
        "B21EB98B-FD11-4934-B5DB-AEED5AFB59ED",
        "BF4C128A-4B9B-408E-B905-DC3B314AC0DD",
        "DFB2696B-5576-4043-898C-689E6AA03BC5",
        "0E015CEB-A40C-4EC1-9685-32A9DC30DD74",
        "B6E3D1C6-BDB9-4866-BA12-8D6BDBB54922"
      ],
      "refViews": [],
      "refDiagrams": [
        "0DC47292-3D25-4AD8-8716-70869B22EE13",
        "EC39B23B-8754-4FB7-8829-6BD7DBD2962C"
      ],
      "refDicts": [
        "A06E2A14-B191-4623-96AC-6667C13C86C6",
        "85557A2E-A3C3-47E4-8D9C-2554981C5A70",
        "34E54864-05AD-4F49-9012-93E30F954D0E"
      ],
      "id": "46E46B63-8583-4A70-9DE8-EFF65FAA2BA3"
    },
    {
      "defKey": "listing_model",
      "defName": "挂牌模块",
      "refEntities": [],
      "refViews": [],
      "refDiagrams": [],
      "refDicts": [],
      "id": "9515A874-1E8B-448C-91CA-C4FCB2A87AFA"
    },
    {
      "defKey": "bank_model",
      "defName": "银行模块",
      "refEntities": [],
      "refViews": [],
      "refDiagrams": [],
      "refDicts": [],
      "id": "5F822080-1971-40EB-B037-938FECD50908"
    }
  ],
  "dataTypeMapping": {
    "referURL": "",
    "mappings": [
      {
        "defKey": "string",
        "id": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
        "defName": "字串",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "VARCHAR",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "VARCHAR2",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARCHAR",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "VARCHAR",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "VARCHAR",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "VARCHAR2",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "VARCHAR",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "VARCHAR",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "STRING",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "TEXT",
        "797A1496-D649-4261-89B4-544132EC3F36": "String",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "string",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "string",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "string"
      },
      {
        "defKey": "double",
        "id": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E",
        "defName": "小数",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "DECIMAL",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "DECIMAL",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "DECIMAL",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "NUMERIC",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "DECIMAL",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "DECIMAL",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "NUMERIC",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "NUMERIC",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "DOUBLE",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "REAL",
        "797A1496-D649-4261-89B4-544132EC3F36": "Double",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Double",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Double",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "decimal",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "double",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "*float64"
      },
      {
        "defKey": "int",
        "id": "1D764C4A-6F9F-421E-B11A-6F3E23B51811",
        "defName": "整数",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "INT",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INTEGER",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "INT",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "INTEGER",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "INTEGER",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "INT4",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "INT",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "INTEGER",
        "797A1496-D649-4261-89B4-544132EC3F36": "Integer",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Integer",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "float",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "int",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "*int"
      },
      {
        "defKey": "date",
        "id": "89D69E81-EA34-42EE-9FA2-93B8BD27E098",
        "defName": "日期",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "DATETIME",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "DATE",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "DATETIME",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "TIMESTAMP",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "DATE",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "DATE",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "DATE",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "DATE",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "DATETIME",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "NUMERIC",
        "797A1496-D649-4261-89B4-544132EC3F36": "Date",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Date",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Date",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "DateTime",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "timestamp",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "*time.Time"
      },
      {
        "defKey": "bytes",
        "id": "D516E75B-90F5-4741-B9B3-A186A263F04C",
        "defName": "二进制",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "BLOB",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "BLOB",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARBINARY",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "BYTEA",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "BLOB",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "BLOB",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "BYTEA",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "BYTEA",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "BINARY",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "NONE",
        "797A1496-D649-4261-89B4-544132EC3F36": "byte[]",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "byte[]",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "byte[]",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "binary",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "binary",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "[]byte"
      },
      {
        "defKey": "largeText",
        "id": "B17BDED3-085F-40E1-9019-3B79CF2BF075",
        "defName": "大文本",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "TEXT",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "CLOB",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "TEXT",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "TEXT",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "CLOB",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "CLOB",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "TEXT",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "TEXT",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "STRING",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "TEXT",
        "797A1496-D649-4261-89B4-544132EC3F36": "String",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "string",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "string",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "string"
      },
      {
        "defKey": "CHAR",
        "id": "967BFF0D-6923-4F5A-9D10-5F2BF53345A1",
        "defName": "CHAR",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "CHAR",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "CHAR",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "CHAR",
        "797A1496-D649-4261-89B4-544132EC3F36": "String",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "string",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "string",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "CHAR"
      },
      {
        "defKey": "tinyint",
        "id": "A20689B6-0ED6-45AC-995A-87A298071899",
        "defName": "小整型",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "TINYINT",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INTEGER",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "INT",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "INTEGER",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "INTEGER",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "INT4",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "INT",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "INTEGER",
        "797A1496-D649-4261-89B4-544132EC3F36": "Integer",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Integer",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "int",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "int",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "*int"
      },
      {
        "defKey": "bigint",
        "id": "71805BDD-6552-4A6C-9492-9853ED5EB2BE",
        "defName": "大整型",
        "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "BIGINT",
        "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT",
        "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT",
        "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INTEGER",
        "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "INT",
        "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "INTEGER",
        "592C7013-143D-4E7B-AF64-0D7BF1E28230": "INTEGER",
        "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "INT4",
        "11D1FB71-A587-4217-89BA-611B8A1F83E0": "INT",
        "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "INTEGER",
        "797A1496-D649-4261-89B4-544132EC3F36": "Integer",
        "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Integer",
        "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer",
        "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "Int64",
        "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "int",
        "B91D99E0-9B7C-416C-8737-B760957DAF09": "*int"
      }
    ]
  },
  "domains": [
    {
      "defKey": "DefaultString",
      "defName": "默认字串",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 255,
      "scale": "",
      "uiHint": "",
      "id": "9092C4E0-1A54-4859-ABBB-5B62DBC27573"
    },
    {
      "defKey": "IdOrKey",
      "defName": "主键标识",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 32,
      "scale": "",
      "uiHint": "",
      "id": "16120F75-6AA7-4483-868D-F07F511BB081"
    },
    {
      "defKey": "Name",
      "defName": "名称",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 90,
      "scale": "",
      "uiHint": "",
      "id": "54611CCC-CA4B-42E1-9F32-4944C85B85A6"
    },
    {
      "defKey": "Int",
      "defName": "整数",
      "applyFor": "1D764C4A-6F9F-421E-B11A-6F3E23B51811",
      "len": "",
      "scale": "",
      "uiHint": "",
      "id": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E"
    },
    {
      "defKey": "Double",
      "defName": "小数",
      "applyFor": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E",
      "len": 24,
      "scale": 6,
      "uiHint": "",
      "id": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4"
    },
    {
      "defKey": "Money",
      "defName": "金额",
      "applyFor": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E",
      "len": 24,
      "scale": 6,
      "uiHint": "",
      "id": "C3B1681B-99F9-4818-9E80-DE1652A51D85"
    },
    {
      "defKey": "DateTime",
      "defName": "日期时间",
      "applyFor": "89D69E81-EA34-42EE-9FA2-93B8BD27E098",
      "len": "",
      "scale": "",
      "uiHint": "",
      "id": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC"
    },
    {
      "defKey": "YesNo",
      "defName": "是否",
      "applyFor": "A20689B6-0ED6-45AC-995A-87A298071899",
      "len": "1",
      "scale": "",
      "uiHint": "",
      "id": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF"
    },
    {
      "defKey": "Dict",
      "defName": "数据字典",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": "32",
      "scale": "",
      "uiHint": "",
      "id": "73FD2BAD-2358-4336-B96D-45DC897BD792"
    },
    {
      "defKey": "DescText",
      "defName": "描述文本",
      "applyFor": "B17BDED3-085F-40E1-9019-3B79CF2BF075",
      "len": "",
      "scale": "",
      "uiHint": "",
      "id": "3E948CEC-3070-472C-AF92-F3CA11EC9D15"
    },
    {
      "defKey": "Short_String",
      "defName": "字串-短_ShortString",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 128,
      "scale": "",
      "id": "3797F027-C388-4227-A4B5-8C2C313944F3"
    },
    {
      "defKey": "Middle_String",
      "defName": "字串-中_MiddleString",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 1024,
      "scale": "",
      "id": "441522E8-1307-45E7-B265-3AED4DA401C7"
    },
    {
      "defKey": "Long_String",
      "defName": "字串-长_LongString",
      "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
      "len": 3096,
      "scale": "",
      "id": "48EADCC7-D93E-4CB5-AAED-88B678BE1EDB"
    }
  ],
  "diagrams": [
    {
      "defKey": "user",
      "defName": "用户关系图",
      "relationType": "field",
      "canvasData": {
        "cells": [
          {
            "id": "a252e7f2-5269-4ec2-997d-939d7081ce5f",
            "shape": "erdRelation",
            "source": {
              "cell": "7adb0479-75e6-49d2-b9a6-af9a2bc30485",
              "port": "32D79C2E-B91E-4551-A137-99B9F70108D0%in"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%out"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "f63ec7fd-a58e-47f7-9fd2-267bca30aee4",
            "shape": "erdRelation",
            "source": {
              "cell": "c771f334-c55e-4c0a-880c-f94c85fbd73f",
              "port": "61FE0B92-84D0-4CF1-B497-ED43670372E8%in"
            },
            "target": {
              "cell": "7adb0479-75e6-49d2-b9a6-af9a2bc30485",
              "port": "B1DC20B5-3820-4F0F-9710-62F45B87D2EF%in"
            },
            "relation": "1:n",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "f79e135a-bc0a-47c3-8a60-3bb4b00bcc0d",
            "shape": "erdRelation",
            "source": {
              "cell": "c771f334-c55e-4c0a-880c-f94c85fbd73f",
              "port": "2FDD5F0B-EB49-4D61-90D6-3FE9A98B7661%in"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%out"
            },
            "relation": "n:1",
            "vertices": [],
            "fillColor": "#ACDAFC"
          },
          {
            "id": "c8372c2d-78d1-4c7b-a737-82cc94f99370",
            "shape": "erdRelation",
            "source": {
              "cell": "34eed6b3-381e-4ca6-8e00-298940d2fb14",
              "port": "D1FD50C9-CE36-4471-BA33-AA4EEA750EE9%out"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%in"
            },
            "relation": "1:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "4a67ecf4-ce98-4632-a512-1d74fe34b11c",
            "shape": "erdRelation",
            "source": {
              "cell": "240a95e1-6682-46e1-aaa0-cf1b77fb24de",
              "port": "EC7650A6-EB32-4D54-B95B-EF84617269D2%out"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%in"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "24c16d1b-b4b3-41d1-90ff-611a650edb91",
            "shape": "erdRelation",
            "source": {
              "cell": "74609355-2e7d-4b79-a2cb-bbed0f578968",
              "port": "1C6B538E-49B2-4655-8C2F-DA6D04BA2986%out"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%in"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "c3d7355f-ee51-4edf-8067-1e9ccde19e12",
            "shape": "erdRelation",
            "source": {
              "cell": "30341397-6e85-44d5-92e4-ee5440861ade",
              "port": "0C8E06F1-B70B-4639-8E1D-099A2BB5428C%out"
            },
            "target": {
              "cell": "d83e5ccf-936e-4bf3-9719-78320424ef45",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%in"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "a2185e95-1168-40e0-a6d0-9da8447098d9",
            "shape": "erdRelation",
            "source": {
              "cell": "30341397-6e85-44d5-92e4-ee5440861ade",
              "port": "8E54E249-5A8B-41F6-95B9-CF5E1FE44312%in"
            },
            "target": {
              "cell": "34eed6b3-381e-4ca6-8e00-298940d2fb14",
              "port": "670DCCFF-95BE-4B93-9333-26F3A55F6AE9%in"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC"
          },
          {
            "id": "7adb0479-75e6-49d2-b9a6-af9a2bc30485",
            "shape": "table",
            "position": {
              "x": 730,
              "y": -380
            },
            "count": 0,
            "originKey": "032FE9BB-7222-43BB-AEF0-30D91B5C58E7"
          },
          {
            "id": "c771f334-c55e-4c0a-880c-f94c85fbd73f",
            "shape": "table",
            "position": {
              "x": 720,
              "y": -90
            },
            "count": 0,
            "originKey": "BFBF4C43-0B33-42DC-9D4C-6F32CCC916D4"
          },
          {
            "id": "34eed6b3-381e-4ca6-8e00-298940d2fb14",
            "shape": "table",
            "position": {
              "x": -508.5,
              "y": -30
            },
            "count": 0,
            "originKey": "CE37D044-1237-47B7-A5DE-3885271C6BD5"
          },
          {
            "id": "30341397-6e85-44d5-92e4-ee5440861ade",
            "shape": "table",
            "position": {
              "x": -390,
              "y": 260
            },
            "count": 0,
            "originKey": "679980B7-B33B-4E51-A984-F09B1CA37C2F"
          },
          {
            "id": "219e689e-7599-4305-87bf-078d7dec737f",
            "shape": "table",
            "position": {
              "x": 80,
              "y": -620
            },
            "count": 0,
            "originKey": "C592C7E6-24F0-4986-AD76-617BD01C0541"
          },
          {
            "id": "d83e5ccf-936e-4bf3-9719-78320424ef45",
            "shape": "table",
            "position": {
              "x": 20,
              "y": -140
            },
            "count": 0,
            "originKey": "DEFB16E2-1761-489E-A477-E5719163D764"
          },
          {
            "id": "74609355-2e7d-4b79-a2cb-bbed0f578968",
            "shape": "table",
            "position": {
              "x": -531.5,
              "y": -370
            },
            "count": 0,
            "originKey": "E3AF68EA-95EC-49FF-8BE5-F83525ABED2D"
          },
          {
            "id": "240a95e1-6682-46e1-aaa0-cf1b77fb24de",
            "shape": "table",
            "position": {
              "x": -528.5,
              "y": -720
            },
            "count": 0,
            "originKey": "DA07AECF-B098-44F6-8D39-F02849692F08"
          }
        ]
      },
      "id": "52F356E9-1565-472E-82F3-295AD1E79203"
    },
    {
      "defKey": "member_system",
      "defName": "会员系统",
      "relationType": "field",
      "canvasData": {
        "cells": [
          {
            "id": "76d89f7d-db33-4ade-85ab-041b7fa8f47f",
            "shape": "erdRelation",
            "source": {
              "cell": "ccd4d865-5db8-41d4-b9ea-77b251cacaff",
              "port": "CDB03EAC-6131-4F34-A8CB-D66A167BC37B%in"
            },
            "target": {
              "cell": "f8b9e3e6-eec3-43c3-b549-d7a2ab65488c",
              "port": "531C970B-62CC-464D-BA93-6A7E24369482%in"
            },
            "relation": "1:n",
            "fillColor": "#ACDAFC",
            "router": {
              "name": "manhattan"
            }
          },
          {
            "id": "f8b9e3e6-eec3-43c3-b549-d7a2ab65488c",
            "shape": "table",
            "position": {
              "x": -622,
              "y": -552
            },
            "count": 0,
            "originKey": "DEFB16E2-1761-489E-A477-E5719163D764"
          },
          {
            "id": "0fa69e1f-0ae8-4723-8337-a86e876dfaba",
            "shape": "table",
            "position": {
              "x": -192.5,
              "y": -552
            },
            "count": 0,
            "originKey": "E0C6BBE4-5E2C-4B2F-A794-2FDA1B4E9108"
          },
          {
            "id": "287cb5f9-cdc1-489a-95e7-56da008503e4",
            "shape": "table",
            "position": {
              "x": -192.5,
              "y": -320
            },
            "count": 0,
            "originKey": "696DE7B6-49A6-40BA-8A8E-CFAE08A118C3"
          },
          {
            "id": "ccd4d865-5db8-41d4-b9ea-77b251cacaff",
            "shape": "table",
            "position": {
              "x": -622,
              "y": -251
            },
            "count": 0,
            "originKey": "B6E3D1C6-BDB9-4866-BA12-8D6BDBB54922"
          }
        ]
      },
      "id": "0DC47292-3D25-4AD8-8716-70869B22EE13"
    },
    {
      "defKey": "common_system",
      "defName": "通用系统",
      "relationType": "field",
      "canvasData": {
        "cells": [
          {
            "id": "232118e7-c25c-4eb3-a8e4-3ea9d4542dfc",
            "shape": "group",
            "position": {
              "x": 380,
              "y": -200
            },
            "label": "",
            "size": {
              "width": 480,
              "height": 450
            },
            "children": [
              "dd156835-8f60-4b94-82cb-9a505484d295",
              "7fe2476c-b255-4977-a3fb-62af8670c01c",
              "1d040cac-2849-48d4-8bfd-fb4d3ba7c7f3"
            ]
          },
          {
            "id": "5ce44067-6b2d-43e1-bf70-02e519939875",
            "shape": "group",
            "position": {
              "x": 340,
              "y": 350
            },
            "label": "",
            "size": {
              "width": 540,
              "height": 430
            },
            "children": [
              "95260509-afc7-46f0-a8d3-493faa500334",
              "c658126f-eb70-43cb-a470-13a398705ebc",
              "2137288c-0ee2-46d4-904d-641f1faaf339"
            ]
          },
          {
            "id": "1d040cac-2849-48d4-8bfd-fb4d3ba7c7f3",
            "shape": "erdRelation",
            "source": {
              "cell": "7fe2476c-b255-4977-a3fb-62af8670c01c",
              "port": "60B647E2-0B71-45EA-B2F4-69A122506909%in"
            },
            "target": {
              "cell": "dd156835-8f60-4b94-82cb-9a505484d295",
              "port": "0C8CCBAE-B939-48C2-8DE3-A323E70670EC%in"
            },
            "relation": "n:1",
            "fillColor": "#ACDAFC",
            "parent": "232118e7-c25c-4eb3-a8e4-3ea9d4542dfc"
          },
          {
            "id": "2137288c-0ee2-46d4-904d-641f1faaf339",
            "shape": "erdRelation",
            "source": {
              "cell": "95260509-afc7-46f0-a8d3-493faa500334",
              "port": "46299BDF-F1C4-4650-A95A-E15FB8BAFF57%in"
            },
            "target": {
              "cell": "c658126f-eb70-43cb-a470-13a398705ebc",
              "port": "069C45B3-05DB-469D-AC89-F391015EFA49%in"
            },
            "relation": "1:n",
            "fillColor": "#ACDAFC",
            "parent": "5ce44067-6b2d-43e1-bf70-02e519939875"
          },
          {
            "id": "7fe2476c-b255-4977-a3fb-62af8670c01c",
            "shape": "table",
            "position": {
              "x": 447.50000000000045,
              "y": 38.00000000000014
            },
            "count": 0,
            "originKey": "27BA4027-5F87-433E-B03E-16BB108B35A0",
            "parent": "232118e7-c25c-4eb3-a8e4-3ea9d4542dfc"
          },
          {
            "id": "c658126f-eb70-43cb-a470-13a398705ebc",
            "shape": "table",
            "position": {
              "x": 452.5000000000002,
              "y": 369.99999999999943
            },
            "count": 0,
            "originKey": "DB812ABF-7A28-4177-9B10-4399D7D66A8C",
            "parent": "5ce44067-6b2d-43e1-bf70-02e519939875"
          },
          {
            "id": "95260509-afc7-46f0-a8d3-493faa500334",
            "shape": "table",
            "position": {
              "x": 470.0000000000002,
              "y": 551
            },
            "count": 0,
            "originKey": "F11B9F10-42D3-472F-9301-1C2F57F64BD0",
            "parent": "5ce44067-6b2d-43e1-bf70-02e519939875"
          },
          {
            "id": "5c725c75-7056-4610-a83c-671c8e6e2f16",
            "shape": "table",
            "position": {
              "x": -510,
              "y": 50
            },
            "count": 0,
            "originKey": "DFB2696B-5576-4043-898C-689E6AA03BC5"
          },
          {
            "id": "883e309f-9d2d-48e3-9d81-3220d25c8f2d",
            "shape": "table",
            "position": {
              "x": -108.5,
              "y": -61
            },
            "count": 0,
            "originKey": "4A7756B4-FF7D-48BB-9174-335FFA5966DD"
          },
          {
            "id": "b489b573-ffee-465a-824c-bd4e58ef3916",
            "shape": "table",
            "position": {
              "x": -91.5,
              "y": -200
            },
            "count": 0,
            "originKey": "642B144E-EE1D-4C96-BEBF-7D2D101E8449"
          },
          {
            "id": "157ca38c-b17b-40d9-9972-3ccb59298603",
            "shape": "table",
            "position": {
              "x": -510,
              "y": -200
            },
            "count": 0,
            "originKey": "BF4C128A-4B9B-408E-B905-DC3B314AC0DD"
          },
          {
            "id": "dd156835-8f60-4b94-82cb-9a505484d295",
            "shape": "table",
            "position": {
              "x": 430.00000000000045,
              "y": -189.99999999999986
            },
            "count": 0,
            "originKey": "CB6F38E6-948A-42E1-B7A7-BCB690F7A0DC",
            "parent": "232118e7-c25c-4eb3-a8e4-3ea9d4542dfc"
          },
          {
            "id": "5c8b5e14-83b4-4a08-84df-894e1ae19f8d",
            "shape": "table",
            "position": {
              "x": -112,
              "y": 522
            },
            "count": 0,
            "originKey": "B21EB98B-FD11-4934-B5DB-AEED5AFB59ED"
          },
          {
            "id": "1ac136bc-5f09-45d4-b5d4-4cdeedfe9723",
            "shape": "table",
            "position": {
              "x": -109.5,
              "y": 210
            },
            "count": 0,
            "originKey": "B38E1679-609F-4DBA-A3EB-B348927E7C7F"
          },
          {
            "id": "d725e4e5-a11a-4eef-99eb-a255f76a8bd4",
            "shape": "table",
            "position": {
              "x": -510,
              "y": 291
            },
            "count": 0,
            "originKey": "0E015CEB-A40C-4EC1-9685-32A9DC30DD74"
          }
        ]
      },
      "id": "EC39B23B-8754-4FB7-8829-6BD7DBD2962C"
    }
  ],
  "standardFields": [
    {
      "defKey": "personInfo",
      "defName": "个人基本信息要素",
      "fields": [
        {
          "defKey": "ID_CARD_NO",
          "defName": "身份证号",
          "comment": "",
          "type": "VARCHAR",
          "len": "60",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "uiHint": "",
          "id": "A64A91C8-A41F-4113-92FB-7563D7EF054D"
        },
        {
          "defKey": "MOBILE_PHONE",
          "defName": "手机号",
          "comment": "",
          "type": "VARCHAR",
          "len": "60",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "uiHint": "",
          "id": "479DA2AB-1974-411A-A81E-92FB939E75EB"
        },
        {
          "defKey": "GENDER",
          "defName": "性别",
          "comment": "",
          "type": "VARCHAR",
          "len": "32",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "refDict": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D",
          "uiHint": "",
          "id": "48473E29-6594-4912-AADE-C8AB44FCA3E9"
        },
        {
          "defKey": "BIRTH",
          "defName": "出生日期",
          "comment": "",
          "type": "DATETIME",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC",
          "refDict": "",
          "uiHint": "",
          "id": "2BD3D2EE-2411-49A6-983D-84B81057312F"
        },
        {
          "defKey": "AVATAR",
          "defName": "头像",
          "comment": "",
          "type": "VARCHAR",
          "len": "60",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "uiHint": "",
          "id": "FDD67CEE-4B52-4BD1-A1A3-9C5EBC6037E6"
        },
        {
          "defKey": "HEIGHT",
          "defName": "身高",
          "comment": "",
          "type": "INT",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "uiHint": "",
          "id": "CAAA0E79-41A1-4758-B481-D171168C4D68"
        },
        {
          "defKey": "WEIGHT",
          "defName": "体重",
          "comment": "",
          "type": "INT",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E",
          "refDict": "",
          "uiHint": "",
          "id": "575482CE-64A6-4CB9-99DC-8E126D190AAA"
        },
        {
          "defKey": "NATION",
          "defName": "名族",
          "comment": "",
          "type": "VARCHAR",
          "len": "32",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "refDict": "115EDEFC-0323-410E-81AB-CCAB8879837A",
          "uiHint": "",
          "id": "15B0D75D-0B97-4985-A816-D0EAFA90446B"
        },
        {
          "defKey": "POLITICAL",
          "defName": "政治面貌",
          "comment": "",
          "type": "VARCHAR",
          "len": "32",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "refDict": "06EED564-BBA9-4747-8D73-AF809A330CB8",
          "uiHint": "",
          "id": "F458E86D-84D6-45A1-9DD3-51E6C8170D7F"
        },
        {
          "defKey": "MARITAL",
          "defName": "婚姻状况",
          "comment": "",
          "type": "VARCHAR",
          "len": "32",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "refDict": "EA1587B7-3954-437A-BFE0-FCB0453BCABA",
          "uiHint": "",
          "id": "7275E578-6893-4922-AC69-95B261BFBD61"
        },
        {
          "defKey": "DOMICILE_PLACE_PROVINCE",
          "defName": "籍贯（省）",
          "comment": "",
          "type": "VARCHAR",
          "len": "60",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "uiHint": "",
          "id": "F04BF130-3EC1-4E02-9DED-3214CA88E352"
        },
        {
          "defKey": "DOMICILE_PLACE_CITY",
          "defName": "籍贯（市）",
          "comment": "",
          "type": "VARCHAR",
          "len": "32",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792",
          "refDict": "",
          "uiHint": "",
          "id": "B97F5BC2-33DE-4857-9DB8-ECFD02C9040C"
        },
        {
          "defKey": "DOMICILE_PLACE_ADDRESS",
          "defName": "户籍地址",
          "comment": "",
          "type": "VARCHAR",
          "len": "60",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573",
          "refDict": "",
          "uiHint": "",
          "id": "812ADF1D-8C03-40CA-B030-E539838FB889"
        }
      ],
      "id": "F30202B9-4B5D-4CE7-87CE-B3890C84D3F2"
    }
  ],
  "dbConn": [
    {
      "defKey": "2D0B5822-98C1-495C-87D8-FC48FC72E24C",
      "defName": "gzzs-local",
      "type": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E",
      "properties": {
        "driver_class_name": "com.mysql.cj.jdbc.Driver",
        "url": "jdbc:mysql://127.0.0.1:3306/gzzs?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
        "password": "123456",
        "username": "root"
      }
    },
    {
      "defKey": "944E8B87-7739-4F4D-BC44-4E798DEE552B",
      "defName": "47db_gz",
      "type": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E",
      "properties": {
        "driver_class_name": "com.mysql.cj.jdbc.Driver",
        "url": "jdbc:mysql://121.37.214.51:3306/guangzuan?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
        "password": "12345abcda",
        "username": "guangzuan"
      }
    }
  ]
}