| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- <?php
- namespace addons\Album\common\models;
- use common\models\user\User;
- use Yii;
- use yii\db\Exception;
- /**
- * This is the model class for table "qimall_addons_album_statistics".
- *
- * @property int $id ID
- * @property int $mall_id 商城ID
- * @property int|null $visit_count 访问量,一个会员最多占一个访问量
- * @property int $views_count 浏览量
- * @property int $shares_click_count 分享后用户点击访问商品统计
- * @property int $shares_count 分享量
- * @property int $stop_time 停留时长单位(秒)
- * @property int|null $goods_click_count 商品点击
- * @property int|null $goods_views_count 商品访问统计
- * @property int|null $order_count 订单统计
- * @property int $created_at 创建时间
- * @property int $updated_at 更新时间
- * @property float|null $goods_amount 成交金额
- * @property int|null $album_id 智能画册ID
- * @property int|null $pay_count 支付人数
- */
- class AddonsAlbumStatistics extends \common\models\base\BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%addons_album_statistics}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id'], 'required'],
- [['mall_id', 'visit_count', 'views_count', 'shares_click_count', 'shares_count', 'stop_time', 'goods_click_count', 'goods_views_count', 'order_count', 'created_at', 'updated_at', 'album_id', 'pay_count'], 'integer'],
- [['goods_amount'], 'number'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => '商城ID',
- 'visit_count' => '访问量,一个会员最多占一个访问量',
- 'views_count' => '浏览量',
- 'shares_click_count' => '分享后用户点击访问商品统计',
- 'shares_count' => '分享量',
- 'stop_time' => '停留时长单位(秒)',
- 'goods_click_count' => '商品点击',
- 'goods_views_count' => '商品访问统计',
- 'order_count' => '订单统计',
- 'created_at' => '创建时间',
- 'updated_at' => '更新时间',
- 'goods_amount' => '成交金额',
- 'album_id' => '智能画册ID',
- 'pay_count' => '支付人数',
- ];
- }
- public function getUser()
- {
- return $this->hasOne(User::class, ['id' => 'user_id'])->select('id,mobile,nickname,avatar_url,parent_id,username');
- }
- public function getAlbum()
- {
- return $this->hasOne(AddonsAlbum::class, ['id' => 'album_id'])->select('id,title,goods_count');
- }
- /**
- * 秒数转时分格式
- * @param $time int
- * @author jack
- * @throws string
- * @return string
- */
- public static function sec2Time($time)
- {
- $value = [
- "years" => 0, "days" => 0, "hours" => 0,
- "minutes" => 0, "seconds" => 0,
- ];
- if ($time >= 31556926) {
- $value["years"] = floor($time/31556926);
- $time = ($time%31556926);
- }
- if ($time >= 86400) {
- $value["days"] = floor($time/86400);
- $time = ($time%86400);
- }
- if ($time >= 3600) {
- $value["hours"] = floor($time/3600);
- $time = ($time%3600);
- }
- if ($time >= 60) {
- $value["minutes"] = floor($time/60);
- $time = ($time%60);
- }
- $value["seconds"] = floor($time);
- $t = '';
- if($value["years"]>0) $t .= $value["years"] . "年";
- if($value["days"]>0) $t .= $value["days"] . "天";
- if($value["hours"]>0) $t .= $value["hours"] . "小时";
- if($value["minutes"]>0) $t .= $value["minutes"] . "分";
- if($value["seconds"]>0) $t .= $value["seconds"] . "秒";
- return $t;
- }
- /**
- * @Author: ltm
- * @DateTime: 2022/2/15 0015 11:43
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public static function setData(array $params){
- try{
- $model = self::findOne(['album_id'=>$params['album_id'],'mall_id'=>$params['mall_id']]);
- if (!$model){
- $model = new self();
- $model->created_at = time();
- $model->loadDefaultValues();
- }else{
- $model->updated_at = time();
- if(!$params['album_visit']) $model->visit_count += $params['visit_count'];
- if($params['views_count']) $model->views_count += $params['views_count'];
- if($params['shares_count']) $model->shares_count += $params['shares_count'];
- if($params['shares_click_count']) $model->shares_click_count += $params['shares_click_count'];
- if($params['goods_views_count']) $model->goods_views_count += $params['goods_views_count'];
- if($params['goods_click_count']) $model->goods_click_count += $params['goods_click_count'];
- if($params['order_count']) $model->order_count += $params['order_count'];
- if($params['goods_amount']) $model->goods_amount += $params['goods_amount'];
- if($params['pay_count']) $model->pay_count += $params['pay_count'];
- if($params['stop_time']) $model->stop_time += $params['stop_time'];
- unset($params['album_visit'],$params['order_count'],$params['goods_amount'],$params['pay_count'],$params['visit_count']);
- unset($params['views_count'],$params['shares_count'],$params['shares_click_count'],$params['goods_views_count'],$params['goods_click_count'],$params['stop_time']);
- }
- $model->mall_id = $params['mall_id'];
- if(!$model->load($params,'') || !$model->save()){
- throw new Exception($model->getErrorMessage());
- }
- return $model;
- }catch(\Exception $e){
- self::$static_error = $e->getMessage();
- return false;
- }
- }
- }
|