123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 16/4/11
- * Time: 上午12:49
- */
- defined('InShopNC') or exit('Access Invalid!');
- require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
- require_once (BASE_ROOT_PATH . '/helper/predeposit_helper.php');
- require_once (BASE_ROOT_PATH . '/helper/user_helper.php');
- require_once (BASE_ROOT_PATH . '/helper/sms_helper.php');
- class bonusexControl extends mobileControl
- {
- public function __construct() {
- parent::__construct();
- }
- private function fileter_typeinfos($type_infos,&$type_info,&$binded_info)
- {
- $type_info = bonus_helper::filter_type($type_infos['type_info']);
- $binded_info = array();
- $binded_infos = $type_infos['binded_info'];
- if(is_array($binded_infos)) {
- foreach($binded_infos as $val) {
- $user_info = bonus_helper::filter_bonus($val);
- array_push($binded_info,$user_info);
- }
- }
- }
- //打开红包页面:
- //1:如果已经被抢光,显示已经被抢光界面
- //2:
- public function openOp()
- {
- if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
- return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
- }
- $type_sn = $_GET['type_sn'];
- $type_infos = bonus_helper::get_typeinfo($type_sn);
- if(empty($type_infos)) {
- return self::outerr(errcode::ErrBonus,"无此红包.");
- }
- $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
- $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
- if($mine_bonus != false)
- { //显示我抢到的红包,按照状态进行判断
- $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
- $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
- $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
- if(!$bonus->isBinded()) {
- return self::outsuccess($data,"bonus/bind");
- } else {
- return self::outsuccess($data,"bonus/content");
- }
- }
- else
- {
- $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
- if($type->binded_over()) {
- return self::outerr(errcode::ErrBonusGrabNull,"手慢了,红包派完了","bonus/over");
- } else {
- return self::outsuccess(array('type_info' => $type_info),"bonus/open");
- }
- }
- }
- public function detailOp()
- {
- if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
- return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
- }
- $type_sn = $_GET['type_sn'];
- $type_infos = bonus_helper::get_typeinfo($type_sn);
- if(empty($type_infos)) {
- return self::outerr(errcode::ErrBonus,"无此红包.");
- }
- $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
- $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
- if($mine_bonus != false) { //显示我抢到的红包,按照状态进行判断
- $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
- }
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info));
- }
- public function grabOp()
- {
- if(!isset($_GET['type_sn']) || empty($_GET['type_sn'])) {
- return self::outerr(errcode::ErrParamter,"需要红包 type_sn 参数.");
- }
- $type_sn = $_GET['type_sn'];
- $type_infos = bonus_helper::get_typeinfo($type_sn);
- if(empty($type_infos)) {
- return self::outerr(errcode::ErrBonus,"无此红包.");
- }
- $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
- $mine_bonus = bonus_helper::get_mine_by_typesn($type_sn);
- if($mine_bonus != false)
- { //显示我抢到的红包,按照状态进行判断
- $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
- $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
- if($bonus_obj->isBinded()) {
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
- }
- else
- {
- if(user_helper::isVerfiyMobile())
- {
- $ret = bonus_helper::bind_bonus($bonus_obj->bonus_sn(),$_SESSION['PHPSESSID'],user_helper::cur_mobile());
- if($ret == true) {
- $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_obj->bonus_sn());
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
- } else { //todo 此处是绑定错误...
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/bind");
- }
- } else {
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/bind");
- }
- }
- }
- else
- {
- $type = \bonus\type::crate_by_paramer($type_infos['type_info']);
- if($type->binded_over()) {
- return self::outerr(errcode::ErrBonusGrabNull,"手慢了,红包派完了","bonus/over");
- }
- else
- {//从库里抢一个红包逻辑
- $bonus = bonus_helper::grab_bonus($type_sn);
- if($bonus == false) {
- return self::outerr(errcode::ErrBonusGrabNull,"手慢了,红包派完了","bonus/over");
- }
- else
- {
- $bonus_obj = \bonus\user_bonus::create_by_param($bonus);
- $mine_bonus = bonus_helper::filter_bonus($bonus);
- if($bonus_obj->isBinded()) {
- $type_infos = bonus_helper::get_typeinfo($bonus_obj->type_sn());
- if(empty($type_infos)) {
- return self::outerr(errcode::ErrBonus,"无此红包.");
- }
- $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
- $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
- return self::outsuccess($data,"bonus/content");
- } else {
- $data = array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info);
- return self::outsuccess($data,"bonus/bind");
- }
- }
- }
- }
- }
- public function bindOp()
- {
- if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
- return self::outerr(errcode::ErrParamter,"请输入红包序列号.");
- }
- $bonus_sn = $_GET['bonus_sn'];
- $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn);
- if($mine_bonus == false) {
- return self::outerr(errcode::ErrParamter, "您不能领没有抢到的红包.");
- }
- $bonus_obj = \bonus\user_bonus::create_by_param($mine_bonus);
- if($bonus_obj->isBinded()) {
- $type_sn = $bonus_obj->type_sn();
- $type_infos = bonus_helper::get_typeinfo($type_sn);
- $this->fileter_typeinfos($type_infos,$type_info,$binded_info);
- $mine_bonus = bonus_helper::filter_bonus($mine_bonus);
- return self::outsuccess(array('type_info' => $type_info, 'mine_bonus' => $mine_bonus,'binded_info' => $binded_info),"bonus/content");
- }
- if(user_helper::isVerfiyMobile()) {
- $mobile = user_helper::cur_mobile();
- }
- else
- {
- $mobile = $_GET['mobile'];
- $validator = new Validate();
- $validator->setValidate(Validate::verify_mobile($mobile));
- $err = $validator->validate();
- if ($err != '') {
- return self::outerr(errcode::ErrParamter, $err);
- }
- if(!isset($_GET['code']) || empty($_GET['code'])) {
- return self::outerr(errcode::ErrParamter, "请输入验证码.");
- }
- $code = $_GET['code'];
- $ret = sms_helper::check_code(Sms::getbonus_code,$code);
- if(is_array($ret)) {
- return self::outerr($ret['code'], $ret['msg']);
- } else {
- $_SESSION['member_mobile'] = $mobile;
- }
- }
- $ret = bonus_helper::bind_bonus($bonus_sn,$_SESSION['PHPSESSID'],$mobile);
- if($ret == true) {
- $mine_bonus = bonus_helper::get_mine_by_bonussn($bonus_sn);
- return self::outsuccess($mine_bonus);
- } else {
- return self::outerr($ret['code'],$ret['msg']);
- }
- }
- //红包留言
- public function commentOp()
- {
- if(!isset($_GET['bonus_sn']) || empty($_GET['bonus_sn'])) {
- return self::outerr(errcode::ErrParamter,"请输入红包序列号.");
- }
- $bonus_sn = $_GET['bonus_sn'];
- if(!isset($_GET['comment']) || empty($_GET['comment'])) {
- return self::outerr(errcode::ErrParamter,"请输入留言.");
- }
- $comment = $_GET['comment'];
- if(bonus_helper::comment($bonus_sn,$comment) == true) {
- return self::outsuccess(array());
- } else {
- return self::outerr(errcode::ErrBonusComment,"留言失败.");
- }
- }
- }
- function bonus_output_graburl($output)
- {
- $type_info = $output['type_info'];
- $type = \bonus\type::crate_by_paramer($type_info);
- $type_sn = $type->getType_sn();
- $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=grab&client_type=wap&type_sn={$type_sn}";
- echo("<a href=\"{$url}\" target=\"_self\" class=\"open\"></a>");
- }
- function bonus_output_type($output)
- {
- echo '<p class="p p_name">';
- $type_info = $output['type_info'];
- $type = \bonus\type::crate_by_paramer($type_info);
- echo($type_info['sender_name'] . "的红包");
- if($type->isRandomAmount()) {
- echo '<s class="icon_pin"></s>';
- }
- echo '</p>';
- echo '<p class="prompt">' . $type_info['type_bless'] . '</p>';
- }
- function bonus_output_mine($output)
- {
- $mine_bonus = $output['mine_bonus'];
- if(!empty($mine_bonus))
- {
- $bonus = \bonus\user_bonus::create_by_param($mine_bonus);
- echo('<div class="price">');
- echo('<p><span>' . $bonus->bonus_value() . '</span>元</p>');
- echo('</div>');
- echo('<input type="hidden" id="mine_bonus" value=' ."{$bonus->bonus_sn()}>");
- }
- // echo('<div class="link">');
- // echo('<p><a href="javascript:void(0)">请下载熊猫美妆APP</a></p>');
- // echo('</div>');
- }
- function bonus_output_bindedinfo($output)
- {
- $type_info = $output['type_info'];
- $type = \bonus\type::crate_by_paramer($type_info);
- echo('<div class="prompt text_left">');
- if($type->binded_over()) {
- $prompt = "{$type->getTotal_num()}个红包";
- $prompt .= ",";
- $period = $type_info['binded_period'];
- $prompt .= "{$period}分钟领完.";
- } else {
- $prompt = "领取 {$type->binded_num()}/{$type->getTotal_num()}";
- }
- echo('<p class="prompt pro">' .$prompt. '</p>');
- echo('</div>');
- $bined_info = $output['binded_info'];
- if(empty($bined_info)) return;
- foreach($bined_info as $val)
- {
- $bonus = \bonus\user_bonus::create_by_param($val);
- echo('<div class="li">');
- echo('<div class="li_left">');
- echo('<p class="p">' . $bonus->user_name() .'</p>');
- echo('<p class="prompt">' . $bonus->get_time_format() . '</p>');
- echo('</div>');
- echo('<div class="li_right">');
- echo('<p class="p">' . $bonus->bonus_value() . '元</p>');
- if($type->isMaxAmount($bonus->bonus_value()) && $type->isRandomAmount()) {
- echo('<p class="king_box"><s class="king"></s>手气最佳</p>');
- }
- echo('</div>');
- echo('</div>');
- }
- }
|