OrderCountController.class.php 2.18 KB
<?php
/**
 * 授权人数剩余失效天数统计接口
 * Created by PhpStorm.
 * User: yingcai
 * Date: 2018/2/28
 * Time: 上午10:44
 */

namespace Apicp\Controller\SaleOrder;


use Common\Common\Order;

class OrderCountController extends \Apicp\Controller\AbstractController
{
    // protected $_require_login = false;

    public function Index_post()
    {
        $orderServ = &Order::instance();

        // 获取当前应用授权使用人数
        $allow_users = $orderServ->GetAllowUserTotal(['plIdentifier' => 'performancerankings']);
        // 没有安装业绩比拼
        if (empty($allow_users)) {

            E('_ERR_NOT_INSTALL_SALE');
        }

        // 获取业绩比拼有效的订单(注:数组第一个元素是当前使用的人数范围,之后的元素都是续费但未生效的人数范围)
        $valid_order = $orderServ->FetchAllSaleValidOrder();


        // 有效订单为空时,获取业绩比拼(购买或续费的业绩比拼)失效订单
        if (empty($valid_order)) {

            $no_valid_order = $orderServ->fetchOrderLiveList(['ordType' => 1, 'isSearchAvailable' => 2], ['oauEnd' => 'DESC']);
            $no_valid_order = $no_valid_order['list'];

            // 已购买的人数范围截止时间
            $end_time = empty($no_valid_order) ? 0 : $no_valid_order[0]['oauEnd'];
            // 已购买的最大人数
            $max_amout = empty($no_valid_order) ? 0 : $no_valid_order[0]['oauMaxAmout'];
        } else {

            $end_time = $valid_order[0]['oauEnd']; // 已购买的人数范围截止时间
            $max_amout = $valid_order[0]['oauMaxAmout']; // 已购买的最大人数

            if (count($valid_order) > 1) {
                $last_order = end($valid_order);
                $end_time = $last_order['oauEnd'];
            }
        }
        
        // 剩余使用天数
        $surplus_days = floor(($end_time - MILLI_TIME)/1000/86400);

        $this->_result = [
            'current_people' => $allow_users['memberTotal'],
            'max_amout' => $max_amout,
            'end_time' => $end_time,
            'surplus_days' => $surplus_days < 0 ? 0 : $surplus_days,
        ];

        return true;
    }
}