binded_over()) { $ret['binded_over'] = 1; } else { $ret['binded_over'] = 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 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->getAllBind($mobile); if(empty($bind_bonus)) { return false; } $manager = new \bonus\manager(); $pd_helper = new predeposit_helper(); $bonusex = array(); foreach($bind_bonus as $val) { $type_id = $val['type_id']; $type = \bonus\type::create_by_id($type_id); try { $info = sprintf("来自%s的红包.",$val['sender_name']); Db::beginTransaction(); $pd_helper->bonus_add_money($val['bonus_value'],$val['bonus_sn'],$type->sender_name(),$info); if($manager->topup($mod_bonus,$val) === false) { throw new Exception(); } else { $bonus['mine_bonus'] = $val; array_push($bonusex,$val); } Db::commit(); } catch (Exception $ex) { Db::rollback(); } } if(empty($bonusex)) { return false; } else { return $bonusex; } } }