-- 公司管理-公司详情-充电用户信息「分配记录」功能:新增分配记录表 -- 创建日期: 2026-09-28 -- 目标库: charging_pile_account(Mycat 8066 直接执行) -- 说明: 记录"公司可用余额 -> 充电用户(VIN码/刷卡/白名单)账户余额"的划拨流水,供公司详情「分配记录」弹窗查询 -- company_id 关联 t_group_company.id(charging_pile_other 库,跨库仅存ID,不建外键) -- amount 为有符号金额:正数=分配(公司余额减少、用户余额增加),负数=回收(公司余额退还、用户余额减少) -- 历史分配行为不迁移,仅记录建表之后发生的分配 -- 注意: 幂等,表已存在时跳过 USE charging_pile_account; CREATE TABLE IF NOT EXISTS `t_company_allocate_record` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `company_id` int NOT NULL COMMENT '所属公司ID(关联t_group_company.id)', `user_type` tinyint NOT NULL COMMENT '分配对象类型:1=VIN码,2=刷卡,3=白名单手机号', `user_info` varchar(64) DEFAULT NULL COMMENT '分配对象信息(VIN码/卡号/手机号)', `user_name` varchar(64) DEFAULT NULL COMMENT '分配对象名称(白名单姓名等,便于排查)', `change_source` tinyint NOT NULL DEFAULT '3' COMMENT '变更来源:1=新增用户,2=编辑用户,3=额度分配', `before_balance` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '分配前金额(用户账户余额)', `amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '本次分配金额(正数=分配,负数=回收)', `after_balance` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '分配后可用余额(用户账户余额)', `operator_id` bigint DEFAULT NULL COMMENT '操作人ID', `operator_name` varchar(64) DEFAULT NULL COMMENT '操作人(登录账号)', `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间', `remark` varchar(255) DEFAULT NULL COMMENT '备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_company_time` (`company_id`, `operate_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='公司额度分配记录';