qq分分彩app|qq分分彩开奖记录官网

統計30天訂單 12周訂單 6月訂單

瀏覽:115 發布日期:2019/10/15 分類:技術分享 關鍵字: 數據統計 訂單統計
//商戶首頁統計 
    public static function storeChart($sid){
        $orwhere = ['status'=>6,'store_id'=>$sid];
        $tarr = self::getTimeArr(30,12,6); //生成統計數組
        $arr = self::ChartData($tarr,$orwhere); //統計查詢  數據組裝
        $time = strtotime(date("Y-m"));//本月初時間

        //消費人數 平臺會員數   菜品數量   訂單數量(本月) 訂單總數 銷售金額    30日統計  12周統計  6月統計
        $arr['total_member'] = MemberModel::where('status',0)->count();
        $arr['consumer'] = orderModel::where('store_id',$sid)->group('mid')->count();
        $arr['product'] = ProductModel::where('store_id',$sid)->count();
        return $arr;
    }

//統計數據查詢
    public static function ChartData($arr,$orwhere=[]){
        $data['day'] = self::getCharData($arr['day'],$arr['num']['daytime'],$orwhere,"from_unixtime(create_time, '%Y-%m-%d')");
        $data['week'] = self::getCharData($arr['week'],$arr['num']['weektime'],$orwhere,"from_unixtime(create_time, '%u')");
        $data['month'] = self::getCharData($arr['month'],$arr['num']['monthtime'],$orwhere,"from_unixtime(create_time, '%Y-%m')");
        return $data;
    }
//查詢數據
    public static function getCharData($arr,$time,$orwhere,$where){
        $day = orderModel::field($where." as dat, count(*) as  num ,sum(price) as price")->group($where)->where($orwhere)->whereTime("create_time",'>=',$time)->order('dat','desc')->select()->toArray();
        $day =getArrayKey($day,'dat');
        foreach ($arr as $k => $v) {
            $data[$v] = isset($day[$v])?$day[$v]:0;
        }
        return $data;
    }

    //生成 統計時間數組 
    public static function getTimeArr($day=30,$week=12,$month=6){
        for ($i=0; $i < $day ; $i++) { 
            $data['day'][] = date("Y-m-d",strtotime("-".$i."day"));
            if ($i==($day-1))$data['num']['daytime'] = strtotime(date("Y-m-d",strtotime("-".$i." day")));
        }
        for ($i=0; $i < $week ; $i++) { 
            $data['week'][$i] = date("W",strtotime("-".$i."week"));
            if ($i==($week-1))$data['num']['weektime'] = strtotime(date("Y-m-d",strtotime("-".$i." week Monday")));
            // dump(date("Y-m-d",strtotime("-".$i." week Monday")));
        }
        for ($i=0; $i < $month ; $i++) { 
            $data['month'][] = date("Y-m",strtotime("-".$i."month"));
            if ($i==($month-1))$data['num']['monthtime'] = strtotime(date("Y-m",strtotime("-".$i." month")));
        }
        $data['num']['day'] = $data['day'][$day-1];
        $data['num']['week'] = $data['week'][$week-1];
        $data['num']['month'] = $data['month'][$month-1];
        return $data;
    }


//key 組裝數組
function getArrayKey($arr,$key='id'){
    $data ="";
    foreach ($arr as $k => $v) {
        $data[$v[$key]] = $v;
    }
    return $data;
}
最佳答案
評論( 相關
后面還有條評論,點擊查看>>
qq分分彩app 倍投模式148 重庆幸运农场走势图爱彩网 赛车pk10冠军技巧 内衣碗女子橄榄球大赛 重庆百变王牌近100期 炸金花手机版下载 北京pk拾赛车计划精准版 pc蛋蛋28神测网 股票走势图怎么看 老重庆时时开奖结果查询 分分彩9码平刷稳赚方案 深海捕鱼千炮版官方 排列三直选遗漏分析 十一选五网上怎么投注 扑克三公游戏下载 小白赚钱宝典 小说