M250919103036AddHappinessWeightTable.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace addons\Happiness\console\migrations;
  3. use yii\db\Migration;
  4. /**
  5. * Class M250919103036AddHappinessWeightTable
  6. */
  7. class M250919103036AddHappinessWeightTable extends Migration
  8. {
  9. /**
  10. * {@inheritdoc}
  11. */
  12. public function safeUp()
  13. {
  14. $sql = "CREATE TABLE `qimall_addons_happiness_weight_pool_job` (
  15. `id` int(10) NOT NULL AUTO_INCREMENT,
  16. `mall_id` int(10) NOT NULL DEFAULT 0 COMMENT '商城ID',
  17. `date_limit` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '结算开始~结束日期',
  18. `compute_period` tinyint(1) NOT NULL DEFAULT 0 COMMENT '结算周期:1天,2周,3月',
  19. `status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态[-1:删除;0:禁用;1启用]',
  20. `num` int(10) NOT NULL DEFAULT 0 COMMENT '分红人数',
  21. `total_amount` decimal(12, 2) NOT NULL COMMENT '分红总金额',
  22. `period_total_amount` decimal(12, 2) NOT NULL COMMENT '本期奖金池总金额',
  23. `period` int(10) NOT NULL DEFAULT 1 COMMENT '发放期数',
  24. `created_at` int(10) NOT NULL DEFAULT 0,
  25. `updated_at` int(10) NOT NULL DEFAULT 0,
  26. PRIMARY KEY (`id`) USING BTREE,
  27. INDEX `mall_id`(`mall_id`, `date_limit`) USING BTREE
  28. ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权重值奖金池已结算日期记录表' ROW_FORMAT = DYNAMIC;";
  29. $this->execute($sql);
  30. $sql = "CREATE TABLE `qimall_addons_happiness_weight_pool_log` (
  31. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  32. `mall_id` int(11) NOT NULL DEFAULT 0 COMMENT '商城ID',
  33. `user_id` int(11) NOT NULL DEFAULT 0 COMMENT '用户ID',
  34. `total_amount` decimal(12, 2) NOT NULL COMMENT '分红池总额',
  35. `num` int(8) NOT NULL DEFAULT 0 COMMENT '分红人数',
  36. `amount` decimal(12, 2) NOT NULL COMMENT '可获得分红金额',
  37. `scale` decimal(10, 2) NOT NULL COMMENT '分红比例',
  38. `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态[-1删除;0禁用;1正常]',
  39. `start_at` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '开始时间',
  40. `end_at` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '结算时间',
  41. `billing_cycle` tinyint(1) NOT NULL DEFAULT 0 COMMENT '结算周期',
  42. `job_id` int(11) NOT NULL DEFAULT 0 COMMENT '任务ID',
  43. `created_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
  44. `updated_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
  45. `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
  46. PRIMARY KEY (`id`) USING BTREE
  47. ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户分红记录表' ROW_FORMAT = DYNAMIC;";
  48. $this->execute($sql);
  49. $sql = "CREATE TABLE `qimall_addons_happiness_weight_pool_order_log` (
  50. `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  51. `mall_id` int(11) NOT NULL DEFAULT 0 COMMENT '商城ID',
  52. `user_id` int(11) NOT NULL DEFAULT 0 COMMENT '用户ID',
  53. `amount` decimal(12, 2) NOT NULL COMMENT '进入奖金池金额',
  54. `price` decimal(12, 2) NOT NULL COMMENT '订单金额',
  55. `pay_price` decimal(12, 2) NOT NULL COMMENT '实付金额',
  56. `before_amount` decimal(12, 2) NOT NULL DEFAULT 0.00 COMMENT '变动前金额',
  57. `after_amount` decimal(12, 2) NOT NULL DEFAULT 0.00 COMMENT '变动后金额',
  58. `order_id` int(11) NOT NULL DEFAULT 0 COMMENT '订单ID',
  59. `order_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单编号',
  60. `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态[-1删除;0禁用;1正常]',
  61. `date` varchar(15) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '日期',
  62. `settlement_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '结算状态[0未结算;1已结算]',
  63. `desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '备注',
  64. `created_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间',
  65. `updated_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间',
  66. PRIMARY KEY (`id`) USING BTREE
  67. ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分红池订单表' ROW_FORMAT = DYNAMIC;";
  68. $this->execute($sql);
  69. $this->execute("INSERT INTO `qimall_crontab_task`(`name`, `command`, `type`, `rule`, `is_warning`, `status`, `created_at`, `updated_at`) VALUES ('幸福小店权重分红定时发放-每天一次', 'happiness/index/pool-run', 2, '0 0 1 * * *', 0, 1, 1718070034, 1718070034);");
  70. }
  71. /**
  72. * {@inheritdoc}
  73. */
  74. public function safeDown()
  75. {
  76. return false;
  77. }
  78. /*
  79. // Use up()/down() to run migration code without a transaction.
  80. public function up()
  81. {
  82. }
  83. public function down()
  84. {
  85. echo "M250919103036AddHappinessWeightTable cannot be reverted.\n";
  86. return false;
  87. }
  88. */
  89. }