check_parmas($_GET,$fileds) === false) { $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"]; goto ErrorHandle; } $convert = new openapi\Convertor($fileds); $fSucc = $convert->verify($_GET); if($fSucc === false) { $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"]; goto ErrorHandle; } $convert_type = $_GET['convert_type']; if($convert_type == 'user') { $find = $convert->exist($_GET['convert_sn'],$_GET['appid']); $mobile = $_GET['mobile']; if(!session_helper::logined()) { $mobile_loginner = new login\mobile_log($mobile); if($mobile_loginner->ismember()) { $mobile_loginner->login(); } else { $mobile_loginner->register('',0,$mobile); $mobile_loginner->login(); } } if(!$find) { $convert->add_user($appid,$convert_sn,$mobile); account_helper::add_bonus(30,300,[session_helper::memberid()],"鑫福卡美妆红包",0,60); $mod_member = Model('member'); $mod_member->editMember(['member_id' => session_helper::memberid()],['rewared_inviter' => 1]); $return_url = $_GET['return_url']; QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]); } $url = url_helper::mshop_special(1451); //$url = url_helper::mshop_index(); return self::outsuccess(['direct_uri' => $url],"redirect"); } else { $errmsg = ["title" => "红包兑换","msg"=> "这个业务还没有开启哦"]; goto ErrorHandle; } ErrorHandle: QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => false]); return self::outsuccess($errmsg,"convert/error"); } public function fcodeOp() { $fileds = ['appid','appkey','convert_sn','convert_type','batch_code','commonid','time','mobile','return_url']; $fCallBack = true; $appid = $_GET['appid']; $convert_sn = $_GET['convert_sn']; $return_url = $_GET['return_url']; if($this->check_parmas($_GET,$fileds) === false) { $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"]; goto ErrorHandle; } $convert = new openapi\Convertor($fileds); $fSucc = $convert->verify($_GET); if($fSucc === false) { $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"]; goto ErrorHandle; } $convert_type = $_GET['convert_type']; if($convert_type == 'fcode') { $batch_code = $_GET['batch_code']; $common_id = intval($_GET['commonid']); if(empty($batch_code) || $common_id <= 0) { $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"]; goto ErrorHandle; } $find = $convert->exist($_GET['convert_sn'],$_GET['appid']); if($find) { $fCallBack = false; $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"]; goto ErrorHandle; } $mobile = $_GET['mobile']; if(!session_helper::logined()) { $mobile_loginner = new login\mobile_log($mobile); if($mobile_loginner->ismember()) { $mobile_loginner->login(); } else { $mobile_loginner->register('',0,$mobile); $mobile_loginner->login(); } } $oper = new fcode\operator($common_id,$batch_code,$mobile,''); $fcode = $oper->send(); if($fcode == false) { $errmsg = ["title" => "兑换失败","msg"=> "这个商品已经被兑换完了"]; goto ErrorHandle; } else { $return_url = $_GET['return_url']; QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]); $convert->add_fcode($_GET['appid'],$_GET['convert_sn'],$_GET['batch_code'],$_GET['commonid'],$fcode,$_GET['mobile']); return self::outsuccess(["title" => "兑换成功","msg"=> "您已经成功兑换商品"],"convert/success"); } } else { $errmsg = ["title" => "红包兑换","msg"=> "这个业务还没有开启哦"]; goto ErrorHandle; } ErrorHandle: if($fCallBack) { QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => false]); } return self::outsuccess($errmsg,"convert/error"); } private function check_parmas($input,$fields) { foreach ($fields as $key) { if(!array_key_exists($key,$input)) { return false; } else { if(empty($input[$key])) { return false; } } } return true; } }