-- 附加费用明细表 CREATE TABLE sys_task_additional_fee ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', task_id BIGINT NOT NULL COMMENT '任务ID', fee_type VARCHAR(50) NOT NULL COMMENT '费用类型(字典task_additional_fee_type)', fee_name VARCHAR(100) NOT NULL COMMENT '费用名称', unit_amount DECIMAL(10,2) NOT NULL COMMENT '单价', quantity INT NOT NULL DEFAULT 1 COMMENT '数量', total_amount DECIMAL(10,2) NOT NULL COMMENT '总金额', remark VARCHAR(500) COMMENT '备注', created_by VARCHAR(64) DEFAULT '' COMMENT '创建者', created_time DATETIME DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (id), KEY idx_task_id (task_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='任务附加费用明细表'; -- 任务支付记录表 CREATE TABLE sys_task_payment ( id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', task_id BIGINT NOT NULL COMMENT '任务ID', total_amount DECIMAL(10,2) NOT NULL COMMENT '总金额(成交价+附加费)', settlement_amount DECIMAL(10,2) NOT NULL COMMENT '结算金额', payment_method VARCHAR(20) NOT NULL COMMENT '支付方式:CASH现金,ON_ACCOUNT挂帐,WECHAT微信,ALIPAY支付宝', pay_status VARCHAR(20) NOT NULL DEFAULT 'UNPAID' COMMENT '支付状态:UNPAID未支付,PENDING待支付,PAID已支付,FAILED失败,REFUNDED已退款', pay_time DATETIME COMMENT '支付时间', out_trade_no VARCHAR(64) COMMENT '商户订单号', trade_no VARCHAR(64) COMMENT '三方交易号', code_url TEXT COMMENT '二维码链接', qr_expire_time DATETIME COMMENT '二维码过期时间', provider VARCHAR(20) COMMENT '支付提供商:WECHAT,ALIPAY', payment_ref_id VARCHAR(100) COMMENT '支付模块返回的唯一标识', callback_url VARCHAR(500) COMMENT '回调地址', remark VARCHAR(500) COMMENT '备注', created_by VARCHAR(64) DEFAULT '' COMMENT '创建者', created_time DATETIME DEFAULT NULL COMMENT '创建时间', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id), UNIQUE KEY uk_out_trade_no (out_trade_no), KEY idx_task_id (task_id), KEY idx_pay_status (pay_status), KEY idx_payment_ref_id (payment_ref_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='任务支付记录表'; -- 附加费用类型字典 INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) VALUES ('任务附加费用类型', 'task_additional_fee_type', '0', 'admin', NOW(), '转运任务附加费用类型字典'); -- 附加费用类型字典数据 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) VALUES (1, '等待费', '1', 'task_additional_fee_type', '', 'default', 'N', '0', 'admin', NOW(), '等待费'), (2, '担架', '2', 'task_additional_fee_type', '', 'default', 'N', '0', 'admin', NOW(), '担架'), (3, '居家ICU', '3', 'task_additional_fee_type', '', 'default', 'N', '0', 'admin', NOW(), '居家ICU'), (4, '医疗设备', '4', 'task_additional_fee_type', '', 'default', 'N', '0', 'admin', NOW(), '医疗设备');