puzhibing
68 分钟以前 6dead3d8451b1b231d77b653a7fca84406159371
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
-- 公司管理-公司详情-充电用户信息「分配记录」功能:新增分配记录表
-- 创建日期: 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='公司额度分配记录';