'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; } }