2019-09-06 23:53:10 +08:00

160 lines
4.6 KiB
PHP
Executable File

<?php
namespace wstmart\admin\controller;
use wstmart\admin\model\Reports as M;
/**
* ============================================================================
* 报表控制器
*/
class Reports extends Base{
/**
* 商品销售排行
*/
public function toTopSaleGoods(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/top_sale_goods");
}
/**
* 获取商品排行数据
*/
public function topSaleGoodsByPage(){
$m = new M();
return WSTGrid($m->topSaleGoodsByPage());
}
/**
* 店铺销售排行
*/
public function toTopShopSales(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/top_sale_shop");
}
/**
* 获取店铺排行数据
*/
public function topShopSalesByPage(){
$m = new M();
return WSTGrid($m->topShopSalesByPage());
}
/**
* 获取销售额
*/
public function toStatSales(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/stat_sales");
}
public function statSales(){
$m = new M();
return $m->statSales();
}
/**
* 获取订单统计
*/
public function toStatOrders(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/stat_orders");
}
/*
*
*/
public function getOrders(){
$m = new M();
return $m->getOrders();
}
public function statOrders(){
$m = new M();
return $m->statOrders();
}
/**
* 获取每日新增用户
*/
public function toStatNewUser(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/stat_new_user");
}
public function statNewUser(){
$start = date('Y-m-d 00:00:00',strtotime(input('startDate')));
$end = date('Y-m-d 23:59:59',strtotime(input('endDate')));
$where='dataFlag=1 AND userStatus=1 AND userType=0';
$totalNum=db('users')->where($where)->count('userId');
if($start!='' && $end!=''){
$start = date('Y-m-d 00:00:00',strtotime(input('startDate')));
$end = date('Y-m-d 23:59:59',strtotime(input('endDate')));
$where.=' AND createTime BETWEEN "'.$start.'" AND "'.$end.'"';
}else if($start!=''){
$start = date('Y-m-d 00:00:00',strtotime(input('startDate')));
$where.= ' AND createTime>="'.$start.'"';
}else if($end!=''){
$end = date('Y-m-d 00:00:00',strtotime(input('endDate')));
$where.= ' AND createTime<="'.$end.'"';
}
$aa=array('dsad');
$groupNum=db('users')->where($where)->count('userId');
$groupRate=$groupNum/$totalNum;
$m = new M();
$a= $m->statNewUser();
$a['groupNum']=$groupNum;
$a['groupRate']=$groupRate;
$this->assign('a',$a);
return $a;
}
/*
* 首页获取新增用户
*/
public function getNewUser(){
$m = new M();
$data = cache('userNumData');
if(empty($data)){
$rdata = $m->statNewUser();
cache('userNumData',$rdata,7200);
}else{
$rdata = cache('userNumData');
}
return $rdata;
}
/**
* 会员登录统计
*/
public function toStatUserLogin(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch("/reports/stat_user_login");
}
public function statUserLogin(){
$m = new M();
return $m->statUserLogin();
}
/**
* 导出商品销售订单
*/
public function toExportGoods(){
$m = new M();
$rs = $m->toExportGoods();
$this->assign('rs',$rs);
}
/**
* 导出商家销售订单
*/
public function toExportShop(){
$m = new M();
$rs = $m->toExportShop();
$this->assign('rs',$rs);
}
// 店铺商品销售统计
public function detail(){
$this->assign("startDate",date('Y-m-d',strtotime("-1month")));
$this->assign("endDate",date('Y-m-d'));
return $this->fetch('detail');
}
public function detailByPage(){
$m=new M();
$result=$m->detailByPage();
return $result;
}
}