M240824012352CreateUserAchievementAndTeamAchievementTable.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. namespace app\migrations;
  3. use common\models\statistics\BaseUserTeamStatistics;
  4. use yii\db\Migration;
  5. /**
  6. * Handles the creation of table `{{%user_achievement_and_team_achievement}}`.
  7. */
  8. class M240824012352CreateUserAchievementAndTeamAchievementTable extends Migration
  9. {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public function safeUp()
  14. {
  15. $tableSql = <<<SQL
  16. CREATE TABLE `qimall_user_team_date_achievement_statistics_%s` (
  17. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  18. `user_id` int(10) unsigned NOT NULL DEFAULT '0',
  19. `mall_id` int(10) unsigned NOT NULL DEFAULT '0',
  20. `user_direct_order_total` int(10) NOT NULL DEFAULT '0' COMMENT '直推会员订单总数(jxmall_user_children.level=1)',
  21. `user_indirect_order_total` int(10) NOT NULL DEFAULT '0' COMMENT '间推会员订单总数(jxmall_user_children.level=2)',
  22. `user_direct_order_price_total` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '直推会员订单总额(jxmall_user_children.level=1)',
  23. `user_indirect_order_price_total` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '间推会员订单总额(jxmall_user_children.level=2)',
  24. `team_finish_order_total` int(10) DEFAULT '0' COMMENT '团队完成订单数量(不包括本人)',
  25. `team_finish_order_price_total` decimal(12,2) DEFAULT '0.00' COMMENT '团队完成订单金额(不包括本人)',
  26. `user_direct_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '直推已支付的订单售价总额(商品价格)',
  27. `user_direct_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '直推已完成的订单售价总额(商品价格)',
  28. `user_indirect_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '间推已支付的订单售价总额(商品价格)',
  29. `user_indirect_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '间推已完成的订单售价总额(商品价格)',
  30. `team_goods_price_total` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '群组总业绩(不包含运费)(不包含自己)',
  31. `team_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '群组产品总额(不包含自己)',
  32. `team_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '团队已完成的订单售价总额(商品价格)',
  33. `team_order_num` int(10) NOT NULL DEFAULT '0' COMMENT '群组订单总数(不包含自己)',
  34. `date` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '日期',
  35. `created_at` int(10) unsigned NOT NULL DEFAULT '0',
  36. `updated_at` int(10) unsigned NOT NULL DEFAULT '0',
  37. PRIMARY KEY (`id`),
  38. UNIQUE KEY `user_id` (`user_id`,`date`) USING BTREE
  39. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户团队每日数据统计表(售后退款成功都会扣减)';
  40. SQL;
  41. $sql = '';
  42. for ($i = 1; $i <= BaseUserTeamStatistics::TABLE_NUM; $i++) {
  43. $sql .= sprintf($tableSql, $i);
  44. }
  45. $sql .= <<<SQL
  46. CREATE TABLE `qimall_user_team_achievement_statistics` (
  47. `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  48. `mall_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商城ID',
  49. `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  50. `user_direct_order_total` int(10) NOT NULL DEFAULT '0' COMMENT '直推会员订单总数(jxmall_user_children.level=1)',
  51. `user_indirect_order_total` int(10) NOT NULL DEFAULT '0' COMMENT '间推会员订单总数(jxmall_user_children.level=2)',
  52. `user_direct_order_price_total` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '直推会员订单总额(jxmall_user_children.level=1)',
  53. `user_indirect_order_price_total` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '间推会员订单总额(jxmall_user_children.level=2)',
  54. `created_at` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
  55. `updated_at` int(10) NOT NULL DEFAULT '0' COMMENT '上次更新数据时间',
  56. `team_finish_order_total` int(10) DEFAULT '0' COMMENT '团队完成订单数量(不包括本人)',
  57. `team_finish_order_price_total` decimal(12,2) DEFAULT '0.00' COMMENT '团队完成订单金额(不包括本人)',
  58. `user_direct_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '直推已支付的订单售价总额(商品价格)',
  59. `user_direct_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '直推已完成的订单售价总额(商品价格)',
  60. `user_indirect_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '间推已支付的订单售价总额(商品价格)',
  61. `user_indirect_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '间推已完成的订单售价总额(商品价格)',
  62. `team_pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '团队已支付的订单售价总额(商品价格)',
  63. `team_finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '团队已完成的订单售价总额(商品价格)',
  64. `team_goods_price_total` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '团队已支付的业绩(不包含运费,不包含本人)',
  65. `team_order_num` int(11) NOT NULL DEFAULT '0' COMMENT '团队已支付的订单总数',
  66. PRIMARY KEY (`id`) USING BTREE,
  67. UNIQUE KEY `user_id` (`user_id`) USING BTREE
  68. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户团队数据统计表(售后退款成功都会扣减)';
  69. CREATE TABLE `qimall_user_achievement_statistics_total` (
  70. `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  71. `mall_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商城ID',
  72. `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  73. `pay_goods_num` int(10) NOT NULL DEFAULT '0' COMMENT '支付商品件数',
  74. `finish_order_num` int(11) NOT NULL DEFAULT '0' COMMENT '已完成订单数',
  75. `finish_order_money` decimal(12,2) NOT NULL DEFAULT '0.00',
  76. `finish_goods_num` int(11) NOT NULL DEFAULT '0' COMMENT '已完成商品数',
  77. `balance_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  78. `wechat_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  79. `ali_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  80. `created_at` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
  81. `updated_at` int(10) NOT NULL DEFAULT '0' COMMENT '更新数据时间',
  82. `pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已支付的订单售价总额(商品价格)',
  83. `finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已完成的订单售价总额(商品价格)',
  84. `user_goods_price_total` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已支付的业绩',
  85. `user_order_num` int(10) NOT NULL DEFAULT '0' COMMENT '用户支付订单数',
  86. PRIMARY KEY (`id`) USING BTREE,
  87. UNIQUE KEY `user_id` (`user_id`) USING BTREE
  88. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户总数据统计表(售后退款成功都会扣减)';
  89. CREATE TABLE `qimall_user_achievement_statistics` (
  90. `id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  91. `mall_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '商城ID',
  92. `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  93. `pay_goods_num` int(10) NOT NULL DEFAULT '0' COMMENT '支付商品件数',
  94. `finish_order_num` int(11) NOT NULL DEFAULT '0' COMMENT '已完成订单数',
  95. `finish_order_money` decimal(12,2) NOT NULL DEFAULT '0.00',
  96. `finish_goods_num` int(11) NOT NULL DEFAULT '0' COMMENT '已完成商品数',
  97. `balance_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  98. `wechat_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  99. `ali_pay` decimal(12,2) NOT NULL DEFAULT '0.00',
  100. `date` int(10) NOT NULL DEFAULT '0' COMMENT '日期,年月日',
  101. `created_at` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
  102. `updated_at` int(10) NOT NULL DEFAULT '0' COMMENT '更新数据时间',
  103. `pay_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已支付的订单售价总额(商品价格)',
  104. `finish_selling_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已完成的订单售价总额(商品价格)',
  105. `user_goods_price_total` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '已支付的业绩',
  106. `user_order_num` int(10) NOT NULL DEFAULT '0' COMMENT '用户支付订单数',
  107. PRIMARY KEY (`id`) USING BTREE,
  108. UNIQUE KEY `user_id+date` (`user_id`,`date`) USING BTREE
  109. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户业绩每日数据统计表(售后退款成功都会扣减)';
  110. SQL;
  111. $this->execute($sql);
  112. }
  113. /**
  114. * {@inheritdoc}
  115. */
  116. public function safeDown()
  117. {
  118. return false;
  119. }
  120. }