AddonsAlbumDateStatistics.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace addons\Album\common\models;
  3. use Yii;
  4. use yii\db\Exception;
  5. /**
  6. * This is the model class for table "qimall_addons_album_date_statistics".
  7. *
  8. * @property int $id ID
  9. * @property int $mall_id 商城ID
  10. * @property int|null $visit_count 访问量,一个会员最多占一个访问量
  11. * @property int $views_count 浏览量
  12. * @property int $shares_click_count 分享后用户点击访问商品统计
  13. * @property int $shares_count 分享量
  14. * @property int|null $goods_click_count 商品点击
  15. * @property int|null $goods_views_count 商品访问统计
  16. * @property int|null $pay_count 支付人数
  17. * @property int|null $order_count 订单统计
  18. * @property int $created_at 创建时间
  19. * @property int $updated_at 更新时间
  20. * @property float|null $goods_amount 成交金额
  21. * @property int|null $album_id 智能画册ID
  22. * @property int $stop_time 停留时长单位(秒)
  23. * @property string|null $date 日期
  24. */
  25. class AddonsAlbumDateStatistics extends \common\models\base\BaseActiveRecord
  26. {
  27. /**
  28. * {@inheritdoc}
  29. */
  30. public static function tableName()
  31. {
  32. return '{{%addons_album_date_statistics}}';
  33. }
  34. /**
  35. * {@inheritdoc}
  36. */
  37. public function rules()
  38. {
  39. return [
  40. [['mall_id'], 'required'],
  41. [['mall_id', 'visit_count', 'views_count', 'shares_click_count', 'shares_count', 'goods_click_count', 'goods_views_count', 'pay_count', 'order_count', 'created_at', 'updated_at', 'album_id', 'stop_time'], 'integer'],
  42. [['goods_amount'], 'number'],
  43. [['date'], 'safe'],
  44. ];
  45. }
  46. /**
  47. * {@inheritdoc}
  48. */
  49. public function attributeLabels()
  50. {
  51. return [
  52. 'id' => 'ID',
  53. 'mall_id' => '商城ID',
  54. 'visit_count' => '访问量,一个会员最多占一个访问量',
  55. 'views_count' => '浏览量',
  56. 'shares_click_count' => '分享后用户点击访问商品统计',
  57. 'shares_count' => '分享量',
  58. 'goods_click_count' => '商品点击',
  59. 'goods_views_count' => '商品访问统计',
  60. 'pay_count' => '支付人数',
  61. 'order_count' => '订单统计',
  62. 'created_at' => '创建时间',
  63. 'updated_at' => '更新时间',
  64. 'goods_amount' => '成交金额',
  65. 'album_id' => '智能画册ID',
  66. 'stop_time' => '停留时长单位(秒)',
  67. 'date' => '日期',
  68. ];
  69. }
  70. /**
  71. * @Author: ltm
  72. * @DateTime: 2022/2/15 0015 11:43
  73. * @Copyright: copyright (c) 2021 广东七件事集团
  74. * @param $data
  75. * @return string
  76. */
  77. public static function setData(array $params){
  78. try{
  79. $todate = date("Y-m-d");
  80. $model = self::findOne(['date'=>$todate,'mall_id'=>$params['mall_id']]);
  81. if (!$model){
  82. $model = new self();
  83. $model->date = $todate;
  84. $model->loadDefaultValues();
  85. }else{
  86. $model->updated_at = time();
  87. if($params['visit_count']) $model->visit_count += $params['visit_count'];
  88. if($params['views_count']) $model->views_count += $params['views_count'];
  89. if($params['shares_count']) $model->shares_count += $params['shares_count'];
  90. if($params['shares_click_count']) $model->shares_click_count += $params['shares_click_count'];
  91. if($params['goods_views_count']) $model->goods_views_count += $params['goods_views_count'];
  92. if($params['goods_click_count']) $model->goods_click_count += $params['goods_click_count'];
  93. if($params['order_count']) $model->order_count += $params['order_count'];
  94. if($params['goods_amount']) $model->goods_amount += $params['goods_amount'];
  95. if($params['pay_count']) $model->pay_count += $params['pay_count'];
  96. if($params['stop_time']) $model->stop_time += $params['stop_time'];
  97. unset($params['order_count'],$params['goods_amount'],$params['pay_count'],$params['visit_count']);
  98. unset($params['views_count'],$params['shares_count'],$params['shares_click_count'],$params['goods_views_count'],$params['goods_click_count'],$params['stop_time']);
  99. }
  100. $model->mall_id = $params['mall_id'];
  101. if(!$model->load($params,'') || !$model->save()){
  102. throw new Exception($model->getErrorMessage());
  103. }
  104. return $model;
  105. }catch(\Exception $e){
  106. self::$static_error = $e->getMessage();
  107. return false;
  108. }
  109. }
  110. }