<?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/3/4 * Time: 11:53 */ use Action\HuodongAction; use Cuxiao\GirldayModel; use Plugin\Helpers; use LibModels\Wap\Cuxiao\ActivityData; use Plugin\Cache; /** * */ class GirldayController extends HuodongAction { // const STATIC_FILE = 'http://localhost:2222/1.0.3'; const STATIC_FILE = 'http://cdn.yoho.cn/huodong/2016xinshili-2/1.0.3'; const STATIC_FILE_THREE = 'http://cdn.yoho.cn/huodong/2016xinshili-2'; const SESSION_UID = 'coupon_uid'; /** * 领券活动页面控制器 */ public function indexAction() { $this->checkLogin(); //获取跳转到个人中心-我的优惠券链接,并调用接口,完成领券操作 $myCouponUrl = Helpers::url('/home/coupons', null, 'default') . '?openby:yohobuy={"action":"go.coupon"}'; $this->_view->display('index', array( 'staticTitle' => 'YOHO!BUY有货【春潮新势力】', 'staticFile' => self::STATIC_FILE, 'staticJS' => array( 'home.js' ), 'couponUrl' => $myCouponUrl, // 个人中心优惠券地址 'isApp' => $this->_isApp, 'getCouponUrl' => Helpers::url('/cuxiao/girlday/sendCoupon', array('uid' => $this->getLoggedUid())), 'banner' => array( 'img' => 'http://img02.yohoboys.com/staticimg/2016/03/10/10/02b9827b20adc91409b5301f2232dc9144.jpg', 'url' => 'http://feature.yoho.cn/0310/0310APPHOME/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"YOHO!BUY有货【春潮新势力】", "url":"http://feature.yoho.cn/0310/0310APPHOME/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"382"},"param":{"share_id":"382"}}}' ), 'selectUrl' => 'http://m.yohobuy.com/home/coupons?openby:yohobuy={"action":"go.coupon"}', 'weixinUrl' => 'http://mp.weixin.qq.com/s?__biz=MjM5ODI5MDA4MA==&mid=201849402&idx=1&sn=c0089812f9769d82e0075f69d771f6e1#rd', // 微信关注地址 'appUrl' => 'http://www.yohoshow.com/about/index/yohobuyqr', // APP 下载地址 'shareTitle' => 'YOHO!BUY有货【春潮新势力】火力全开!320元优惠券限时派送中!', 'shareDesc' => '换我做主,用新陪伴!白色情人节限时2件7折!', 'shareImg' => 'http://img02.yohoboys.com/staticimg/2016/03/10/10/0298ef8fbbb543144af487fbcd6718041b.png', 'shareLink' => 'http://feature.yoho.cn/0310/0310APPHOME/index.html' )); } /** * 领券活动-第三波页面控制器 */ public function girlthreeBoyAction() { // 判断是否是应用访问, 拼接APP需要的URL参数 $isApp = null !== $this->get('app_version'); $isAppLogged = true; if ($isApp) { $isLogged = $this->get('uid') !== null; $isAppLogged = $this->checkIsLogin(); } else { $isLogged = $this->getUid(); } $urlKids = Helpers::url('/cuxiao/girlday/girlthreeBoy'); $urlEncode = strtr($urlKids, array('/' => '\\/')); $this->_view->display('girlsday-three', array( 'staticTitle' => 'YOHO!BUY有货【春潮新势力】', 'staticFile' => self::STATIC_FILE_THREE, 'staticJS' => array( 'main.js' ), 'jumpUrl' => $isAppLogged ? 'javascript:;' : $urlKids . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $urlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}', 'pageType' => 'boy', 'isOnline' => $this->getisOnline(), 'tab' => array('us', 'bag', 'yohope', 'shoes', 'more'), 'moreBrand' => 'http://feature.yoho.cn/0318/TICKETSBOY/index.html', 'isApp' => $this->_isApp, 'isAppLogin' => $isAppLogged, 'getCouponUrl' => Helpers::url('/cuxiao/girlday/getnamed', array('uid' => $this->getLoggedUid())), 'shareTitle' => 'YOHO!BUY有货【春潮新势力】千万元优惠券限时派送中!', 'shareDesc' => '全球1000+潮牌春季上新,万款新品首发,唤醒潮流尽在有货【春潮新势力】!', 'shareImg' => 'http://img02.yohoboys.com/staticimg/2016/03/17/13/0264ec1aeb9e50d21b90460b2f28a3201a.png', 'shareLink' => 'http://feature.yoho.cn/0318/0318APPHOME/index.html', )); } /** * 女生节第3波-女生的品牌领券 */ public function girlthreeGirlAction() { // 判断是否是应用访问, 拼接APP需要的URL参数 $isApp = null !== $this->get('app_version'); $isAppLogged = true; if ($isApp) { $isLogged = $this->get('uid') !== null; $isAppLogged = $this->checkIsLogin(); } else { $isLogged = $this->getUid(); } $urlKids = Helpers::url('/cuxiao/girlday/girlthreeGirl'); $urlEncode = strtr($urlKids, array('/' => '\\/')); $isOnline = $this->getisOnline(); $this->_view->display('girlsday-three', array( 'staticTitle' => 'YOHO!BUY有货【春潮新势力】', 'staticFile' => self::STATIC_FILE_THREE, 'staticJS' => array( 'main.js' ), 'jumpUrl' => $isAppLogged ? 'javascript:;' : $urlKids . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $urlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}', 'isOnline' => $isOnline, 'pageType' => 'girl', 'tab' => array('us', 'huimei', 'sport', 'yohope', 'more'), 'moreBrand' => 'http://feature.yoho.cn/0318/TICKETSGIRL/index.html', 'isApp' => $this->_isApp, 'isAppLogin' => $isAppLogged, 'getCouponUrl' => Helpers::url('/cuxiao/girlday/getnamed', array('uid' => $this->getLoggedUid())), 'shareTitle' => 'YOHO!BUY有货【春潮新势力】千万元优惠券限时派送中!', 'shareDesc' => '全球1000+潮牌春季上新,万款新品首发,唤醒潮流尽在有货【春潮新势力】!', 'shareImg' => 'http://img02.yohoboys.com/staticimg/2016/03/17/13/0264ec1aeb9e50d21b90460b2f28a3201a.png', 'shareLink' => 'http://feature.yoho.cn/0318/0318APPHOME/index.html', )); } /** * 女生节第3波-童品牌领券 */ public function girlthreeKidAction() { // 判断是否是应用访问, 拼接APP需要的URL参数 $isApp = null !== $this->get('app_version'); $isAppLogged = true; if ($isApp) { $isLogged = $this->get('uid') !== null; $isAppLogged = $this->checkIsLogin(); } else { $isLogged = $this->getUid(); } $urlKids = Helpers::url('/cuxiao/girlday/girlthreeKid'); $urlEncode = strtr($urlKids, array('/' => '\\/')); $this->_view->display('girlsday-three', array( //'activityId' => 496, // 活动ID 'staticTitle' => 'YOHO!BUY有货【春潮新势力】', 'staticFile' => self::STATIC_FILE_THREE, 'staticJS' => array( 'main.js' ), 'jumpUrl' => $isAppLogged ? 'javascript:;' : $urlKids . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $urlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}', 'isOnline' => $this->getisOnline(), 'pageType' => 'kid', // 'tab' => array('us', 'bag', 'yohope', 'shoes', 'more'), 'moreBrand' => '', 'isApp' => $this->_isApp, 'isAppLogin' => $isAppLogged, 'getCouponUrl' => Helpers::url('/cuxiao/girlday/getnamed', array('uid' => $this->getLoggedUid())), 'shareTitle' => 'YOHO!BUY有货【春潮新势力】千万元优惠券限时派送中!', 'shareDesc' => '全球1000+潮牌春季上新,万款新品首发,唤醒潮流尽在有货【春潮新势力】!', 'shareImg' => 'http://img02.yohoboys.com/staticimg/2016/03/17/13/0264ec1aeb9e50d21b90460b2f28a3201a.png', 'shareLink' => 'http://feature.yoho.cn/0318/0318APPHOME/index.html', )); } /** * 女生节第3波-创意生活品牌领券 */ public function girlthreeLifestyleAction() { // 判断是否是应用访问, 拼接APP需要的URL参数 $isApp = null !== $this->get('app_version'); $isAppLogged = true; if ($isApp) { $isLogged = $this->get('uid') !== null; $isAppLogged = $this->checkIsLogin(); } else { $isLogged = $this->getUid(); } $urlKids = Helpers::url('/cuxiao/girlday/girlthreeLifestyle'); $urlEncode = strtr($urlKids, array('/' => '\\/')); $isOnline = $this->getisOnline(); $this->_view->display('girlsday-three', array( 'staticTitle' => 'YOHO!BUY有货【春潮新势力】', 'staticFile' => self::STATIC_FILE_THREE, 'staticJS' => array( 'main.js' ), 'jumpUrl' => $isAppLogged ? 'javascript:;' : $urlKids . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $urlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}', 'isOnline' => $isOnline, 'pageType' => 'lifestyle', 'tab' => array('us', 'hot', 'more'), 'moreBrand' => 'http://feature.yoho.cn/0318/TICKETSLIFE/index.html', 'isApp' => $this->_isApp, 'isAppLogin' => $isAppLogged, 'getCouponUrl' => Helpers::url('/cuxiao/girlday/getnamed', array('uid' => $this->getLoggedUid())), 'shareTitle' => 'YOHO!BUY有货【春潮新势力】千万元优惠券限时派送中!', 'shareDesc' => '全球1000+潮牌春季上新,万款新品首发,唤醒潮流尽在有货【春潮新势力】!', 'shareImg' => 'http://img02.yohoboys.com/staticimg/2016/03/17/13/0264ec1aeb9e50d21b90460b2f28a3201a.png', 'shareLink' => 'http://feature.yoho.cn/0318/0318APPHOME/index.html', )); } /** * 领券接口 */ public function sendCouponthreeAction() { $result = array('code' => 201); do { if (!$this->isAjax()) { break; } $activityId = $this->getthreeActivityId(); $uid = $this->getLoggedUid(); $result = GirldayModel::getGirldayCouponthree($uid, $activityId); } while (false); $this->echoJson($result); } /** * 领取指定的优惠券 * * @param int activityId 活动ID * @param int couponId 优惠券ID * @return json */ public function getnamedAction() { $result = array('code' => 401, 'message' => '领取失败', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } /* 判断参数是否有效 */ $activityId = $this->getthreeActivityId(); $couponId = $this->post('couponId'); if (!is_numeric($activityId) || !is_numeric($couponId)) { break; } $uid = $this->getLoggedUid(); if (!$uid) { $result['code'] = 400; $result['message'] = '请先登录'; $result['data'] = Helpers::url('/signin.html', array('refer' => $this->server('HTTP_REFERER', '/')), 'default'); break; } /* 领取指定的优惠券操作 */ $result = ActivityData::getCouponNamed($uid, $activityId, $couponId); if ($uid && isset($result['code']) && $result['code'] == 200) { //领取成功, 发送站内信消息 $couponuid = 'couponnvshengjiedisanbo' . $uid; $status = Cache::get($couponuid); if (!$status) { $this->sendMessage($uid, '【优惠券】您已成功领取春潮新势力-品牌优惠券。', '尊敬的客户:恭喜您成功获得春潮新势力-品牌优惠券 !您可以在个人中心查看优惠券详情。'); Cache::set($couponuid, true, 3600 * 24 * 5); } } } while (false); $this->echoJson($result); } /** * 领券接口 */ public function sendCouponAction() { $result = array('code' => 201); do { if (!$this->isAjax()) { break; } $activityId = $this->getActivityId(); $uid = $this->getLoggedUid(); $result = GirldayModel::getGirldayCoupon($uid, $activityId); } while (false); $this->echoJson($result); } /** * 检测登录状态 * */ private function getLoggedUid() { if ($this->_isApp) { $uid = $this->get('uid'); } else { $uid = $this->getUid(); } return $uid; } /** * 判断是否登陆 */ private function checkLogin() { $playUrl = Helpers::url('/cuxiao/girlday/index'); if (!$this->getLoggedUid()) { if (!$this->_isApp) { $this->go(Helpers::url('/signin.html', array('refer' => $playUrl), 'default')); } else { $playUrlEncode = strtr($playUrl, array('/' => '\\/')); $this->go($playUrl . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $playUrlEncode . '","param":{"from":"app"}},"requesturl":{"url":"","param":{}},"priority":"N"}}'); } } } /** * 根据环境来获取活动ID * * @return int */ private function getActivityId() { // 设置环境变量 switch (APPLICATION_ENV) { case 'production': // 生产 return 528; case 'preview': // 预览 case 'testing': // 测试 case 'develop': // 开发 default: return 490; } } /** * 发送站内信 * * @param int $uid 用户ID */ private function sendMessage($uid, $title, $content) { try { ActivityData::message($uid, $title, $content); } catch (Exception $e) { // do nothing } } /** * 根据环境来获取活动ID * * @return int */ private function getthreeActivityId() { // 设置环境变量 switch (APPLICATION_ENV) { case 'production': // 生产 return 544; case 'preview': // 预览 case 'testing': // 测试 case 'develop': // 开发 default: return 496; } } /** * 根据环境来获取线上线下 * * @return int */ private function getisOnline() { // 设置环境变量 switch (APPLICATION_ENV) { case 'production': // 生产 return 1; case 'preview': // 预览 case 'testing': // 测试 case 'develop': // 开发 default: return 0; } } /** * 检查用户是否登录 * * @return bool (false:表示未登录,true:表示已登录) */ private function checkIsLogin() { do { /* 判断是否有参数 */ $uid = $this->get('uid'); if (empty($uid) || !is_numeric($uid)) { break; } /* 判断参数是否有效 */ $secret = $this->get('client_secret'); if (!isset($secret)) { break; } $this->setSession(self::SESSION_UID, $uid); return true; } while (false); return false; } }