new_tables_settlement_device.sql 4.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -- =====================================================
  2. -- 新增表结构:分账比例配置、分销订单分账记录、设备厂商
  3. -- =====================================================
  4. -- 1. 分账比例配置表
  5. CREATE TABLE IF NOT EXISTS `settlement_ratio` (
  6. `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  7. `tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
  8. `settlement_type` VARCHAR(32) NOT NULL COMMENT '分账类型:PLATFORM-平台抽成,CHAIN-连锁分账,STORE-门店留成',
  9. `biz_scene` VARCHAR(32) NOT NULL DEFAULT 'SALE' COMMENT '业务场景:SALE-销售,RECHARGE-充值,SERVICE-服务费',
  10. `target_name` VARCHAR(128) DEFAULT NULL COMMENT '分账方名称',
  11. `ratio` DECIMAL(10,2) DEFAULT NULL COMMENT '分账比例(百分比)',
  12. `fixed_amount` DECIMAL(12,2) DEFAULT NULL COMMENT '固定金额(优先于比例)',
  13. `min_amount` DECIMAL(12,2) DEFAULT NULL COMMENT '最小分账金额',
  14. `status` TINYINT DEFAULT 0 COMMENT '状态:0-启用 1-停用',
  15. `effective_time` DATETIME DEFAULT NULL COMMENT '生效时间',
  16. `expire_time` DATETIME DEFAULT NULL COMMENT '失效时间',
  17. `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
  18. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
  19. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  20. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
  21. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  22. PRIMARY KEY (`id`),
  23. INDEX `idx_tenant_type` (`tenant_id`, `settlement_type`, `biz_scene`),
  24. INDEX `idx_status` (`status`)
  25. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分账比例配置表';
  26. -- 2. 分销订单分账记录表
  27. CREATE TABLE IF NOT EXISTS `distribution_order_split` (
  28. `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  29. `order_id` BIGINT NOT NULL COMMENT '订单ID',
  30. `order_no` VARCHAR(64) DEFAULT NULL COMMENT '订单编号',
  31. `tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
  32. `store_id` BIGINT DEFAULT NULL COMMENT '门店ID',
  33. `store_name` VARCHAR(128) DEFAULT NULL COMMENT '门店名称',
  34. `total_amount` DECIMAL(12,2) NOT NULL COMMENT '订单总金额',
  35. `platform_amount` DECIMAL(12,2) DEFAULT 0.00 COMMENT '平台分账金额',
  36. `chain_amount` DECIMAL(12,2) DEFAULT 0.00 COMMENT '连锁总部分账金额',
  37. `store_amount` DECIMAL(12,2) DEFAULT 0.00 COMMENT '门店留成金额',
  38. `ratio_snapshot` TEXT DEFAULT NULL COMMENT '分账比例快照(JSON)',
  39. `status` TINYINT DEFAULT 0 COMMENT '分账状态:0-待分账 1-已分账 2-分账失败 3-已退款',
  40. `settle_time` DATETIME DEFAULT NULL COMMENT '分账时间',
  41. `trade_no` VARCHAR(64) DEFAULT NULL COMMENT '第三方流水号',
  42. `fail_reason` VARCHAR(500) DEFAULT NULL COMMENT '失败原因',
  43. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  44. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  45. PRIMARY KEY (`id`),
  46. INDEX `idx_order_id` (`order_id`),
  47. INDEX `idx_tenant_id` (`tenant_id`),
  48. INDEX `idx_status` (`status`)
  49. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分销订单分账记录表';
  50. -- 3. 设备厂商管理表
  51. CREATE TABLE IF NOT EXISTS `device_manufacturer` (
  52. `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '厂商ID',
  53. `name` VARCHAR(128) NOT NULL COMMENT '厂商名称',
  54. `credit_code` VARCHAR(64) DEFAULT NULL COMMENT '统一社会信用代码',
  55. `contact_person` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
  56. `contact_phone` VARCHAR(32) DEFAULT NULL COMMENT '联系电话',
  57. `email` VARCHAR(128) DEFAULT NULL COMMENT '联系邮箱',
  58. `address` VARCHAR(256) DEFAULT NULL COMMENT '厂商地址',
  59. `main_category` VARCHAR(128) DEFAULT NULL COMMENT '主营产品类别',
  60. `bank_account` VARCHAR(64) DEFAULT NULL COMMENT '银行账户',
  61. `bank_name` VARCHAR(128) DEFAULT NULL COMMENT '开户行',
  62. `rating` INT DEFAULT 3 COMMENT '厂商评级(1-5)',
  63. `status` TINYINT DEFAULT 0 COMMENT '合作状态:0-合作中 1-已停止',
  64. `license_url` VARCHAR(256) DEFAULT NULL COMMENT '营业执照URL',
  65. `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
  66. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
  67. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  68. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
  69. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  70. PRIMARY KEY (`id`),
  71. INDEX `idx_name` (`name`),
  72. INDEX `idx_status` (`status`)
  73. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备厂商管理表';