/** * 订单走势 */ public function orderTrend() { /** * $mouth_solt_trades = [ * ['k'=>[ * 'trades' => [ * 'k'=>['itemid'=>int,'amount'=>int], * ], * 'trade_total'=>int, * 'trade_amount'=>int, * 'mouth_name'=>data("Y-m",time), * 'mouth_solt'=>[ * 'start'=>['ts'=>timestrap,'date'=>'Y-m'], * 'end'=>['ts'=>timestrap,'date'=>'Y-m'] * ] * ]] * ]; */ //按照统计 // $mouth_solt = get_day_solt($this->month_start,$this->month_end); // $model = D('Trade'); // foreach ($mouth_solt as $k => $v) { // $map['addtime'] = [['gt', $v['start']['ts']], ['lt', $v['end']['ts']]]; // $map['status'] = ['in', '2,3,4']; // $mouth_solt_trades[$k]['trades'] = $model->field('itemid,amount')->where($map)->select(); // $x = count($mouth_solt_trades[$k]['trades']); // $x = $x==0?'':$x; // $mouth_solt_trades[$k]['trade_total'] = $x; // $y = get_arr_k_amount($mouth_solt_trades[$k]['trades'],'amount'); // $y = $y==0?'':$y; // $mouth_solt_trades[$k]['trade_amount'] = $y; // $mouth_solt_trades[$k]['mouth_solt'] = $v; // $mouth_solt_trades[$k]['mouth_name'] = date("Y-m", $v['start']['ts']); // unset($mouth_solt_trades[$k]['trades']); // } // $this->assign(['mouth_solt_trades' => $mouth_solt_trades]); // $this->display(); //按照天数统计 $day_solt = get_day_solt($this->day_start, $this->day_end); $model = D('Trade'); foreach ($day_solt as $k => $v) { $map['addtime'] = [['gt', $v['start']['ts']], ['lt', $v['end']['ts']]]; $map['status'] = ['in', '2,3,4']; $day_solt_trades[$k]['trades'] = $model->field('itemid,amount')->where($map)->select(); $x = count($day_solt_trades[$k]['trades']); $x = $x == 0 ? '' : $x; $day_solt_trades[$k]['trade_total'] = $x; $y = get_arr_k_amount($day_solt_trades[$k]['trades'], 'amount'); $y = $y == 0 ? '' : $y; $day_solt_trades[$k]['trade_amount'] = $y; $day_solt_trades[$k]['day_solt'] = $v; $day_solt_trades[$k]['day_name'] = date("Y-m-d", $v['start']['ts']); unset($day_solt_trades[$k]['trades']); } $this->assign(['day_solt_trades' => $day_solt_trades]); $this->display(); }
/** * 公用查询时间 */ private function getRange() { if (I('day_start') && I('day_end')) { $this->day_start = strtotime(I('day_start') . " 00:00:00"); $this->day_end = strtotime(I('day_end') . " 23:59:59"); } else { $this->day_start = strtotime('-1 week'); $this->day_end = time(); } $this->day_solt = get_day_solt($this->day_start, $this->day_end); $this->assign(['day_start' => $this->day_start, 'day_end' => $this->day_end]); $this->mapDayRange = [['gt', $this->day_start], ['lt', $this->day_end]]; if (I('month_start') && I('month_end')) { $this->month_start = strtotime(I('month_start') . "-01 00:00:00"); $this->month_end = strtotime(I('month_end') . "-01 23:59:59"); } else { $this->month_start = strtotime($this->now_Y . "-01-01 00:00:00"); $this->month_end = time(); } $this->month_solt = get_month_solt($this->month_start, $this->month_end); $this->assign(['month_start' => $this->month_start, 'month_end' => $this->month_end]); $this->mapMonthRange = [['gt', $this->month_start], ['lt', $this->month_end]]; if (I('year_start') && I('year_end')) { $this->year_start = strtotime(I('year_start') . "-01-01 00:00:00"); $this->year_end = strtotime(I('year_end') . "-12-31 23:59:59"); } else { $this->year_start = strtotime($this->now_Y - 1 . "-01-01 00:00:00"); $this->year_end = time(); } $this->year_solt = get_year_solt($this->year_start, $this->year_end); $this->assign(['year_start' => $this->year_start, 'year_end' => $this->year_end]); $this->mapYearRange = [['gt', $this->year_start], ['lt', $this->year_end]]; }