AddonsXhsAllStatistics.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. namespace addons\Xhs\common\models;
  3. use Yii;
  4. use yii\db\Exception;
  5. /**
  6. * This is the model class for table "qimall_addons_xhs_all_statistics".
  7. *
  8. * @property int $id ID
  9. * @property int $mall_id 商城ID
  10. * @property int $push_count 发布量
  11. * @property int $views_count 浏览量
  12. * @property int $stars_count 点赞量
  13. * @property int $shares_count 分享量
  14. * @property int $discuss_count 评论量
  15. * @property int|null $goods_views_count 商品访问统计
  16. * @property int|null $order_count 订单统计
  17. * @property int $created_at 创建时间
  18. * @property int $updated_at 更新时间
  19. * @property float|null $goods_amount 成交金额
  20. */
  21. class AddonsXhsAllStatistics extends \common\models\base\BaseActiveRecord
  22. {
  23. /**
  24. * {@inheritdoc}
  25. */
  26. public static function tableName()
  27. {
  28. return '{{%addons_xhs_all_statistics}}';
  29. }
  30. /**
  31. * {@inheritdoc}
  32. */
  33. public function rules()
  34. {
  35. return [
  36. [['mall_id'], 'required'],
  37. [['mall_id', 'push_count', 'views_count', 'stars_count', 'shares_count', 'discuss_count', 'goods_views_count', 'order_count', 'created_at', 'updated_at'], 'integer'],
  38. [['goods_amount'], 'number'],
  39. ];
  40. }
  41. /**
  42. * {@inheritdoc}
  43. */
  44. public function attributeLabels()
  45. {
  46. return [
  47. 'id' => 'ID',
  48. 'mall_id' => '商城ID',
  49. 'push_count' => '发布量',
  50. 'views_count' => '浏览量',
  51. 'stars_count' => '点赞量',
  52. 'shares_count' => '分享量',
  53. 'discuss_count' => '评论量',
  54. 'goods_views_count' => '商品访问统计',
  55. 'order_count' => '订单统计',
  56. 'created_at' => '创建时间',
  57. 'updated_at' => '更新时间',
  58. 'goods_amount' => '成交金额',
  59. ];
  60. }
  61. /**
  62. * @Author: ltm
  63. * @DateTime: 2022/1/12 0012 9:39
  64. * @Copyright: copyright (c) 2021 广东七件事集团
  65. * @param $data
  66. * @return string
  67. */
  68. public static function setData(array $params){
  69. try{
  70. $model = self::findOne(['mall_id' => $params['mall_id']]);
  71. if (!$model) {
  72. $model = new self();
  73. $model->loadDefaultValues();
  74. $model->mall_id = $params['mall_id'];
  75. $model->created_at = time();
  76. }else{
  77. if($params['push_count']) {
  78. $model->push_count = $model->push_count + $params['push_count'];
  79. unset($params['push_count']);
  80. }
  81. if($params['views_count']) {
  82. $model->views_count = $model->views_count + $params['views_count'];
  83. unset($params['views_count']);
  84. }
  85. if($params['stars_count']) {
  86. $model->stars_count = $model->stars_count + $params['stars_count'];
  87. unset($params['stars_count']);
  88. }
  89. if($params['shares_count']) {
  90. $model->shares_count = $model->shares_count + $params['shares_count'];
  91. unset($params['shares_count']);
  92. }
  93. if($params['discuss_count']) {
  94. $model->discuss_count = $model->discuss_count + $params['discuss_count'];
  95. unset($params['discuss_count']);
  96. }
  97. if($params['goods_views_count']) {
  98. $model->goods_views_count = $model->goods_views_count + $params['goods_views_count'];
  99. unset($params['goods_views_count']);
  100. }
  101. if($params['order_count']) {
  102. $model->order_count = $model->order_count + $params['order_count'];
  103. unset($params['order_count']);
  104. }
  105. if($params['goods_amount']) {
  106. $model->goods_amount = $model->goods_amount + $params['goods_amount'];
  107. unset($params['goods_amount']);
  108. }
  109. $model->updated_at = time();
  110. }
  111. if(!$model->load($params,'') || !$model->save()){
  112. throw new Exception($model->getErrorMessage());
  113. }
  114. return $model;
  115. }catch(\Exception $e){
  116. self::$static_error = $e->getMessage();
  117. return false;
  118. }
  119. }
  120. }