Authored by 毕凯

Merge branch 'feature/wap/yuanxiao' of git.dev.yoho.cn:web/yohobuy into feature/wap/yuanxiao

... ... @@ -24,17 +24,17 @@ class Yohobuy
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
//java API
const API_URL = 'http://apih5.yoho.cn/';
const API_URL2 = 'http://apih5.yoho.cn/';
const SERVICE_URL = 'http://serviceh5.yoho.cn/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://api2.open.yohobuy.com/';
// const API_URL = 'http://apih5.yoho.cn/';
// const API_URL2 = 'http://apih5.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://api2.open.yohobuy.com/';
/* 测试环境 */
// const API_URL = 'http://testapi.yoho.cn:28078/'; // 'http://192.168.102.205:8080/gateway/'
// const SERVICE_URL = 'http://testservice.yoho.cn:28077/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://test2.open.yohobuy.com/';
const API_URL = 'http://testapi.yoho.cn:28078/'; // 'http://192.168.102.205:8080/gateway/'
const SERVICE_URL = 'http://testservice.yoho.cn:28077/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://test2.open.yohobuy.com/';
/* 预览环境 */
// const API_URL = 'http://preapi.yoho.cn/';
... ...
... ... @@ -2,7 +2,6 @@
namespace LibModels\Wap\Cuxiao;
use Api\Sign;
use Api\Yohobuy;
/**
... ... @@ -21,6 +20,8 @@ class ActivityData
const URI_GET_NAMED_COUPON = 'event/api/v1/activity/getCoupon';
const URI_GET_ALL_COUPON = 'event/api/v1/activity/getCoupon';
const URI_SEND_MESSAGE = 'inbox/service/v1/inbox';
const URI_YUANXIAO_CHOUQIAN = 'union/ActivityRest/draw';
const URI_YUANXIAO_CHOUQIAN_SHARE = 'union/ActivityRest/getDrawInfo';
/**
* 用户获取某个活动指定的单个优惠券
... ... @@ -70,6 +71,8 @@ class ActivityData
}
/**
* 获取元宵抽签的结果
*
* @param int $uid 用户UID
* @param string $nickName 用户昵称
* @param string $birthday 用户生日
... ... @@ -78,15 +81,29 @@ class ActivityData
*/
public static function getYuanxiaoInfo($uid, $nickName, $birthday, $gender)
{
$param = Yohobuy::param();
$param = array();
$param['method'] = 'wap.activity.draw';
$param['uid'] = $uid;
$param['nick_name'] = $nickName;
$param['nickname'] = $nickName;
$param['birthday'] = $birthday;
$param['gender'] = $gender;
$param['client_secret'] = Sign::getSign($param);
return Yohobuy::get(Yohobuy::API_URL, $param);
return Yohobuy::jsonPost(Yohobuy::SERVICE_URL . self::URI_YUANXIAO_CHOUQIAN, $param);
}
/**
* 获取分享结果页元宵抽签的结果
*
* @param int $uid 用户UID
* @return mixed 抽签的结果
*/
public static function getYuanxiaoShareInfo($uid)
{
$param = array();
$param['method'] = 'wap.activity.draw';
$param['uid'] = $uid;
return Yohobuy::jsonPost(Yohobuy::SERVICE_URL . self::URI_YUANXIAO_CHOUQIAN_SHARE, $param);
}
/**
... ...
... ... @@ -35,7 +35,7 @@ class YuanxiaoModel
// 处理个人详情数
if (isset($userData['data']) && !empty($userData['data'])) {
$result['birthday'] = $userData['data']['birthday'] ?: '2000-01-01';
$result['gender'] = $userData['data']['gender'] == 1 ? '男' : '女';
$result['gender'] = $userData['data']['gender'];
}
return $result;
... ... @@ -80,4 +80,30 @@ class YuanxiaoModel
return $result;
}
/**
* @param int $uid 用户UID
* @return array|mixed 抽奖的结果
*/
public static function getChoujiangShareInfo($uid)
{
$result = array('code' => 400, 'message' => '出错啦~');
do {
if (empty($uid)) {
break;
}
$chouqian = ActivityData::getYuanxiaoShareInfo($uid);
if (isset($chouqian['data'])) {
$result = array(
'name' => $chouqian['data']['nickname'],
'type' => $chouqian['data']['randomCode'],
'total' => $chouqian['data']['total']
);
}
} while (false);
return $result;
}
}
\ No newline at end of file
... ...
... ... @@ -38,13 +38,7 @@ class YuanxiaoController extends HuodongAction
'staticFile' => self::STATIC_FILE,
'staticJS' => array(
'home.js'
),
'weixinShare' => $this->_isApp ? false : true, // 是否需要微信分享
'shareLink' => 'http://feature.yoho.cn/2016lishifeng/index.html',
'shareTitle' => 'YOHO!BUY有货新年寻宝大作战,千元利是等你赢!',
'shareDesc' => 'YOHO!BUY有货,全球800+潮流品牌每日上新!',
'shareImg' => 'http://img12.static.yhbimg.com/couponImg/2015/12/30/12/02008a9724b898dee56852de9f1a3978bf.jpg',
'showPopupFlag' => $showPopupFlag,
)
));
}
... ... @@ -62,15 +56,17 @@ class YuanxiaoController extends HuodongAction
if (!empty($posts)) {
$nickName = $this->post('nick', '');
$birthday = $this->post('birthday', '');
$gender = $this->post('gender', 0);
$gender = $this->post('gender', 1);
// 调用接口
$result = YuanxiaoModel::getChouqianInfo($uid, $nickName, $birthday, $gender);
$result['code'] = 200;
$result['data'] = array('name' => $nickName, 'type' => 'M2');
if ($result['code'] === 200) { // 处理成功就跳转到等待页
// 将返回的结果存入cookeie中15分钟
$this->setCookie('yuanxiaochouqian', json_encode($result['data']), time() + 15*60);
$cookieData = array(
'name' => $nickName,
'type' => $result['data']['randomCode']
);
$this->setCookie('yuanxiaochouqian', json_encode($cookieData), time() + 15*60);
$this->go(Helpers::url('/cuxiao/yuanxiao/wait'));
} else { // 不成功就显示返回的错误信息
$this->_view->display('info', array(
... ... @@ -131,13 +127,12 @@ class YuanxiaoController extends HuodongAction
// cookie中存的结果
$result = json_decode($result, true);
$shareUrl = Helpers::url('/cuxiao/yuanxiao/share', array(
'name' => $this->encrypt($result['name']),
'hash' => $this->encrypt($this->getUid())
));
$result['type'] = $this->get('type', 'M2');
$this->_view->display('result', array(
'staticTitle' => '元宵抽签',
'weixinShare' => $this->_isApp ? false : true, // 是否需要微信分享
'staticFile' => self::STATIC_FILE,
'result' => $result,
'shareUrl' => $shareUrl,
... ... @@ -152,22 +147,23 @@ class YuanxiaoController extends HuodongAction
*/
public function shareAction()
{
// 昵称从url中解析
$name = $this->decrypt($this->get('name', ''));
// 用户UID
$uid = $this->decrypt($this->get('hash', ''));
if (empty($uid)) {
$this->go(Helpers::url('/cuxiao/yuanxiao/index'));
}
// 调用接口获取type和count
$result = array('type' => 'M1', 'count' => 9887);
$result = YuanxiaoModel::getChoujiangShareInfo($uid);
$this->_view->display('share', array(
'staticTitle' => '元宵抽签',
'staticFile' => self::STATIC_FILE,
'result' => array(
'name' => $name,
'name' => $result['name'],
'type' => $result['type']
),
'count' => $result['count'],
'count' => $result['total'],
'staticJS' => array(
'share.js'
)
... ...