繁星3.0.sql 29.2 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
-- s_task 任务信息表

CREATE TABLE IF NOT EXISTS s_task
(
    id              BIGINT       NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid            VARCHAR(36)  NOT NULL DEFAULT (UUID()),
    -- 任务名称不能重复
    name            VARCHAR(128) NOT NULL UNIQUE COMMENT '任务名称',
    alg_type        VARCHAR(36)  NOT NULL COMMENT '算法类型',
    alg_enabled     VARCHAR(1024) COMMENT '已启用的算法类型',
    resource_need   FLOAT        NOT NULL COMMENT '任务所需资源数量',
    priority        INT          NOT NULL DEFAULT 0 COMMENT '任务优先级',
    store_config_id BIGINT       NOT NULL COMMENT '存储配置id',
    va_type         VARCHAR(36) COMMENT '算法分析设备类型',
    runtime_type    INT          NOT NULL DEFAULT 0 COMMENT '任务执行时间类型,全天分时段等',
    runtime_conf    TEXT COMMENT '任务执行时间段的配置',
    device_unid     VARCHAR(36) COMMENT '相机设备unid',
    channel_unid    VARCHAR(36) COMMENT '相机通道unid',
    stream_path     VARCHAR(1024) COMMENT '视频流地址',
    stream_type     INT COMMENT '视频流类型',
    scene           TEXT COMMENT '场景配置,包含画线预置位等',
    create_time     TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status          INT          NOT NULL DEFAULT 0 COMMENT '任务状态',
    INDEX s_task_unid_idx (unid)
);


-- s_store_config 存储配置表

CREATE TABLE IF NOT EXISTS s_store_config
(
    id             BIGINT       NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid           VARCHAR(36)  NOT NULL DEFAULT (UUID()),
    name           VARCHAR(256) NOT NULL COMMENT '存储配置名称',
    content_format INT          NOT NULL COMMENT '配置内容格式,如xml',
    content        TEXT         NOT NULL COMMENT '配置内容',
    create_time    TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status         INT          NOT NULL DEFAULT 0 COMMENT '状态',
    INDEX s_store_config_unid_idx (unid)
);


-- s_forward 转发信息表

CREATE TABLE IF NOT EXISTS s_forward
(
    id             BIGINT        NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid           VARCHAR(36)   NOT NULL DEFAULT (UUID()),
    name           VARCHAR(256)  NOT NULL COMMENT '转发名称',
    url            VARCHAR(1024) NOT NULL COMMENT '转发地址',
    total          BIGINT        NOT NULL DEFAULT 0 COMMENT '转发数据总量',
    failed         BIGINT        NOT NULL DEFAULT 0 COMMENT '失败数量',
    last_send_time TIMESTAMP COMMENT '最后发送时间',
    create_time    TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status         INT           NOT NULL DEFAULT 0 COMMENT '状态'
);


-- s_forward_config 转发配置表

CREATE TABLE IF NOT EXISTS s_forward_config
(
    id         BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid       VARCHAR(36) NOT NULL DEFAULT (UUID()),
    forward_id BIGINT      NOT NULL COMMENT '转发信息id',
    event_cate VARCHAR(36) NOT NULL,
    event_type VARCHAR(36) NOT NULL,
    INDEX s_forward_config_forward_id_idx (forward_id)
);


-- d_traffic

