M240822013246FixQimallCensusMallSingleHour.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace app\migrations;
  3. use common\models\census\CensusMallSingleHour;
  4. use common\models\mall\Mall;
  5. use yii\db\Migration;
  6. /**
  7. * Class M240822013246FixQimallCensusMallSingleHour
  8. */
  9. class M240822013246FixQimallCensusMallSingleHour extends Migration
  10. {
  11. /**
  12. * {@inheritdoc}
  13. */
  14. public function safeUp()
  15. {
  16. $dates = [];
  17. for ($i=0;$i<=7;$i++){
  18. $dates[] = date('Y-m-d',strtotime("-$i day"));
  19. }
  20. $obj = new CensusMallSingleHour();
  21. foreach ($dates as $date){
  22. $start_time = strtotime($date . ' 00:00:00');
  23. $end_time = strtotime($date . ' 23:59:59');
  24. if (!empty($mall_id)) {
  25. $mall = Mall::findOne(['id' => $mall_id]);
  26. if ($mall) {
  27. $obj->fixPayOrdersNumByHour($mall['id'], $date, $start_time, $end_time);
  28. $obj->fixAddPayOrdersByHour($mall['id'], $date, $start_time, $end_time);
  29. $obj->fixAddPayPeopleNumsByHour($mall['id'], $date, $start_time, $end_time);
  30. }
  31. } else {
  32. $mall_list = Mall::getEnableMallList(true);
  33. foreach ($mall_list as $mall) {
  34. $obj->fixPayOrdersNumByHour($mall['id'], $date, $start_time, $end_time);
  35. $obj->fixAddPayOrdersByHour($mall['id'], $date, $start_time, $end_time);
  36. $obj->fixAddPayPeopleNumsByHour($mall['id'], $date, $start_time, $end_time);
  37. }
  38. }
  39. }
  40. }
  41. /**
  42. * {@inheritdoc}
  43. */
  44. public function safeDown()
  45. {
  46. echo "M240822013246FixQimallCensusMallSingleHour cannot be reverted.\n";
  47. return false;
  48. }
  49. /*
  50. // Use up()/down() to run migration code without a transaction.
  51. public function up()
  52. {
  53. }
  54. public function down()
  55. {
  56. echo "M240822013246FixQimallCensusMallSingleHour cannot be reverted.\n";
  57. return false;
  58. }
  59. */
  60. }