Authored by hf

code review by fei.hong: do huodong girlday coupon

{{> cuxiao/xinshili/header}}
<div class="main-wrap home">
<div class="header"></div>
<a class="coupon" href="{{couponUrl}}"></a>
<div class="share">
快去分享给小伙伴吧 <span class="arrow"></span>
</div>
<a class="banner" href="{{banner.url}}">
<img src="{{banner.img}}">
</a>
{{#unless isApp}}
<div class="download">
<a class="weixin" href="{{weixinUrl}}">
关注有货微信 <span class="arrow"></span>
</a>
<a class="app" href="{{appUrl}}">
下载YOHO!BUY有货APP <span class="arrow"></span>
</a>
</div>
{{/unless}}
<div class="footer">
</div>
</div>
<div class="mask hide">
<div class="pengyouquan">
</div>
<div class="arrow">
</div>
<p>
点击右上角<br>
微信分享至朋友圈
</p>
</div>
<div class="tip-wrap hide">
<div class="tip hide fail">
<div class="title">
领取失败<br>
请刷新重新领取
</div>
<div class="desc">
如多次领取失败,请联系客服人员<br>
带来不便敬请谅解
</div>
<a class="button" href="">
刷新
</a>
</div>
</div>
<div class="tip-wrap hide">
<div class="tip hide geted">
<div class="title">
你已领取过优惠券
</div>
<div class="sub-title">
快去分享给更多<br>
喜爱<span class="title">潮流</span>的小伙伴吧!
</div>
<a class="button close" href="">
返回
</a>
</div>
</div>
{{#if isApp}}
<input type="hidden" value="{{getCouponUrl}}" id="getCouponUrl">
{{/if}}
{{> cuxiao/xinshili/footer}}
... ...
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/3/4
* Time: 12:18
*/
namespace Cuxiao;
use LibModels\Wap\Cuxiao\ActivityData;
class GirldayModel
{
/**
* 获取领券活动结果
*
* @param int $uid 用户id
* @param int $actId 活动id
* @return array
*/
public static function getGirldayCoupon($uid, $actId)
{
$result = array('code' => 201);
do {
if (empty($uid) || empty($actId)) {
break;
}
$result = ActivityData::getCouponAll($uid, $actId);
if (!$result) {
$result = array('code' => 201);
break;
}
if (intval($result['code']) === 200) {
self::sendMessage($uid, '【优惠券】您有4张春潮新势力优惠券', '尊敬的客户:恭喜您成功获得4张春潮新势力优惠券 !您可以在个人中心查看优惠券详情。');
}
} while (false);
return $result;
}
/**
* 发送站内信
*
* @param int $uid 用户ID
* @param string $title 站内信标题
* @param string $content 站内信内容
*/
private static function sendMessage($uid, $title, $content)
{
try {
ActivityData::message($uid, $title, $content);
} catch (Exception $e) {
// do nothing
}
}
}
\ No newline at end of file
... ...
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/3/4
* Time: 11:53
*/
use Action\HuodongAction;
use Cuxiao\GirldayModel;
use Plugin\Helpers;
/**
* 女生节第二波
*/
class GirldayController extends HuodongAction
{
// const STATIC_FILE = 'http://localhost:2222/1.0.4';
const STATIC_FILE = 'http://cdn.yoho.cn/huodong/2016xinshili-2/1.0.4';
/**
* 检测登录状态
*
*/
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"}}');
}
}
}
/**
* 领券活动页面控制器
*/
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 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);
}
/**
* 根据环境来获取活动ID
*
* @return int
*/
private function getActivityId()
{
// 设置环境变量
switch (APPLICATION_ENV) {
case 'production': // 生产
return 528;
case 'preview': // 预览
case 'testing': // 测试
case 'develop': // 开发
default:
return 528; //490
}
}
}
... ...