CREATE TABLE IF NOT EXISTS d_traffic
(
    id                             BIGINT      NOT NULL AUTO_INCREMENT,
    unid                           VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id                        BIGINT COMMENT '任务id',
    event_cate                     VARCHAR(36),
    event_type                     VARCHAR(36),
    event_time                     TIMESTAMP   NOT NULL COMMENT '事件时间',
    channel_unid                   VARCHAR(36) COMMENT '通道unid',
    plate_color                    VARCHAR(36) COMMENT '车牌颜色',
    plate_number                   VARCHAR(36) COMMENT '车牌号码',
    location_code                  VARCHAR(36) COMMENT '位置编码',
    location_name                  VARCHAR(500) COMMENT '位置名称',
    lane_code                      VARCHAR(36) COMMENT '车道编码',
    direction_code                 VARCHAR(36) COMMENT '卡口方向',
    vehicle_type                   VARCHAR(36) COMMENT '车辆类型',
    vehicle_color                  VARCHAR(36) COMMENT '车身颜色',
    vehicle_logo                   VARCHAR(36) COMMENT '车标编码',
    illegal_code                   VARCHAR(36) COMMENT '违法行为',
    illegal_state                  INT COMMENT '违法行为是否可用',
    company                        VARCHAR(36) comment '外卖/快递公司',
    feature_annual_inspection_mark SMALLINT             DEFAULT 0 COMMENT '年检标',
    feature_pendant                SMALLINT             DEFAULT 0 COMMENT '吊坠',
    feature_decoration             SMALLINT             DEFAULT 0 COMMENT '摆件',
    feature_sun_shield             SMALLINT             DEFAULT 0 COMMENT '遮阳板',
    xcycle_type                    VARCHAR(36) COMMENT '非机动车类型',
    event_id                       VARCHAR(64) COMMENT '事件唯一id',
    special_type                   VARCHAR(36),
    with_helmet                    INT COMMENT '是否戴头盔0不带',
    json_data                      TEXT COMMENT '原始数据',
    pics                           VARCHAR(2048),
    video_name                     VARCHAR(256),
    status                         INT         NOT NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (id, event_time),
    INDEX d_traffic_unid_idx (unid),
    INDEX d_traffic_select_idx (event_time, event_type, vehicle_type)
);

-- d_traffic_face

CREATE TABLE IF NOT EXISTS d_traffic_face
(
    id          BIGINT      NOT NULL AUTO_INCREMENT,
    unid        VARCHAR(36) NOT NULL DEFAULT (UUID()),
    traffic_id  BIGINT      NOT NULL COMMENT 'trafficId',
    event_time  TIMESTAMP   NOT NULL COMMENT '事件时间',
    state       SMALLINT    NOT NULL DEFAULT 1,
    sex         SMALLINT    NOT NULL DEFAULT 0,
    upper_color VARCHAR(36),
    lower_color VARCHAR(36),
    INDEX traffic_face_traffic_id_idx (traffic_id),
    PRIMARY KEY (id, event_time)
);

-- d_flow_data

CREATE TABLE IF NOT EXISTS d_flow_data
(
    id               BIGINT      NOT NULL AUTO_INCREMENT,
    unid             VARCHAR(36) NOT NULL DEFAULT (UUID()),
    flow_event_id    BIGINT COMMENT 'eventId',
    task_id          BIGINT,
    detection_type   VARCHAR(36) COMMENT '检测类型(bus,big_vehicle,xcycle等)',
    road_code        VARCHAR(36) COMMENT '道路编码',
    direction_code   VARCHAR(36) COMMENT '方向编码',
    sample_dura      BIGINT,
    sample_num       FLOAT,
    velocity         FLOAT COMMENT '速率',
    velocity_unit    VARCHAR(16) COMMENT '速率单位',
    occupy           FLOAT COMMENT '车道占有率',
    distance         FLOAT COMMENT '车头间距',
    queue_length     FLOAT COMMENT '车辆排队长度',
    region_id        VARCHAR(36),
    region_name      VARCHAR(128),
    position_content TEXT,
    head_content     TEXT,
    area             FLOAT,
    density          FLOAT,
    sample_num_in    FLOAT,
    sample_num_out   FLOAT,
    event_time       TIMESTAMP,
    dist_time        FLOAT,
    time_occupy      FLOAT,
    status           INT         NOT NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (id, event_time),
    INDEX flow_data_select_idx (flow_event_id)
);


-- d_flow_event

