LuckyGroupMallOpenGroupStatistics.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace addons\LuckyGroup\common\models;
  3. use common\enums\StatusEnum;
  4. use common\models\base\BaseActiveRecord;
  5. use Yii;
  6. use yii\db\Exception;
  7. /**
  8. * This is the model class for table "qimall_addons_lucky_group_mall_open_group_statistics".
  9. *
  10. * @property int $id
  11. * @property int $mall_id
  12. * @property float $win_money 拼中金额
  13. * @property float $loss_money 拼不中金额
  14. * @property int $attend_peoples 参团人数
  15. * @property int $win_peoples 拼中人数
  16. * @property int $loss_peoples 拼不中人数
  17. * @property string $statistics_date 统计日期
  18. * @property int $status 状态[-1:删除;0:禁用;1启用]
  19. * @property int $created_at
  20. * @property int $updated_at
  21. */
  22. class LuckyGroupMallOpenGroupStatistics extends BaseActiveRecord
  23. {
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public static function tableName()
  28. {
  29. return '{{%addons_lucky_group_mall_open_group_statistics}}';
  30. }
  31. /**
  32. * {@inheritdoc}
  33. */
  34. public function rules()
  35. {
  36. return [
  37. [['mall_id'], 'required'],
  38. [['mall_id', 'attend_peoples', 'win_peoples', 'loss_peoples', 'status', 'created_at', 'updated_at'], 'integer'],
  39. [['win_money', 'loss_money'], 'number'],
  40. [['statistics_date'], 'string', 'max' => 255],
  41. ];
  42. }
  43. /**
  44. * {@inheritdoc}
  45. */
  46. public function attributeLabels()
  47. {
  48. return [
  49. 'id' => 'ID',
  50. 'mall_id' => 'Mall ID',
  51. 'win_money' => '拼中金额',
  52. 'loss_money' => '拼不中金额',
  53. 'attend_peoples' => '参团人数',
  54. 'win_peoples' => '拼中人数',
  55. 'loss_peoples' => '拼不中人数',
  56. 'statistics_date' => '统计日期',
  57. 'status' => '状态[-1:删除;0:禁用;1启用]',
  58. 'created_at' => 'Created At',
  59. 'updated_at' => 'Updated At',
  60. ];
  61. }
  62. public static function updateStatistics($params)
  63. {
  64. try {
  65. if (empty($params['mall_id'])) return true;
  66. $statistics_date = date('Y-m-d', time());
  67. $model = self::findOne(['mall_id' => $params['mall_id'], 'statistics_date' => $statistics_date]);
  68. if (empty($model)) {
  69. $model = new self();
  70. $model->loadDefaultValues();
  71. $model->mall_id = $params['mall_id'];
  72. $model->status = StatusEnum::ENABLED;
  73. $model->statistics_date = $statistics_date;
  74. }
  75. if (!empty($params['win_money'])) $model->win_money += $params['win_money'];
  76. if (!empty($params['loss_money'])) $model->loss_money += $params['loss_money'];
  77. if (!empty($params['attend_peoples'])) $model->attend_peoples += $params['attend_peoples'];
  78. if (!empty($params['win_peoples'])) $model->win_peoples += $params['win_peoples'];
  79. if (!empty($params['loss_peoples'])) $model->loss_peoples += $params['loss_peoples'];
  80. $res = $model->save();
  81. if ($res == false) throw new Exception($model->getErrorMessage());
  82. return true;
  83. } catch (\Exception $e) {
  84. var_dump($e->getMessage());
  85. return false;
  86. }
  87. }
  88. }