binded_over()) { $ret['binded_over'] = 1; } else { $ret['binded_over'] = 0; } if($type->isEnd()) { $ret['is_end'] = 1; } else { $ret['is_end'] = 0; } $type_sn = $type->getType_sn(); $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}"; $ret['url'] = $url; return $ret; } static public function filter_bonus($bonus_info) { $fileds = 'bonus_sn,bonus_value,user_name,user_mobile,user_comment,get_time,bonus_status'; $ret = array(); field_helper::copy_column($ret,$bonus_info,$fileds); if(empty($bonus_info['user_name'])) { $ret['user_name'] = substr_replace($bonus_info['user_mobile'], '****', 3, 4); } return $ret; } static public function isFixed($send_type) { return ($send_type == \bonus\type::fixed_amount); } static public function isRandom($send_type) { return ($send_type == \bonus\type::random_amount); } static public function make_bonus($param) { $ret = \bonus\factory::make_bonus($param); return $ret; } static public function get_typeinfo($type_sn) { $manager = new \bonus\manager(); return $manager->get_typeinfo($type_sn); } static public function get_mine_by_typesn($type_sn) { $manager = new \bonus\manager(); return $manager->get_mine_by_typesn($type_sn); } static public function get_mine_by_bonussn($bonus_sn) { $manager = new \bonus\manager(); return $manager->get_mine_by_bonussn($bonus_sn); } static public function grab_bonus($type_sn) { $manager = new \bonus\manager(); return $manager->grab_bonus($type_sn); } static public function bind_bonus($bonus_sn,$session_id,$mobile,&$new_bonus_sn) { try { $manager = new \bonus\manager(); return $manager->bind_bonus($bonus_sn,$session_id,$mobile,$new_bonus_sn); } catch (Exception $ex) { return array($ex->getCode(),$ex->getMessage()); } } static public function shake($bonus_sn,$strength,$direction) { $manager = new \bonus\manager(); return $manager->shake($bonus_sn,$strength,$direction); } static public function comment($bonus_sn,$comment) { try { $manager = new \bonus\manager(); return $manager->comment($bonus_sn,$comment); } catch (Exception $ex) { return false; } } static public function topup_bonus($mobile) { $mod_bonus = Model('user_bonus'); $bind_bonus = $mod_bonus->getBinded($mobile); if(empty($bind_bonus)) { return false; } $manager = new \bonus\manager(); $pd_helper = new predeposit_helper($_SESSION['member_id']); $bonusex = array(); foreach($bind_bonus as $val) { $type_id = $val['type_id']; $type = \bonus\type::create_by_id($type_id); $bonus = \bonus\user_bonus::create_by_param($val); try { Db::beginTransaction(); if($manager->topup($mod_bonus,$val) == true) { array_push($bonusex,$val); ranklist_helper::add_money($_SESSION['member_id'],$bonus->bonus_value()); $pd_helper->add_bonus($bonus,$type); } Db::commit(); } catch (Exception $ex) { Db::rollback(); } } if(empty($bonusex)) { return false; } else { return $bonusex; } } //检查个人发送红包参数 static public function check_personal($input,&$ret) { return \bonus\sender::check_personal($input,$ret); } //检查活动红包参数 static public function check_activity($input,&$ret) { return \bonus\sender::check_activity($input,$ret); } static public function direct_asc() { return \bonus\shaker::direct_asc; } static public function direct_dec() { return \bonus\shaker::direct_dec; } static public function get_direction($first) { if($first) { return self::direct_asc(); } else { $direct = mt_rand(1,100); if($direct % 2 == 0) { return self::direct_asc(); } else { return self::direct_dec(); } } } static public function check_shake($bonus_sn,&$first) { if(!isset($_SESSION['bonus_shake'])) { $_SESSION['bonus_shake'] = array(); } if(isset($_SESSION['bonus_shake'][$bonus_sn])) { $first = false; $bonus_shake = &$_SESSION['bonus_shake'][$bonus_sn]; $tmout = time() - $bonus_shake['time']; if($tmout <= self::shake_expire) { return array('code' => errcode::ErrBonus, 'msg' => '请不要摇得太快~'); } elseif($bonus_shake['count'] > self::shake_maxcount) { ++$bonus_shake['count']; return array('code' => errcode::ErrBonus, 'msg' => '该红包只允许被摇' . self::shake_maxcount .'次~'); } else { return true; } } else { $_SESSION['bonus_shake'][$bonus_sn] = array(); $bonus_shake = &$_SESSION['bonus_shake'][$bonus_sn]; $bonus_shake['count'] = 1; $bonus_shake['time'] = time(); $first = true; return true; } } static public function withold($member_id,$money) { $holder = new \bonus\witholder($member_id); return $holder->withold($money); } static public function withold_bonus($member_id,$bonus_sn) { $holder = new \bonus\witholder($member_id); return $holder->withold_bonus($bonus_sn); } static public function send($type_sn,$member_ids) { try { $manager = new \bonus\manager(); return $manager->send($type_sn,$member_ids); } catch (Exception $ex) { return false; } } }