CREATE TABLE IF NOT EXISTS d_flow_event
(
    id            BIGINT      NOT NULL AUTO_INCREMENT,
    unid          VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id       BIGINT COMMENT '任务id',
    channel_unid  VARCHAR(64) COMMENT '设备通道unid',
    event_type    VARCHAR(36),
    event_time    TIMESTAMP COMMENT '事件时间',
    event_id      VARCHAR(64) COMMENT '事件唯一id',
    device_code   VARCHAR(36),
    device_name   VARCHAR(64),
    location_code VARCHAR(36),
    location_name VARCHAR(64),
    json_data     TEXT,
    pics          VARCHAR(2048),
    video_name    VARCHAR(256),
    PRIMARY KEY (id, event_time),
    INDEX flow_event_select_idx (event_time, event_type, channel_unid, task_id)
);


-- d_behavior

CREATE TABLE IF NOT EXISTS d_behavior
(
    id             BIGINT      NOT NULL AUTO_INCREMENT,
    unid           VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id        BIGINT,
    event_type     VARCHAR(36),
    event_cate     VARCHAR(36),
    event_refid    VARCHAR(64),
    event_time     TIMESTAMP,
    event_data     TEXT,
    pics           VARCHAR(2048),
    video          TEXT,
    channel_unid   VARCHAR(36),
    task_name      VARCHAR(128),
    event_data_num VARCHAR(36),
    PRIMARY KEY (id, event_time),
    INDEX behavior_select_idx (event_time, event_type, event_cate)
);

-- s_dict_cate

CREATE TABLE IF NOT EXISTS s_dict_cate
(
    id   BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid VARCHAR(36) NOT NULL DEFAULT (UUID()),
    type VARCHAR(36) COMMENT '分类',
    code VARCHAR(36) COMMENT 'cate编码',
    name VARCHAR(36) NOT NULL COMMENT 'cate名称',
    note VARCHAR(36) COMMENT '注释',
    INDEX s_dict_cate_type_idx (type)
);


--  s_dict_code

CREATE TABLE IF NOT EXISTS s_dict_code
(
    id        BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid      VARCHAR(36) NOT NULL DEFAULT (UUID()),
    cate_id   BIGINT      NOT NULL,
    parent_id BIGINT COMMENT '上级code的id',
    code      VARCHAR(36) COMMENT 'code编码',
    name      VARCHAR(36) NOT NULL COMMENT 'code名称',
    note      VARCHAR(36) COMMENT '注释',
    CONSTRAINT `s_dict_code_cate_id_frk` FOREIGN KEY (`cate_id`) REFERENCES `fanxing3`.`s_dict_cate` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    INDEX s_dict_code_idx (cate_id)
);

--  s_channel

CREATE TABLE IF NOT EXISTS s_channel
(
    id           BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid         VARCHAR(36) NOT NULL DEFAULT (UUID()),
    -- 设备unid不能重复
    channel_unid VARCHAR(64) NOT NULL UNIQUE COMMENT '设备中每一路视频通道本身的编码',
    device_unid  VARCHAR(64) COMMENT '设备自身的编码',
    type         INT         NOT NULL default 0 COMMENT '设备信息来源类型,0手动添加,1平台拉取,2视频资源上传',
    device_type  VARCHAR(36) COMMENT '设备类型,对应字典表中device_type',
    stream_type  INT COMMENT '视频流类型,例如rtsp,http,rtmp等',
    stream_path  VARCHAR(1024) COMMENT '视频流地址',
    username     VARCHAR(36) COMMENT '获取视频流所需的用户名',
    password     VARCHAR(64) COMMENT '获取视频流所需的密码',
    brand        varchar(64) COMMENT '品牌/厂家',
    direction    varchar(64) COMMENT '方向',
    address_unid VARCHAR(36) COMMENT '绑定的组织结构,组织结构在字典表中',
    -- 设备名称不能重复
    name         VARCHAR(128) UNIQUE COMMENT '名称',
    ip           VARCHAR(36) COMMENT 'ip地址',
    port         INT COMMENT '端口号',
    expand       VARCHAR(128) COMMENT '扩展字段,保存一些不重要的信息',
    longitude    FLOAT,
    latitude     FLOAT,
    status       INT         NOT NULL DEFAULT 0,
    create_time  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    INDEX s_channel_unid_idx (unid)
);

