- 新增 yudao-module-ocr 模块 - OCR API 模块:定义 Feign 接口和 DTO - OCR Server 模块:实现行驶证识别功能 - 集成百度 OCR SDK - 支持多厂商扩展(百度/腾讯/阿里云) - 新增车辆上牌管理功能 - 数据库表:asset_vehicle_registration - 完整的 CRUD 接口 - 行驶证识别接口(集成 OCR) - 车辆匹配功能(根据 VIN) - 确认上牌功能(更新车辆信息) - 技术实现 - 遵循 BPM/System 模块的 RPC API 模式 - 使用 Feign 实现服务间调用 - Base64 编码传输图片数据 - 统一返回格式 CommonResult<T> - 文档 - OCR 模块使用文档 - OCR 部署指南 - 车辆上牌管理总结 - API 集成规划和总结
82 lines
3.7 KiB
SQL
82 lines
3.7 KiB
SQL
-- 车辆上牌记录表
|
||
CREATE TABLE IF NOT EXISTS `asset_vehicle_registration` (
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`vehicle_id` BIGINT NOT NULL COMMENT '车辆ID',
|
||
`vin` VARCHAR(50) NOT NULL COMMENT '车辆识别代号(VIN)',
|
||
`plate_no` VARCHAR(20) NOT NULL COMMENT '车牌号',
|
||
`plate_date` DATE NOT NULL COMMENT '上牌日期',
|
||
`operator` VARCHAR(50) COMMENT '操作员',
|
||
|
||
-- OCR 识别信息
|
||
`recognized_brand` VARCHAR(100) COMMENT 'OCR识别的品牌型号',
|
||
`recognized_model` VARCHAR(100) COMMENT 'OCR识别的车型',
|
||
`vehicle_type` VARCHAR(50) COMMENT '车辆类型',
|
||
`owner` VARCHAR(100) COMMENT '所有人',
|
||
`use_character` VARCHAR(50) COMMENT '使用性质',
|
||
`engine_no` VARCHAR(50) COMMENT '发动机号码',
|
||
`register_date` DATE COMMENT '注册日期',
|
||
`issue_date` DATE COMMENT '发证日期',
|
||
`inspection_record` VARCHAR(50) COMMENT '检验记录',
|
||
`scrap_date` DATE COMMENT '强制报废期止',
|
||
`curb_weight` VARCHAR(20) COMMENT '整备质量(kg)',
|
||
`total_mass` VARCHAR(20) COMMENT '总质量(kg)',
|
||
`approved_passenger_capacity` VARCHAR(20) COMMENT '核定载人数',
|
||
|
||
-- 匹配信息
|
||
`vehicle_model_id` BIGINT COMMENT '匹配的车型ID',
|
||
`match_confidence` DECIMAL(5,2) COMMENT '匹配置信度(0-100)',
|
||
`match_method` VARCHAR(20) COMMENT '匹配方式(exact/fuzzy/manual)',
|
||
|
||
-- 照片信息
|
||
`photo_url` VARCHAR(500) COMMENT '行驶证照片URL',
|
||
`photo_size` INT COMMENT '照片大小(字节)',
|
||
|
||
-- OCR 信息
|
||
`ocr_provider` VARCHAR(50) COMMENT 'OCR厂商',
|
||
`ocr_cost_time` INT COMMENT 'OCR识别耗时(毫秒)',
|
||
`ocr_raw_result` TEXT COMMENT 'OCR原始结果(JSON)',
|
||
|
||
-- 状态信息
|
||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0-待确认 1-已确认 2-已作废)',
|
||
`remark` VARCHAR(500) COMMENT '备注',
|
||
|
||
-- 审计字段
|
||
`creator` VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updater` VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
`deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||
`tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_vehicle_plate` (`vehicle_id`, `plate_no`, `deleted`),
|
||
INDEX `idx_vin` (`vin`),
|
||
INDEX `idx_plate_no` (`plate_no`),
|
||
INDEX `idx_plate_date` (`plate_date`),
|
||
INDEX `idx_status` (`status`),
|
||
INDEX `idx_create_time` (`create_time`),
|
||
INDEX `idx_tenant_id` (`tenant_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='车辆上牌记录表';
|
||
|
||
-- 菜单 SQL
|
||
INSERT INTO system_menu(
|
||
name, permission, type, sort, parent_id,
|
||
path, icon, component, status, component_name
|
||
)
|
||
VALUES (
|
||
'上牌管理', '', 2, 3, (SELECT id FROM system_menu WHERE name = '车辆管理' LIMIT 1),
|
||
'registration', 'form', 'asset/vehicle/registration/index', 0, 'VehicleRegistration'
|
||
);
|
||
|
||
-- 获取刚插入的菜单ID
|
||
SET @menuId = LAST_INSERT_ID();
|
||
|
||
-- 上牌管理按钮权限
|
||
INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status)
|
||
VALUES
|
||
('上牌记录查询', 'asset:vehicle-registration:query', 3, 1, @menuId, '', '', '', 0),
|
||
('上牌记录创建', 'asset:vehicle-registration:create', 3, 2, @menuId, '', '', '', 0),
|
||
('上牌记录更新', 'asset:vehicle-registration:update', 3, 3, @menuId, '', '', '', 0),
|
||
('上牌记录删除', 'asset:vehicle-registration:delete', 3, 4, @menuId, '', '', '', 0),
|
||
('行驶证识别', 'asset:vehicle-registration:recognize', 3, 5, @menuId, '', '', '', 0);
|