/*
    用户排行
    kind  string  
        today 今日
        yesterday 昨日 
        month  本月
 */
public function rider_rank($kind,$limit=20) {
    if ($kind=='today') {
        $begin = strtotime(date('Y-m-d',TIMESTAMP));
        $end = TIMESTAMP;
    } else if ($kind=='yesterday'){
        $end = strtotime(date('Y-m-d',TIMESTAMP));
        $begin = $end-86400;
    } else if ($kind=='month') {
        $begin = mktime(0,0,0,date('n',TIMESTAMP),1,date('Y',TIMESTAMP));
        $end = TIMESTAMP;
    }
    $sql = '';
    if ($begin && $end) {
        $sql = " and addtime between {$begin} and {$end}";
    } 
    $sql = "SELECT uid,count(*) as num FROM pre_orders WHERE status in (20,25,30,40) {$sql} GROUP BY uid ORDER BY num DESC LIMIT {$limit}";
    $rows = fetch_all($sql);
    $users = groupbyid(C::t(PT_USER)->getMany(joinbyid($rows, 'uid')), 'uid');
    $rank = 1;
    $pre_num = 0;
    foreach ($rows as $k => &$v) {
        if ($v['num']==$pre_num) {
            $v['rank'] = $rank;
        } else {
            $pre_num = $v['num'];
            $v['rank'] = $rank++;
        }
        $v['realname'] = $users[$v['rider_id']]['realname'];
        $v['avatar_url'] = DISCUZ_SITE .get_user_avatar($v['rider_id']);
        unset($v);
    }
    if ($rows) {
        succ($rows);
    } else {
        fail('暂无排名信息');
    }
}