-- r_channel_tag

CREATE TABLE IF NOT EXISTS r_channel_tag
(
    id         BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    channel_id BIGINT      NOT NULL COMMENT '对应channel表的id',
    tag        VARCHAR(36) NOT NULL COMMENT 'tag也在字典表中',

    CONSTRAINT `r_channel_tag_channel_id_frk` FOREIGN KEY (`channel_id`) REFERENCES `fanxing3`.`s_channel` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    INDEX r_channel_tag_channel_id_idx (channel_id),
    INDEX r_channel_tag_tag_id_idx (tag)
);

-- s_content

CREATE TABLE IF NOT EXISTS s_content
(
    id      BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid    VARCHAR(36) NOT NULL DEFAULT (UUID()),
    name    VARCHAR(64) NOT NULL COMMENT '名称',
    type    VARCHAR(32) COMMENT '分组',
    content TEXT COMMENT '内容',
    unique key `s_content_type_name_unique` (type, name)
);
insert into s_content(name, content, type)
values ('defaultConfig',
        '<?xml version="1.0" encoding="GBK"?><root><算法参数设置><车牌识别><车牌缩放比率>0.8000</车牌缩放比率><本地车牌首字母>1</本地车牌首字母><车牌最小宽度>60</车牌最小宽度><车牌最大宽度>180</车牌最大宽度><本地汉字>20</本地汉字><是否识别新能源车牌>0</是否识别新能源车牌></车牌识别><是否启用高速模式>0</是否启用高速模式><调试信息><字体大小>20</字体大小><是否显示Scale>0</是否显示Scale><是否显示耗时>0</是否显示耗时><是否显示版本>0</是否显示版本></调试信息><车牌宽度范围设定方法>1</车牌宽度范围设定方法></算法参数设置><短时录像设置><启用>1</启用><是否画框>1</是否画框><向前录像时间>10</向前录像时间><向后录像时间>10</向后录像时间><录像最大缓存时间>100</录像最大缓存时间></短时录像设置><功能配置><抓拍参数配置><路口电警><卡口><输出卡口图片>1</输出卡口图片><卡口抓两张图>0</卡口抓两张图><上行物体不输出卡口结果>0</上行物体不输出卡口结果><下行物体不输出卡口结果>0</下行物体不输出卡口结果><无牌车辆不输出卡口结果>0</无牌车辆不输出卡口结果><行人非机动车不输出卡口结果>0</行人非机动车不输出卡口结果></卡口></路口电警></抓拍参数配置></功能配置><车辆属性识别><识别车辆类型>1</识别车辆类型><识别车标>1</识别车标><识别车身颜色>1</识别车身颜色><识别驾驶员>1</识别驾驶员><识别危险品标识>1</识别危险品标识></车辆属性识别></root>',
        'defaultConfig');
