| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- <?php
- namespace addons\Xhs\common\models;
- use common\enums\StatusEnum;
- use Yii;
- use yii\db\Exception;
- /**
- * This is the model class for table "qimall_addons_xhs_statistics".
- *
- * @property int $id ID
- * @property int $mall_id 商城ID
- * @property int $push_count 发布量
- * @property int $views_count 浏览量
- * @property int $stars_count 点赞量
- * @property int $shares_count 分享量
- * @property int $discuss_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 成交金额
- */
- class AddonsXhsStatistics extends \common\models\base\BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%addons_xhs_statistics}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id'], 'required'],
- [['mall_id', 'push_count', 'views_count', 'stars_count', 'shares_count', 'discuss_count', 'goods_views_count', 'order_count', 'created_at', 'updated_at'], 'integer'],
- [['goods_amount'], 'number'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => '商城ID',
- 'push_count' => '发布量',
- 'views_count' => '浏览量',
- 'stars_count' => '点赞量',
- 'shares_count' => '分享量',
- 'discuss_count' => '评论量',
- 'goods_views_count' => '商品访问统计',
- 'order_count' => '订单统计',
- 'created_at' => '创建时间',
- 'updated_at' => '更新时间',
- 'goods_amount' => '成交金额',
- ];
- }
- /**
- * 保存数据
- * @Author: ltm
- * @DateTime: 2021/01/05 0022 17:13
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param array $params
- * @return AddonsMaterial|bool
- */
- public static function setData(array $params){
- try{
- $beginTodate = mktime(0,0,0,date('m'),date('d'),date('Y'));
- $model = self::find()->where(['mall_id'=>$params['mall_id']])->andWhere(['>','created_at',$beginTodate])->one();
- if (!$model) {
- $model = new self();
- $model->loadDefaultValues();
- $model->mall_id = $params['mall_id'];
- $model->created_at = time();
- }else{
- if($params['push_count']) {
- $model->push_count = $model->push_count + $params['push_count'];
- unset($params['push_count']);
- }
- if($params['views_count']) {
- $model->views_count = $model->views_count + $params['views_count'];
- unset($params['views_count']);
- }
- if($params['stars_count']) {
- $model->stars_count = $model->stars_count + $params['stars_count'];
- unset($params['stars_count']);
- }
- if($params['shares_count']) {
- $model->shares_count = $model->shares_count + $params['shares_count'];
- unset($params['shares_count']);
- }
- if($params['discuss_count']) {
- $model->discuss_count = $model->discuss_count + $params['discuss_count'];
- unset($params['discuss_count']);
- }
- if($params['goods_views_count']) {
- $model->goods_views_count = $model->goods_views_count + $params['goods_views_count'];
- unset($params['goods_views_count']);
- }
- if($params['order_count']) {
- $model->order_count = $model->order_count + $params['order_count'];
- unset($params['order_count']);
- }
- if($params['goods_amount']) {
- $model->goods_amount = $model->goods_amount + $params['goods_amount'];
- unset($params['goods_amount']);
- }
- $model->updated_at = time();
- }
- if(!$model->load($params,'') || !$model->save()){
- throw new Exception($model->getErrorMessage());
- }
- return $model;
- }catch(\Exception $e){
- self::$static_error = $e->getMessage();
- return false;
- }
- }
- /**
- * 保存数据
- * @Author: ltm
- * @DateTime: 2021/01/05 0022 17:13
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param array $params
- * @return AddonsMaterial|bool
- */
- public static function statistics($mall_id,$start_time,$end_time){
- if($start_time) $beginThismonth = $start_time; else $beginThismonth = mktime(0,0,0,date('m'),1,date('Y'));
- if($start_time) $endThismonth = $end_time; else $endThismonth = mktime(23,59,59,date('m'),date('t'),date('Y'));
- $params['where'][] = ['=','mall_id',$mall_id];
- $params['where'][] = ['between','created_at',$beginThismonth,$endThismonth];
- $params['order'] = 'created_at';
- $yesterday_data = AddonsXhsStatistics::lists($params,true);
- $data['items'] = ['发布量','分享量','点赞量','浏览量','评论量','商品访问量','订单量'];
- if($yesterday_data) foreach (array_column($yesterday_data,'created_at') as $k => $v) $data['dates'][] = date("Y-m-d",$v);
- $data['series'][0]['type'] = "line";
- $data['series'][0]['name'] = "发布量";
- if($yesterday_data) $data['series'][0]['data'] = array_column($yesterday_data,'push_count');
- $data['series'][1]['type'] = "line";
- $data['series'][1]['name'] = "分享量";
- if($yesterday_data) $data['series'][1]['data'] = array_column($yesterday_data,'shares_count');
- $data['series'][2]['type'] = "line";
- $data['series'][2]['name'] = "点赞量";
- if($yesterday_data) $data['series'][2]['data'] = array_column($yesterday_data,'stars_count');
- $data['series'][3]['type'] = "line";
- $data['series'][3]['name'] = "浏览量";
- if($yesterday_data) $data['series'][3]['data'] = array_column($yesterday_data,'views_count');
- $data['series'][4]['type'] = "line";
- $data['series'][4]['name'] = "评论量";
- if($yesterday_data) $data['series'][4]['data'] = array_column($yesterday_data,'discuss_count');
- $data['series'][5]['type'] = "line";
- $data['series'][5]['name'] = "商品访问量";
- if($yesterday_data) $data['series'][5]['data'] = array_column($yesterday_data,'goods_views_count');
- $data['series'][6]['type'] = "line";
- $data['series'][6]['name'] = "订单量";
- if($yesterday_data) $data['series'][6]['data'] = array_column($yesterday_data,'order_count');
- return $data;
- }
- /**
- * @Author: ltm
- * @DateTime: 2022/1/17 0017 14:29
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @param $data
- * @return string
- */
- public static function format($data){
- $fields = [];
- if($data){
- $list = array_map(function($v){
- if(is_numeric($v)){
- if($v>10000) $v = ($v/10000)."万";
- }
- return $v;
- },$data);
- }
- return $list;
- }
- }
|