接口按月 按日查询数据

血红的双手。 提交于 2019-12-01 12:40:11

环境php本地写接口

1.PHP工具箱配置好相应的本地域名

2.下载一个客户端postman

 

  1.按日查询.接口传过来  $page $uid  $time

/* * 2019.10.15 *订单统计 * & 骑手的id * orderstatistics  按日查询 * */public function orderstatistics(){    $res = [];    $param = input('');    $page = input('page');    $uid = $param['uid'];//骑手的id    $time = $param['time'];//查询的时间    $data = $this-> order -> statistics($uid,$time,$page);//获取订单的列表    foreach ($data['data'] as $k=>&$v){        // status = 1:已接单 2:取货中 3:已取消 4:配送中 5:已完成  6:已评价',        switch ($v['status']){            case 1: $v['status_name'] = '已接单';break;            case 2: $v['status_name'] = '取货中';break;            case 3: $v['status_name'] = '已取消';break;            case 4: $v['status_name'] = '配送中';break;            case 5: $v['status_name'] = '已完成';break;            case 6: $v['status_name'] = '已评价';break;        }        $v['gettime'] = date('H:i',$v['gettime']);    }    //总收入  总的订单数    if(!empty($data['data'])){        $res['list'] =  $data['data'];    }else{        $res['list'] =  '暂无数据';    }    $res['money'] =  $data['money'];    $res['count'] =  $data['count'];    if($data !== false){        $res['code'] = 1;        $res['msg'] = '成功';        //return json(date('t',1571068800));        return json($res);    }else{        $res['code'] = 0;        $res['msg'] = '失败';        return json($res);    }
/* statistics * 订单统计 * &uid 骑手的id *  1.按日查询 * $time 查询的时间 * $param  page 页数 */public function statistics($uid,$time,$page){    //1571068800   1571068800    $res = [];    $where =[];    $where['ho.hid'] = $uid;    $pageNum = 10;  // 每页显示个数 10 个    $page  = $page ? $page : 1;   //默认当前页1    $limit = ($page - 1) * $pageNum;    if(empty($time)){//第一次进来没有时间的时候        //php获取今日开始时间戳和结束时间戳        $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));        $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;        $where['ho.jtime'] = [['gt',$beginToday],['lt',$endToday]];    }else{//操作本页面的时候 传过来时间的时候        $beginTime = strtotime($time);//传来的开始时间        $endTime = $beginTime + (24*60*60 - 1);//传来的结束时间        $where['ho.jtime'] = [['gt',$beginTime],['lt',$endTime]];    }    //gettime 预计送到时间    $data = db('horseman_order ho')        ->join('merchants_food_order o','o.id=ho.oid','left')        ->join('merchants m','m.id=o.mid')        ->where($where)        -> limit($limit, $pageNum)        ->field('ho.id,ho.oid,ho.address,ho.status,ho.earnings,m.name as mname,o.gettime')        ->select();    $res['data'] = $data;    $count = db('horseman_order ho')->count();    $res['count'] = $count;    $money = db('horseman_order ho')        ->where($where)        //总收益 status = 1:已接单 2:取货中 3:已取消 4:配送中 5:已完成  6:已评价',        ->where('ho.status','in','5,6')        ->sum('earnings');    $res['money'] = $money;    return $res; }2.按月查询.接口传过来  $page $uid 
/** 2019.10.15*订单统计* & 骑手的id  按月查询* */public function monthstatistics(){    $param = input('');    $uid = $param['uid'];    $data = $this ->order ->monthstatistics($uid);    $res = [];    if($data){        $res['list'] = $data;        $res['code'] = 1;        $res['msg'] = '成功';    }else{        $res['list'] = '暂无数据';        $res['code'] = 0;        $res['msg'] = '失败';    }    return json($res);}
/* * monthstatistics * uid 骑手的id * */public function monthstatistics($uid){    //骑手的注册时间    $ctime = db('horseman')->where('id',$uid)->value('ctime');    $start_m = date("Y-m-d",$ctime);    $end_m = date("Y-m-d",time());    $date1 = explode('-',$start_m);    $date2 = explode('-',$end_m);    if($date1[1]<$date2[1]){ //判断月份大小,进行相应加或减        $month_number= abs($date1[0] - $date2[0]) * 12 + abs($date1[1] - $date2[1]);    }else{        $month_number= abs($date1[0] - $date2[0]) * 12 - abs($date1[1] - $date2[1]);    }    //总的月份时间    $months  = [];    for($i=0;$i<=$month_number;$i++)    {        $months[] .= date("Y-m", strtotime('-'. $i . 'months'));    }    //总收益 status = 1:已接单 2:取货中 3:已取消 4:配送中 5:已完成  6:已评价',    $money = [];    for($i=0;$i<=$month_number;$i++)    {        $money[] .= db('horseman_order')            ->where(array('wtime'=>array(array('egt',strtotime(date("Y-m-01", strtotime(' -'. $i . 'month')))),array('elt',strtotime(date("Y-m-31", strtotime(' -'. $i . 'month')))))))            ->where(['hid'=>$uid])            ->where('status','in','5,6')            ->sum('earnings');    }    $count = [];    for($i=0;$i<=$month_number;$i++)    {        $count[] .= db('horseman_order')            ->where(array('wtime'=>array(array('egt',strtotime(date("Y-m-01", strtotime(' -'. $i . 'month')))),array('elt',strtotime(date("Y-m-31", strtotime(' -'. $i . 'month')))))))            ->where(['hid'=>$uid])            ->where('status','in','5,6')            ->count();    }    $res = [];    foreach ($months as $k=>$v){        $res[$k]['time'] = $v;        $res[$k]['money'] = $money[$k];        $res[$k]['count'] = $count[$k];    }    return $res;}返回的值1.按日返回值

{

    "list": [               list  订单的列表

        {

            "id": 2,             骑手订单的 id

            "oid": 162,          商品订单的id

            "address": "山西省-朔州市",    送货的地址

            "status": 5,      状态值 1:已接单 2:取货中 3:已取消 4:配送中 5:已完成  6:已评价

            "earnings": "5.10",   订单收益

            "mname": "FPS店",   店铺名称

            "gettime": "08:00",  期望/预计送达

            "status_name": "已完成"   状态值的名称

        },

        {

            "id": 3,

            "oid": 230,

            "address": "安徽-阜阳",

            "status": 6,

            "earnings": "6.00",

            "mname": "FPS店",

            "gettime": "08:00",

            "status_name": "已评价"

        }

    ],

    "money": 11.1,    一天的收益

    "count": 5,       一天的订单数

    "code": 1,       1成功  0失败

    "msg": "成功"   

}

2.按月返回值

{

    "list": [

        {

            "time": "2019-10",   //时间

            "money": "8",         //这个月的总收益

            "count": "3"          //这个月的总订单数

        },

        {

            "time": "2019-09",

            "money": "11.1",

            "count": "2"

        },

        {

            "time": "2019-08",

            "money": "7",

            "count": "2"

        },

        {

            "time": "2019-07",

            "money": "0",

            "count": "0"

        },

        {

            "time": "2019-06",

            "money": "0",

            "count": "0"

        },

        {

            "time": "2019-05",

            "money": "0",

            "count": "0"

        },

        {

            "time": "2019-04",

            "money": "0",

            "count": "0"

        }

    ],

    "code": 1,    1成功 0失败

    "msg": "成功"

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!