insert into s_content(name, content, type)
values ('defaultConfigTemplate',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><启用><AttribType>4</AttribType><AttribInfo>是否开启录像</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></启用><是否画框><AttribType>4</AttribType><AttribInfo>是否画框</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画框><向前录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向前录像时间><向后录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向后录像时间><录像最大缓存时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>60</AttribDefault><AttribRange>0-1000</AttribRange></录像最大缓存时间></短时录像设置><车辆属性识别><识别车辆类型><AttribType>4</AttribType><AttribInfo>识别车辆类型</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车辆类型><识别车标><AttribType>4</AttribType><AttribInfo>识别车标</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车标><识别车身颜色><AttribType>4</AttribType><AttribInfo>识别车身颜色</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车身颜色><识别驾驶员><AttribType>4</AttribType><AttribInfo>识别驾驶员</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别驾驶员><识别危险品标识><AttribType>4</AttribType><AttribInfo>识别危险品标识</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别危险品标识></车辆属性识别><功能配置><抓拍参数配置><路口电警><卡口><输出卡口图片><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></输出卡口图片><卡口抓两张图><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></卡口抓两张图><上行物体不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></上行物体不输出卡口结果><下行物体不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></下行物体不输出卡口结果><无牌车辆不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></无牌车辆不输出卡口结果><行人非机动车不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></行人非机动车不输出卡口结果></卡口></路口电警></抓拍参数配置></功能配置><算法参数设置><是否启用高速模式><AttribType>4</AttribType><AttribInfo>应用于车辆通常速度较高且视频卡顿场景</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></是否启用高速模式><车牌识别><车牌缩放比率><AttribType>1</AttribType><AttribInfo>适用非机动车和摩托车,车牌宽目标40-80像素</AttribInfo><AttribDefault>0.800000</AttribDefault><AttribRange>0.300000-3.000000</AttribRange></车牌缩放比率><本地车牌首字母><AttribType>3</AttribType><AttribInfo>只摩托车</AttribInfo><AttribDefault>0</AttribDefault><AttribRange>26:0-A&amp;1-B&amp;2-C&amp;3-D&amp;4-E&amp;5-F&amp;6-G&amp;7-H&amp;8-I&amp;9-J&amp;10-K&amp;11-L&amp;12-M&amp;13-N&amp;14-O&amp;15-P&amp;16-Q&amp;17-R&amp;18-S&amp;19-T&amp;20-U&amp;21-V&amp;22-W&amp;23-X&amp;24-Y&amp;25-Z</AttribRange></本地车牌首字母><车牌最小宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>90</AttribDefault><AttribRange>60-230</AttribRange></车牌最小宽度><车牌最大宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>130</AttribDefault><AttribRange>60-230</AttribRange></车牌最大宽度><本地汉字><AttribType>3</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange>31:0-京&amp;1-沪&amp;2-津&amp;3-渝&amp;4-冀&amp;5-晋&amp;6-蒙&amp;7-辽&amp;8-吉&amp;9-黑&amp;10-苏&amp;11-浙&amp;12-皖&amp;13-闽&amp;14-赣&amp;15-鲁&amp;16-豫&amp;17-鄂&amp;18-湘&amp;19-粤&amp;20-桂&amp;21-琼&amp;22-川&amp;23-贵&amp;24-云&amp;25-藏&amp;26-陕&amp;27-甘&amp;28-青&amp;29-宁&amp;30-新</AttribRange></本地汉字><是否识别新能源车牌><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></是否识别新能源车牌></车牌识别><调试信息><字体大小><AttribType>0</AttribType><AttribInfo>root\算法参数设置\调试信息\字体大小</AttribInfo><AttribDefault>20</AttribDefault><AttribRange>10-100</AttribRange></字体大小><是否显示Scale><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示Scale><是否显示耗时><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示耗时><是否显示版本><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示版本></调试信息></算法参数设置><车牌宽度范围设定方法><AttribType>3</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange>2:0-手动设置&amp;1-自动计算</AttribRange></车牌宽度范围设定方法></root>',
        'defaultConfig');
insert into s_content(name, content, type)
values ('illegalStopDefaultConfig',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><录像最大缓存时间>200</录像最大缓存时间><向前录像时间>180</向前录像时间><向后录像时间>20</向后录像时间><启用>0</启用><是否画框>0</是否画框></短时录像设置><算法参数设置><是否输出无牌结果>1</是否输出无牌结果><车牌识别><本地汉字>0</本地汉字><车牌最小宽度>60</车牌最小宽度><车牌最大宽度>150</车牌最大宽度><是否识别新能源车牌>0</是否识别新能源车牌></车牌识别><车头检测分数阈值>50</车头检测分数阈值><车尾检测分数阈值>50</车尾检测分数阈值><是否画检测区域>0</是否画检测区域><同时计时抓拍>0</同时计时抓拍><违法图片间隔时间-秒><时间1>10</时间1><时间2>160</时间2><时间3>10</时间3></违法图片间隔时间-秒></算法参数设置><动态跟踪参数><使用球机3D定位-重启生效>0</使用球机3D定位-重启生效></动态跟踪参数><车辆属性识别><识别车辆类型>0</识别车辆类型><识别车标>0</识别车标><识别车身颜色>0</识别车身颜色><识别驾驶员>0</识别驾驶员><识别危险品标识>0</识别危险品标识></车辆属性识别></root>',
        'defaultConfig');
