chargeservice.sql 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. SET FOREIGN_KEY_CHECKS=0;
  2. ALTER TABLE `chargeservice`.`cg_model_info` ROW_FORMAT = Dynamic;
  3. ALTER TABLE `chargeservice`.`cg_order_integrate_rel` ROW_FORMAT = Dynamic;
  4. ALTER TABLE `chargeservice`.`cg_park_fee_discount` ROW_FORMAT = Dynamic;
  5. ALTER TABLE `chargeservice`.`cg_park_fee_discount` DROP INDEX `index_carinid`;
  6. ALTER TABLE `chargeservice`.`cg_park_fee_discount` DROP INDEX `index_orderid`;
  7. ALTER TABLE `chargeservice`.`cg_park_fee_discount` ADD COLUMN `merchant_code` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '商家编号' AFTER `discount_id`;
  8. ALTER TABLE `chargeservice`.`cg_park_fee_discount` MODIFY COLUMN `car_in_id` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '入场id' AFTER `order_id`;
  9. ALTER TABLE `chargeservice`.`cg_park_fee_log` ROW_FORMAT = Dynamic;
  10. ALTER TABLE `chargeservice`.`cg_park_fee_log` MODIFY COLUMN `car_in_id` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '入场id' AFTER `order_id`;
  11. ALTER TABLE `chargeservice`.`cg_park_fee_order` ROW_FORMAT = Dynamic;
  12. ALTER TABLE `chargeservice`.`cg_park_fee_order` MODIFY COLUMN `car_in_id` varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '入场id' AFTER `order_id`;
  13. CREATE TABLE `chargeservice`.`cg_park_roll_charge_segment` (
  14. `id` bigint NOT NULL COMMENT 'Snowflake主键',
  15. `order_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '临停订单号,零元离场可为空',
  16. `project_no` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目编号',
  17. `park_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '停车场ID,滚动计费隔离维度之一',
  18. `plate_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '车牌号,滚动计费隔离维度之一',
  19. `car_in_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '本次进场记录ID',
  20. `pre_car_in_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '同一滚动周期内上一次进场记录ID,首段为空',
  21. `first_car_in_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '本滚动周期首次进场记录ID,用于标识完整周期链',
  22. `model_code` int NULL DEFAULT NULL COMMENT '本周期使用的计费套餐类型编码',
  23. `cycle_time_type` tinyint NOT NULL COMMENT '0首次入场起算,1自然日',
  24. `first_in_time` datetime NOT NULL COMMENT '本滚动周期首次进场时间;自然日模式为当天00:00:00',
  25. `cycle_start_time` datetime NOT NULL COMMENT '当前片段所属24小时周期开始时间,左闭',
  26. `cycle_end_time` datetime NOT NULL COMMENT '当前片段所属24小时周期结束时间,右开',
  27. `segment_start_time` datetime NOT NULL COMMENT '本计费片段开始时间',
  28. `segment_end_time` datetime NOT NULL COMMENT '本计费片段结束时间',
  29. `roll_node_time` datetime NULL DEFAULT NULL COMMENT '计费组件返回的滚动算费节点时间',
  30. `roll_billing_date` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计费组件返回的滚动账期,格式yyyy-MM-dd',
  31. `cycle_calculated_amount` int NOT NULL DEFAULT 0 COMMENT '组件周期累计费用,分',
  32. `settled_before_amount` int NOT NULL DEFAULT 0 COMMENT '本次计算前本周期已覆盖金额,分',
  33. `increment_amount` int NOT NULL DEFAULT 0 COMMENT '本次应结算增量,分',
  34. `actual_amount` int NOT NULL DEFAULT 0 COMMENT '本次实付,分',
  35. `discount_amount` int NOT NULL DEFAULT 0 COMMENT '本次优惠,分',
  36. `free_amount` int NOT NULL DEFAULT 0 COMMENT '本次免费,分',
  37. `settled_total_amount` int NOT NULL DEFAULT 0 COMMENT '本次已确认覆盖金额,分',
  38. `max_amount` int NOT NULL DEFAULT 0 COMMENT '周期封顶,分',
  39. `car_identity` tinyint NOT NULL DEFAULT 2 COMMENT '1长租车,2临停车',
  40. `cross_interval_type` tinyint NULL DEFAULT NULL COMMENT '跨周期片段标识:1跨周期拆分产生的中间片段,空为普通片段',
  41. `status` tinyint NOT NULL DEFAULT 0 COMMENT '0待确认,1已确认,2已作废',
  42. `active_slot` tinyint GENERATED ALWAYS AS ((case when (`status` in (0,1)) then 1 else NULL end)) STORED COMMENT '有效唯一槽:待确认/已确认占槽,作废记录为NULL释放槽位' NULL,
  43. `rollback_record` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '计费组件RollBackRecord原始JSON,后续同周期进场原样回传',
  44. `create_time` datetime NOT NULL COMMENT '创建时间',
  45. `update_time` datetime NOT NULL COMMENT '最后更新时间',
  46. PRIMARY KEY (`id`) USING BTREE,
  47. UNIQUE INDEX `uk_roll_segment`(`park_id` ASC, `car_in_id` ASC, `cycle_start_time` ASC, `segment_start_time` ASC, `segment_end_time` ASC, `active_slot` ASC) USING BTREE,
  48. INDEX `idx_roll_order_status`(`order_id` ASC, `status` ASC) USING BTREE,
  49. INDEX `idx_roll_park_plate_status_end`(`park_id` ASC, `plate_no` ASC, `status` ASC, `segment_end_time` ASC) USING BTREE
  50. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '滚动计费区间明细' ROW_FORMAT = DYNAMIC;
  51. ALTER TABLE `chargeservice`.`cg_temp_standard` ROW_FORMAT = Dynamic;
  52. SET FOREIGN_KEY_CHECKS=1;