OrderCountController.class.php
3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
/**
* 统计购买并发订单接口
* User: yingcai
* Date: 2018/2/2
* Time: 下午7:02
*/
namespace Apicp\Controller\LiveOrder;
use Common\Common\Order;
class OrderCountController extends AbstractController
{
/**
* OrderCount
* @author houyingcai
* @desc 统计购买并发订单接口
* @return array|bool 购买规则
array(
'live_total' => 60, // 累计购买并发人数
'surplus_total' => 12, // 剩余并发人数
'expire_total' => 10, // 距离当前时间最近的即将失效人数
'expire_days' => 5, // 距离当前时间最近的剩余失效天数
'expire_list' => array( // 即将失效的订单列表
array(
'num' => 10, // 即将失效的并发人数
'days' => 5, // 剩余天数
'order_sn' => 'DD2018020118403416000131', // 订单编号
'pay_time' => '1515340800000', // 支付成功时间
'end_time' => '1519927261000', // 使用截止时间
),
),
)
*/
public function Index_post()
{
$orderServ = &Order::instance();
// 获取购买并发人数和剩余并发人数
$liveOrder = $orderServ->getLiveCastBasic();
// 获取即将失效的并发数和剩余天数
$expireList = $orderServ->FetchAllLiveCastAvailable();
$list = [];
$expireTotal = 0;
$expireDays = 0;
if (!empty($expireList)) {
// 距离当前最近的失效并发数
$expireTotal = $expireList[0]['oauMaxAmout'] - $expireList[0]['oauAvailableAmout'];
// 计算距离当前时间最近的剩余失效天数(如果第一个大于规定剩余天数,那么就没有即将失效的订单)
$expireDays = ceil(($expireList[0]['oauEnd'] - MILLI_TIME) / 1000 / 86400);
// 剩余过期天数小于规定的剩余天数
if ($expireDays <= 15) {
// 格式化返回列表数据
foreach ($expireList as $val) {
$days = ceil(($val['oauEnd'] - MILLI_TIME) / 1000 / 86400);
// 剩余过期天数小于规定的剩余天数
if ($days <= 15) {
$list[] = [
'num' => $val['oauMaxAmout'] - $val['olcAvailableAmout'],
'days' => $days,
'order_sn' => $val['ordCode'],
'pay_time' => $val['oauBegin'],
'end_time' => $val['oauEnd'],
];
}
}
// 距离当前时间最近的失效天数
$expireDays = $list[0]['days'];
} else {
$expireDays = 0;
}
}
// 返回结果
$this->_result = [
'live_total' => intval($liveOrder['liveTotal']),
'surplus_total' => (int)($liveOrder['liveTotal'] - $liveOrder['liveExpend']),
'expire_total' => $expireTotal,
'expire_days' => $expireDays,
'expire_list' => $list,
];
return true;
}
}