insert into s_content(name, content, type)
values ('illegalStopDefaultConfigTemplate',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><启用><AttribType>4</AttribType><AttribInfo>是否开启录像</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></启用><是否画框><AttribType>4</AttribType><AttribInfo>是否画框</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画框><向前录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向前录像时间><向后录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向后录像时间><录像最大缓存时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>60</AttribDefault><AttribRange>0-1000</AttribRange></录像最大缓存时间></短时录像设置><车辆属性识别><识别车辆类型><AttribType>4</AttribType><AttribInfo>识别车辆类型</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车辆类型><识别车标><AttribType>4</AttribType><AttribInfo>识别车标</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车标><识别车身颜色><AttribType>4</AttribType><AttribInfo>识别车身颜色</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车身颜色><识别驾驶员><AttribType>4</AttribType><AttribInfo>识别驾驶员</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别驾驶员><识别危险品标识><AttribType>4</AttribType><AttribInfo>识别危险品标识</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别危险品标识></车辆属性识别><算法功能><是否开启车牌验证同一辆车><AttribType>4</AttribType><AttribInfo>是否开启车牌验证同一辆车</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否开启车牌验证同一辆车></算法功能><算法参数设置><抓拍前等待时间-秒><AttribType>0</AttribType><AttribInfo>抓拍前等待时间</AttribInfo><AttribDefault>2</AttribDefault><AttribRange>0-600</AttribRange></抓拍前等待时间-秒><违法图片间隔时间-秒><时间1><AttribType>0</AttribType><AttribInfo>图1图2间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间1><时间2><AttribType>0</AttribType><AttribInfo>图2图3间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间2><时间3><AttribType>0</AttribType><AttribInfo>图3图4间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间3></违法图片间隔时间-秒><同时计时抓拍><AttribType>4</AttribType><AttribInfo>同时计时抓拍</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></同时计时抓拍><车头检测分数阈值><AttribType>0</AttribType><AttribInfo>车检分数阈值</AttribInfo><AttribDefault>50</AttribDefault><AttribRange>10-100</AttribRange></车头检测分数阈值><车尾检测分数阈值><AttribType>0</AttribType><AttribInfo>车检分数阈值</AttribInfo><AttribDefault>50</AttribDefault><AttribRange>10-100</AttribRange></车尾检测分数阈值><是否画检测区域><AttribType>4</AttribType><AttribInfo>是否画检测区域</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画检测区域><是否输出无牌结果><AttribType>4</AttribType><AttribInfo>是否输出无牌结果</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否输出无牌结果><调试信息><字体大小><AttribType>0</AttribType><AttribInfo/><AttribDefault>20</AttribDefault><AttribRange>10-100</AttribRange></字体大小><是否显示Scale><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示Scale><是否显示耗时><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示耗时><是否显示版本><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示版本></调试信息><车牌识别><本地汉字><AttribType>3</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange>31:0-京&amp;1-沪&amp;2-津&amp;3-渝&amp;4-冀&amp;5-晋&amp;6-蒙&amp;7-辽&amp;8-吉&amp;9-黑&amp;10-苏&amp;11-浙&amp;12-皖&amp;13-闽&amp;14-赣&amp;15-鲁&amp;16-豫&amp;17-鄂&amp;18-湘&amp;19-粤&amp;20-桂&amp;21-琼&amp;22-川&amp;23-贵&amp;24-云&amp;25-藏&amp;26-陕&amp;27-甘&amp;28-青&amp;29-宁&amp;30-新</AttribRange></本地汉字><车牌最小宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>90</AttribDefault><AttribRange>60-230</AttribRange></车牌最小宽度><车牌最大宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>130</AttribDefault><AttribRange>60-230</AttribRange></车牌最大宽度><是否识别新能源车牌><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></是否识别新能源车牌></车牌识别></算法参数设置><动态跟踪参数><使用球机3D定位-重启生效><AttribType>4</AttribType><AttribInfo>使用球机3D定位</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></使用球机3D定位-重启生效></动态跟踪参数></root>',
        'defaultConfig');
