order = new Order(); //本月 } /** * 订单数量 * @param $month * @return mixed */ public function getNumber(array $data) { //dump($data); $search = new SearchServices($this->order, $data); $search->setTimeType('order'); $search->unsetAllWhere(); //dump($search->echoWhere()); return ($search->totalNumber('id')); } public function getSum($data, $field) { $search = new SearchServices($this->order, $data, 'order'); $search->unsetAllWhere(); //dump($search->echoWhere()); return money_str($search->totalSum($field)); } public function topMerchantNumber($data, $limit = 10) { $search = new SearchServices($this->order, $data, 'order'); $search->unsetAllWhere(); $model = $search->getModel()->groupBy('merchant_id'); $model = $model->with('merchants:id,name')->selectRaw('merchant_id,count(*) as number,sum(pay_money) as pay_money ,sum(order_money) as order_money ,sum(total_money) as total_money,sum(final_money) as final_money') ->orderBy('order_money', 'desc'); return $model->limit($limit)->get()->toArray(); } public function dayOrderNumber($data) { $search = new SearchServices($this->order, $data, 'order'); $search->unsetAllWhere(); $model = $search->getModel(); $model = $model->selectRaw('DATE_FORMAT(order_at,"%Y-%m-%d") as day,count(*) as number,sum(pay_money) as pay_money ,sum(order_money) as order_money ,sum(total_money) as total_money'); $model = $model->groupBy('day'); return $model->get()->toArray(); } public function getSumArr($data, $filed_arr) { $search = new SearchServices($this->order, $data, 'order'); $search->unsetAllWhere(); $model = $search->getModel(); $raw_arr = []; foreach ($filed_arr as $k => $v) { $raw_arr[] = \DB::raw('SUM(' . $v . ') as ' . $v); } $sum_arr = $model->first($raw_arr)->toArray(); return ($sum_arr); } }