- 删除旧事件:BillApprovedEvent, BillCreatedEvent, DeductionCompletedEvent, DetailAuditedEvent, DetailCreatedEvent, RecordMatchedEvent - 新增事件:BillAuditPassedEvent, DetailAuditPassedEvent - 保留事件:RecordImportedEvent - 更新监听器:AccountEventListener, BillEventListener, DetailEventListener - 清理代码中的旧事件引用和注释 优化原则:前端简单,后端健壮 事件流程:导入→匹配→生成明细→审核→扣款→生成账单→结算
237 lines
14 KiB
SQL
237 lines
14 KiB
SQL
-- ============================================================
|
|
-- Energy Module DDL - Generated from DO classes
|
|
-- Database: oneos_energy
|
|
-- Generated: 2026-03-16
|
|
-- ============================================================
|
|
|
|
-- 1. energy_hydrogen_record (加氢记录)
|
|
DROP TABLE IF EXISTS `energy_hydrogen_record`;
|
|
CREATE TABLE `energy_hydrogen_record` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT '租户编号',
|
|
`station_id` bigint DEFAULT NULL COMMENT '加氢站ID',
|
|
`plate_number` varchar(32) DEFAULT NULL COMMENT '车牌号',
|
|
`hydrogen_date` date DEFAULT NULL COMMENT '加氢日期',
|
|
`hydrogen_quantity` decimal(18,2) DEFAULT NULL COMMENT '加氢量(kg)',
|
|
`unit_price` decimal(18,2) DEFAULT NULL COMMENT '单价',
|
|
`amount` decimal(18,2) DEFAULT NULL COMMENT '金额',
|
|
`mileage` decimal(18,2) DEFAULT NULL COMMENT '里程(km)',
|
|
`source_type` int DEFAULT NULL COMMENT '来源类型',
|
|
`match_status` int DEFAULT NULL COMMENT '匹配状态',
|
|
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
|
|
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
|
`upload_batch_no` varchar(64) DEFAULT NULL 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='加氢记录';
|
|
|
|
-- 2. energy_hydrogen_detail (加氢明细)
|
|
DROP TABLE IF EXISTS `energy_hydrogen_detail`;
|
|
CREATE TABLE `energy_hydrogen_detail` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`record_id` bigint DEFAULT NULL COMMENT '加氢记录ID',
|
|
`station_id` bigint DEFAULT NULL COMMENT '加氢站ID',
|
|
`vehicle_id` bigint DEFAULT NULL COMMENT '车辆ID',
|
|
`plate_number` varchar(32) DEFAULT NULL COMMENT '车牌号',
|
|
`hydrogen_date` date DEFAULT NULL COMMENT '加氢日期',
|
|
`hydrogen_quantity` decimal(18,2) DEFAULT NULL COMMENT '加氢量(kg)',
|
|
`cost_price` decimal(18,2) DEFAULT NULL COMMENT '成本价',
|
|
`cost_amount` decimal(18,2) DEFAULT NULL COMMENT '成本金额',
|
|
`customer_price` decimal(18,2) DEFAULT NULL COMMENT '客户价',
|
|
`customer_amount` decimal(18,2) DEFAULT NULL COMMENT '客户金额',
|
|
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
|
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
|
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
|
|
`cost_bearer` int DEFAULT NULL COMMENT '费用承担方',
|
|
`pay_method` int DEFAULT NULL COMMENT '支付方式',
|
|
`audit_status` int DEFAULT NULL COMMENT '审核状态',
|
|
`audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注',
|
|
`deduction_status` int DEFAULT NULL COMMENT '扣费状态',
|
|
`settlement_status` int DEFAULT NULL COMMENT '结算状态',
|
|
`bill_id` bigint DEFAULT NULL COMMENT '账单ID',
|
|
`remark` varchar(500) DEFAULT NULL 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='加氢明细';
|
|
|
|
-- 3. energy_bill (能源账单)
|
|
DROP TABLE IF EXISTS `energy_bill`;
|
|
CREATE TABLE `energy_bill` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`bill_code` varchar(64) DEFAULT NULL COMMENT '账单编号',
|
|
`energy_type` int DEFAULT NULL COMMENT '能源类型',
|
|
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
|
`customer_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
|
|
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
|
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
|
`station_name` varchar(255) DEFAULT NULL COMMENT '站点名称',
|
|
`cooperation_type` int DEFAULT NULL COMMENT '合作模式(1=预充值 2=月结算)',
|
|
`bill_period_start` date DEFAULT NULL COMMENT '账单周期开始',
|
|
`bill_period_end` date DEFAULT NULL COMMENT '账单周期结束',
|
|
`receivable_amount` decimal(18,2) DEFAULT NULL COMMENT '应收金额',
|
|
`actual_amount` decimal(18,2) DEFAULT NULL COMMENT '实收金额',
|
|
`adjustment_amount` decimal(18,2) DEFAULT NULL COMMENT '调整金额',
|
|
`paid_amount` decimal(18,2) DEFAULT NULL COMMENT '已付金额',
|
|
`total_quantity` decimal(18,2) DEFAULT NULL COMMENT '总用量',
|
|
`detail_count` int DEFAULT NULL COMMENT '明细条数',
|
|
`status` int DEFAULT NULL COMMENT '账单状态',
|
|
`audit_status` int DEFAULT NULL COMMENT '审核状态',
|
|
`submit_status` int DEFAULT NULL COMMENT '提交状态',
|
|
`payment_status` int DEFAULT NULL COMMENT '付款状态',
|
|
`auditor_id` bigint DEFAULT NULL COMMENT '审核人ID',
|
|
`audit_time` datetime DEFAULT NULL COMMENT '审核时间',
|
|
`audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注',
|
|
`submit_time` datetime DEFAULT NULL COMMENT '提交时间',
|
|
`generate_time` datetime DEFAULT NULL COMMENT '生成时间',
|
|
`yos_bill_code` varchar(64) DEFAULT NULL COMMENT 'YOS账单编号',
|
|
`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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='能源账单';
|
|
|
|
-- 4. energy_bill_adjustment (账单调整)
|
|
DROP TABLE IF EXISTS `energy_bill_adjustment`;
|
|
CREATE TABLE `energy_bill_adjustment` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`bill_id` bigint DEFAULT NULL COMMENT '账单ID',
|
|
`detail_id` bigint DEFAULT NULL COMMENT '明细ID',
|
|
`adjustment_type` int DEFAULT NULL COMMENT '调整类型',
|
|
`amount` decimal(18,2) DEFAULT NULL COMMENT '调整金额',
|
|
`reason` varchar(500) DEFAULT NULL COMMENT '调整原因',
|
|
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '附件URLs',
|
|
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
|
|
`operate_time` datetime DEFAULT NULL 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='账单调整';
|
|
|
|
-- 5. energy_station_config (站点配置)
|
|
DROP TABLE IF EXISTS `energy_station_config`;
|
|
CREATE TABLE `energy_station_config` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
|
`auto_deduct` bit(1) DEFAULT NULL COMMENT '是否自动扣费',
|
|
`cooperation_type` int DEFAULT NULL COMMENT '合作类型',
|
|
`auto_match` bit(1) DEFAULT NULL COMMENT '自动匹配开关',
|
|
`remark` varchar(500) DEFAULT NULL 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='站点配置';
|
|
|
|
-- 6. energy_station_price (站点价格)
|
|
DROP TABLE IF EXISTS `energy_station_price`;
|
|
CREATE TABLE `energy_station_price` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`station_id` bigint DEFAULT NULL COMMENT '站点ID',
|
|
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
|
`cost_price` decimal(18,2) DEFAULT NULL COMMENT '成本价',
|
|
`customer_price` decimal(18,2) DEFAULT NULL COMMENT '客户价',
|
|
`effective_date` date DEFAULT NULL COMMENT '生效日期',
|
|
`expiry_date` date DEFAULT NULL COMMENT '失效日期',
|
|
`status` int DEFAULT NULL 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='站点价格';
|
|
|
|
-- 7. energy_account (能源账户)
|
|
DROP TABLE IF EXISTS `energy_account`;
|
|
CREATE TABLE `energy_account` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`customer_id` bigint DEFAULT NULL COMMENT '客户ID',
|
|
`balance` decimal(18,2) DEFAULT NULL COMMENT '余额',
|
|
`init_balance` decimal(18,2) DEFAULT NULL COMMENT '初始余额',
|
|
`accumulated_recharge` decimal(18,2) DEFAULT NULL COMMENT '累计充值金额',
|
|
`accumulated_hydrogen` decimal(18,2) DEFAULT NULL COMMENT '累计加氢金额',
|
|
`accumulated_electric` decimal(18,2) DEFAULT NULL COMMENT '累计充电金额',
|
|
`accumulated_consume` decimal(18,2) DEFAULT NULL COMMENT '累计消费金额',
|
|
`reminder_threshold` decimal(18,2) DEFAULT NULL COMMENT '余额预警阈值',
|
|
`account_status` int DEFAULT NULL COMMENT '账户状态',
|
|
`last_recharge_date` date DEFAULT NULL COMMENT '最后充值日期',
|
|
`version` int DEFAULT 0 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='能源账户';
|
|
|
|
-- 8. energy_project_account (项目账户)
|
|
DROP TABLE IF EXISTS `energy_project_account`;
|
|
CREATE TABLE `energy_project_account` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`account_id` bigint DEFAULT NULL COMMENT '账户ID',
|
|
`contract_id` bigint DEFAULT NULL COMMENT '合同ID',
|
|
`project_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
|
|
`project_balance` decimal(18,2) DEFAULT NULL COMMENT '项目余额',
|
|
`project_remit_amount` decimal(18,2) DEFAULT NULL COMMENT '项目汇款总额',
|
|
`project_hydrogen_amount` decimal(18,2) DEFAULT NULL COMMENT '项目加氢金额',
|
|
`project_electric_amount` decimal(18,2) DEFAULT NULL COMMENT '项目充电金额',
|
|
`project_consume_amount` decimal(18,2) DEFAULT NULL COMMENT '项目消费总额',
|
|
`reminder_threshold` decimal(18,2) DEFAULT NULL COMMENT '余额预警阈值',
|
|
`account_status` int DEFAULT NULL COMMENT '账户状态',
|
|
`version` int DEFAULT 0 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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目账户';
|
|
|
|
-- 9. energy_account_flow (账户流水)
|
|
DROP TABLE IF EXISTS `energy_account_flow`;
|
|
CREATE TABLE `energy_account_flow` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` bigint NOT NULL DEFAULT 1 COMMENT 租户编号,
|
|
`account_id` bigint DEFAULT NULL COMMENT '账户ID',
|
|
`project_account_id` bigint DEFAULT NULL COMMENT '项目账户ID',
|
|
`flow_type` int DEFAULT NULL COMMENT '流水类型',
|
|
`amount` decimal(18,2) DEFAULT NULL COMMENT '金额',
|
|
`balance_before` decimal(18,2) DEFAULT NULL COMMENT '变更前余额',
|
|
`balance_after` decimal(18,2) DEFAULT NULL COMMENT '变更后余额',
|
|
`project_balance_before` decimal(18,2) DEFAULT NULL COMMENT '变更前项目余额',
|
|
`project_balance_after` decimal(18,2) DEFAULT NULL COMMENT '变更后项目余额',
|
|
`biz_type` int DEFAULT NULL COMMENT '业务类型',
|
|
`biz_id` bigint DEFAULT NULL COMMENT '业务ID',
|
|
`biz_code` varchar(64) DEFAULT NULL COMMENT '业务编号',
|
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
|
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
|
|
`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 '是否删除',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='账户流水';
|