Coupon.php 8.61 KB
<?php

/**
 * Created by PhpStorm.
 * User: Targaryen
 * Date: 2016/4/11
 * Time: 16:31
 */
use LibModels\Wap\Coupon\CouponData;
use Action\AbstractAction;
use Plugin\DataProcess\CouponFloorProcess;
use Plugin\Helpers;


class CouponController extends AbstractAction
{

    /**
     * 领券楼层数据列表
     *
     * @author Targaryen
     */
    public function floorAction()
    {
        $receiveData = filter_input_array(INPUT_GET, array(
            'contentCode' => FILTER_DEFAULT
        ));
        $result = array();

//        $uid = $this->getUid();
        // 调用模拟接口
//        $resource = $this->getFloor();
        $resource = CouponData::getCouponRousource('b38b9c4f1c76f89533e9214629b458e4', 8040277);
//        $resource = CouponData::getCouponRousource($receiveData['contentCode'],$uid);
        if (isset($resource['code']) && $resource['code'] == 200) {
            $result = CouponFloorProcess::getContent($resource['data']);
        }

        // tar debug
//        CouponFloorProcess::debugOut($result);
        $this->_view->display('index', array(
            'content' => $result,
            'floorPage' => true
        ));
    }

    /**
     * 领券操作
     *
     * @author Targaryen
     */
    public function receiveCouponAction()
    {
        // tar debug
//        CouponFloorProcess::debugOut(CouponData::receiveCoupon(8040277,2295));
        $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())) {
            // 用户未登录,跳转登录页面
            $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);
    }

    /**
     * 领券接口模拟
     *
     * @param $couponId
     * @return array
     * @internal param $couponId
     */
    public function getCouponHandler($couponId)
    {

        if ($couponId) {
            $result['alg'] = 'SALT_MD5';
            $result['code'] = 200;
            $result['data'] = '';
            $result['md5'] = '50d19f5f5098c34607018f144baec14a';
            $result['message'] = '操作成功';
        } else {
            $result['alg'] = 'SALT_MD5';
            $result['code'] = 402;
            $result['data'] = '';
            $result['md5'] = '50d19f5f5098c34607018f144baec14a';
            $result['message'] = '操作失败';
        }
        /* // 组合接口参数
         $params['method'] = 'app.promotion.getCoupon';
         $params['couponId'] = $couponId;
         $params['uid'] = $this->getUid();

         $result = \Api\YohobuyH5::get(\Api\YohobuyH5::SERVICE_URL, $params);*/

        return $result;
    }

    /**
     * 判断是否是 APP
     *
     * @return bool
     */
    public function isApp()
    {
        return (null !== $this->get('app_version'));
    }


    /**
     * 模拟后台接口数据
     *
     * @return array
     */
    public function getFloor()
    {
        $result = array();
        $result = [
            'alg' => 'SALT_MD5',
            'code' => 200,
            'data' => [
                0 => [
                    'data' => [
                        'list' => [
                            0 => [
                                'couponID' => 2516,
                                'status' => 1,
                                'goShopping' => 'http://item.m.yohobuy.com/product/pro_325933_419711/XiongJiaYouPin619081838990XiongJiaYouPinChuangYiLanRenTanZhuTuiKuan.html',
                                'image' => [
                                    'src' => 'http://img12.static.yhbimg.com/yhb-img01/2016/01/19/01/02f639de49d79ece0cf86a2f214be781da.jpg?imageView/2/w/640/h/200',
                                    'url' => 'http://2percent.yohobuy.com/?gender=2,3\n',
                                ],
                                'isShow' => 'YES',
                                'title' => '标题内容',
                            ],
                        ],
                    ],
                    'template_id' => 1111253,
                    'template_name' => 'getCoupon'
                ],
                1 => [
                    'data' => [
                        'list' => [
                            0 => [
                                'couponID' => 200,
                                'status' => 3,
                                'goShopping' => 'http://item.m.yohobuy.com/product/pro_325933_419711/XiongJiaYouPin619081838990XiongJiaYouPinChuangYiLanRenTanZhuTuiKuan.html',
                                'image' => [
                                    'src' => 'http://img12.static.yhbimg.com/yhb-img01/2016/01/19/01/02f639de49d79ece0cf86a2f214be781da.jpg?imageView/2/w/640/h/200',
                                    'url' => 'http://2percent.yohobuy.com/?gender=2,3\n',
                                ],
                                'isShow' => 'YES',
                                'title' => '标题内容',
                            ],
                        ],
                    ],
                    'template_id' => 1111257,
                    'template_name' => 'getCoupon'
                ],
                2 => [
                    'data' => [
                        'list' => [
                            0 => [
                                'couponID' => 1565,
                                'status' => 2,
                                'goShopping' => 'http://item.m.yohobuy.com/product/pro_325933_419711/XiongJiaYouPin619081838990XiongJiaYouPinChuangYiLanRenTanZhuTuiKuan.html',
                                'image' => [
                                    'src' => 'http://img12.static.yhbimg.com/yhb-img01/2016/01/19/01/02f639de49d79ece0cf86a2f214be781da.jpg?imageView/2/w/640/h/200',
                                    'url' => 'http://2percent.yohobuy.com/?gender=2,3\n',
                                ],
                                'isShow' => 'YES',
                                'title' => '标题内容',
                            ],
                        ],
                    ],
                    'template_id' => 1111255,
                    'template_name' => 'getCoupon'
                ],
                3 => [
                    'data' => [
                        'list' => [
                            0 => [
                                'src' => 'http://img11.static.yhbimg.com/yhb-img01/2016/04/13/06/019bd2c1581f881c8ea22daf0e39a4a9ab.png?imageView/2/w/640/h/200',
                                'url' => []
                            ],

                            1 => [
                                'src' => 'http://img12.static.yhbimg.com/yhb-img01/2016/04/13/06/02576fa876ccfbfe0648b4e2dabb989b6f.png?imageView/2/w/640/h/200',
                                'url' => []
                            ],
                            2 => [
                                'src' => 'http://img11.static.yhbimg.com/yhb-img01/2016/04/13/06/01362e8c56fd6ac56ad3852b6a192e5336.png?imageView/2/w/640/h/200',
                                'url' => []
                            ],
                        ],
                        'speed' => '3'
                    ],
                    'template_id' => 1111253,
                    'template_intro' => '轮播banner',
                    'template_name' => 'carousel_banner'
                ],
            ],
            'md5' => '8febf00780011298f4a0530b6441827b',
            'message' => '请求成功'
        ];
        return $result;
    }
}