insert into s_content(type, name, content)
values ('platformConfig', 'imageKeepConfig', '{"type":1,"keep":7,"rate":75}');

-- 日志表
CREATE TABLE IF NOT EXISTS s_log
(
    id        BIGINT    NOT NULL PRIMARY KEY AUTO_INCREMENT,
    date_time timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT '时间',
    username  VARCHAR(32) COMMENT '用户名',
    log_type  int       not null default -1 comment '操作类型',
    content   varchar(256) COMMENT '内容',
    INDEX s_log_date_time_idx (date_time)
);

-- 数据导出表
CREATE TABLE IF NOT exists d_export_data
(
    id          BIGINT       NOT NULL PRIMARY KEY AUTO_INCREMENT,
    create_time timestamp    NOT NULL default CURRENT_TIMESTAMP COMMENT '时间',
    name        varchar(64) COMMENT '名称',
    type        int          not null comment '数据类型',
    count       bigint       not null default 0 comment '数量',
    with_pic    int          not null default 0 comment '下载图片',
    with_video  int          not null default 0 comment '下载视频',
    param       varchar(256) not null comment '参数',
    path        varchar(512) comment '导出文件列表',
    status      int          not null default 0 comment '状态'
);


-- 分表
alter TABLE d_traffic PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_traffic20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_traffic_face PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_traffic_face20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_flow_event PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_flow_event20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_flow_data PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_flow_data20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_behavior PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_behavior20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );

delimiter $$
DROP PROCEDURE IF EXISTS timestamp_partition
$$
CREATE PROCEDURE timestamp_partition(v_table_name VARCHAR(128), v_schema VARCHAR(128))
BEGIN
    DECLARE v_sysdate date; # 声明 当前时间
    DECLARE v_mindate date; # 声明 目前分区的最小值
    DECLARE v_maxdate date; # 声明 目前分区值中的最大值
    DECLARE v_pt varchar(20); # 声明 分区名称 数字部分
    DECLARE v_maxval varchar(20);
    # 声明 最大值

    -- 增加新分区
    SELECT max(CAST(FROM_UNIXTIME(partition_description) as date)) AS val
    INTO v_maxdate
    FROM INFORMATION_SCHEMA.PARTITIONS
    WHERE TABLE_NAME = v_table_name
      AND TABLE_SCHEMA = v_schema;

    set v_sysdate = sysdate();
    # 赋值v_sysdate为当前时间

    -- INTERVAL 时间计算的关键字
    WHILE v_maxdate <= (v_sysdate + INTERVAL 7 DAY)
        DO
            SET v_pt = date_format(v_maxdate, '%Y%m%d');
            SET v_maxval = date_format(v_maxdate + INTERVAL 1 DAY, '%Y-%m-%d');
            SET @sql = concat('alter table ', v_table_name, ' add partition (partition ', v_table_name, v_pt,
                              ' values less than(UNIX_TIMESTAMP(''', v_maxval, ''')))');
            PREPARE stmt FROM @sql;
            EXECUTE stmt;
            -- 删除预处理
            DEALLOCATE PREPARE stmt;
            SET v_maxdate = v_maxdate + INTERVAL 1 DAY; # 最大值 加一操作
        END WHILE;
END$$
delimiter ;

-- 创建定时任务
delimiter $$
drop event if exists auto_pt $$
create event auto_pt
    on schedule
        every 1 day
    do
    BEGIN
        call timestamp_partition('d_traffic', '{schema}');
        call timestamp_partition('d_behavior', '{schema}');
        call timestamp_partition('d_flow_event', '{schema}');
        call timestamp_partition('d_flow_data', '{schema}');
        call timestamp_partition('d_traffic_face', '{schema}');
    END$$
delimiter ;