Coupon.php
2.89 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
95
96
97
98
99
<?php
/**
* Created by PhpStorm.
* User: Targaryen
* Date: 2016/4/11
* Time: 16:31
*/
use Action\AbstractAction;
use LibModels\Wap\Coupon\CouponData;
use Plugin\DataProcess\CouponFloorProcess;
use Plugin\Helpers;
class CouponController extends AbstractAction
{
/**
* 领券楼层数据列表
*
* @author chengyao.guo
*/
public function floorAction()
{
if(!$this->isApp()){
$this->setNavHeader('领券中心', true, SITE_MAIN);
}
$receiveData = filter_input_array(INPUT_GET, array(
'code' => FILTER_DEFAULT
));
$result = array();
$uid = $this->getUid();
$resource = CouponData::getCouponRousource($receiveData['code'], $uid);
if (isset($resource['code']) && $resource['code'] == 200) {
$result = CouponFloorProcess::getContent($resource['data']);
}
$this->_view->display('index', array(
'content' => $result,
'floorPage' => true
));
}
/**
* 领券操作
*
* @author chengyao.guo
*/
public function receiveCouponAction()
{
$returnData = array();
// 获取优惠券 ID
$receiveData = filter_input_array(INPUT_GET, array(
'couponID' => FILTER_DEFAULT
));
// 跳转 URl
$playUrl = Helpers::url('/coupon/floor');
// 判断用户是否登录
if ((!$this->getUid() || !is_numeric($this->getUid())) || (!$this->get('uid') || !is_numeric($this->get('uid')))) {
// 用户未登录,跳转登录页面
$returnData['noLogin'] = true;
if (!$this->isApp()) {
$returnData['url'] = Helpers::url('/signin.html', array('refer' => $playUrl), 'default');
} else {
$playUrlEncode = strtr($playUrl, array('/' => '\\/'));
$returnData['url'] = $playUrl . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $playUrlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}';
}
} else {
// 登录后调用领券接口
$result = CouponData::receiveCoupon($this->getUid(), $receiveData['couponID']);
switch ($result['code']) {
case 200:
$returnData = array(
'msg' => '领券成功!',
'status' => true,
);
break;
default:
$returnData = array(
'msg' => '领券失败!',
'status' => false,
);
break;
}
}
echo json_encode($returnData);
}
/**
* 判断是否是 APP
*
* @return bool
*/
public function isApp()
{
return (null !== $this->get('app_version'));
}
}