_dinXinAccount = $this->getKey($this->_apiCode); //验证是否具有访问这个接口的权限 if(!isset($this->_dinXinAccount['DinXinPid']) || !isset($this->_dinXinAccount['DinXinSecretKey'])){ HelperService::returnJson(['code'=>400,'msg'=>'din xin interface unauthorized access','data'=>[]]); } $this->_pId = $this->_dinXinAccount['DinXinPid']; $this->_secretKey = $this->_dinXinAccount['DinXinSecretKey']; } public function notifyUrl(){ file_put_contents('test','1111'); } /** * 创建token签名算法 * @param type $requestArr 请求数组 * @return string */ private function _createTokenSign($requestArr = [],$authCode=''){ if(empty($requestArr) || !is_array($requestArr)){ return ''; } ksort($requestArr); if(!$authCode){ $authCode = $this->_secretKey; } // return md5(md5($this->_secretKey.urldecode(http_build_query($requestArr))).$this->_secretKey); file_put_contents('check_csapi',"$authCode"."//".md5(md5($authCode.urldecode(http_build_query($requestArr))).$authCode)."\n",FILE_APPEND); return md5(md5($authCode.urldecode(http_build_query($requestArr))).$authCode); } /** * 公共参数接口 */ public function commonParameter(){ $params = $this->_params; $rule = [ 'pid|集团标识'=>'require', 'authCode|授权code'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$this->_pId, 'cid'=>'31', ]; $sign = $this->_createTokenSign($arr,$params['authCode']); // echo $sign;exit; $res = http_build_query($arr); $url = $this->_baseUrl."/cinema/card-level-rule/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>$res_arr]); } /** * 会员卡密码校验 */ public function cardAuth(){ $params = $this->_params; $rule = [ 'cid|影院标识'=>'require', 'card|卡编号'=>'require', 'password|密码'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$this->_pId, 'cid'=>$params['cid'], 'card'=>$params['card'], 'password'=>md5($params['password']), ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/auth/?$res&_sig=$sign"; file_put_contents("s",$url); $res = HelperService::curlGet($url,true); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>'success', 'data'=>$res_arr['res']['data']]); } /** * 3.1.3 会员卡详细信息 */ public function cardDetail(){ $params = $this->_params; $rule = [ 'cid|影院标识'=>'require', 'card|卡编号'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$this->_pId, 'cid'=>$params['cid'], 'card'=>$params['card'], ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/detail/?$res&_sig=$sign"; $res = HelperService::curlGet($url,true); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>'success', 'data'=>$res_arr['res']['data']]); } /** * 3.3.1 获取卖品列表 */ public function cinemaGoods(){ $params = $this->_params; $rule = [ 'cid|影院标识'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$this->_pId, 'cid'=>$params['cid'], ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/cinema/goods/?$res&_sig=$sign"; $res = HelperService::curlGet($url,true); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>'success', 'data'=>$res_arr['res']['data']]); } /** * 3.2.1 下单接口 */ public function orderBuy(){ $params = $this->_params; $rule = [ 'cid|影院标识'=>'require', 'card|卡编号'=>'require', 'order_no|订单编号'=>'require', 'goods|卖品'=>'require', 'goods_card_balance_pay|支付金额'=>'require', 'cardPassword|密码'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$this->_pId, 'cid'=>$params['cid'], 'card'=>$params['card'], 'orderNo'=>$params['order_no'], 'orderInfo'=>json_encode(array_values($params['goods'])), 'totalMoney'=>$params['goods_card_balance_pay'], 'totalPaid'=>$params['goods_card_balance_pay'], 'cardPassword'=>md5($params['cardPassword']), 'cardPaidValue'=>$params['goods_card_balance_pay'] ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/buy/?$res&_sig=$sign"; $res = HelperService::curlGet($url,true); $time = date("Y-m-d H:i:s"); Log::record($time."ORDERBUY_URL:".$url); Log::record($time."ORDERBUY_res:".$res); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>'success', 'data'=>$res_arr['res']['data']]); } /** * 3.1.4 获得会员卡某场次的购票信息 */ public function cardBuyInfo(){ $arr = [ 'cid'=>'31', 'card'=>'8701', 'play_id'=>'16532', 'format'=>'xml', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/buy-info/?$res&_sig=$sign"; $res = file_get_contents($url); print_r($res);exit; } /** * 3.1.5 获取有效的未出票订单 */ public function orderTickets(){ $arr = [ 'cid'=>'31', 'card'=>'8701', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/tickets/?$res&_sig=$sign"; $res = file_get_contents($url); print_r($res);exit; } /** *3.4.6 混合下单(影票、卖品) */ public function seatLockBuy(){ $arr = [ 'cid'=>'31', 'card'=>'8701', 'play_id'=>'611443', 'seat'=>'15981-3-90-type-0-10,15982-3-90-type-0-10', 'lock_flag'=>'779179480928', 'play_update_time'=>'2012-06-19 14:56:12', 'partner_buy_ticket_id'=>'T1702147', // 'goods'=>'[{"id":104,"type":"package","price":21,"num":2}]', // 'goods_card_balance_pay'=>'33.00', // 't3d_pay_amount'=>'15.00', 'mobile'=>'13622583652', // 'is_cinema_price'=>1, // 'is_subsidy_involved_in_settlement'=>'N', // 'delivery_type'=>'2', // 'delivery_location'=>'1号厅', // 'delivery_appoint_time'=>'2017-09-01 15:20:20', // 'contact_number'=>'13622583652', // 'inventory_reduction_flag'=>'1', // 'refund_order_num'=>'T1702147', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/seat/lock-buy/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** * 3.4.8 退单(影票、卖品) */ public function ticketRefund(){ $arr = [ 'cid'=>'31', 'partner_buy_ticket_id'=>'S17100501', 'partner_refund_ticket_id'=>'R17100501', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/ticket/refund/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** * 3.4.9 查询订单状态及取票码 */ public function orderTicketFlag(){ $arr = [ 'cid'=>'31', 'partner_buy_ticket_id'=>'S17051210', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/ticket-flag/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** * 3.4.10 查询订单状态 */ public function orderStatus(){ $arr = [ 'cid'=>'31',//影院ID 'partner_order_id'=>'S17051210',//合作商订单流水号,对应(购票时的partner_buy_ticket_id,充值时的partner_deposit_id) 'type'=>'sell',//订单种类(sell:购票,deposit:充值),默认为sell。 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/status/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** * 3.4.11 查询订单信息(影票) */ public function ticketInfo(){ $arr = [ 'cid'=>'31',//影院ID 'card'=>'8701',//会员卡号[不是必传] 'ticket_flag1'=>'135265',//取票验证码第1部分(序列号) 'ticket_flag2'=>'845166',//取票验证码第2部分(验证码) 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/ticket/info/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** *3.4.13 确认出票(设置影票为已出票) */ public function ticketPrint(){ $arr = [ 'cid'=>'31',//影院ID 'card'=>'8701',//会员卡号[不是必传] 'ticket_flag1'=>'135265',//取票验证码第1部分(序列号) 'ticket_flag2'=>'845166',//取票验证码第2部分(验证码) 'tickets'=>'1000000000197052',//影票票号(可以包含多个票号用‘,’隔开)。此参数从《查询订单信息(影票)》接口的响应参数中获取no字段。当打印出现故障时(如:没有票纸,没有墨水)可传递此值只设置打印成功的部分影票为‘已出票’。注意:如果想全部设置为已出票,不传此值即可。 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/ticket/print/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } } /** * 3.2.1 获取影院列表 */ public function partnerCinemas(){ $params = $this->_params; $rule = [ 'pid|集团标识'=>'require', 'authCode|授权code'=>'require', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError()]); } $arr = [ 'format'=>'json', 'pid'=>$params['pid'], ]; $sign = $this->_createTokenSign($arr,$params['authCode']); $res = http_build_query($arr); $url = $this->_baseUrl."/partner/cinemas/?$res&_sig=$sign"; $res = HelperService::curlGet($url,true); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode']." pid:".$params['pid']."授权码:".$params['authCode'], 'data'=>[]]); } HelperService::returnJson(['code'=>200, 'msg'=>'success', 'data'=>$res_arr['res']['data']]); } /** * 3.2.2 获取单个影院配置信息 */ public function cinemaConfig(){ $arr = [ 'cid'=>'31', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/cinema/config/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.2.3 获取放映计划列表 */ public function cinemaPlays(){ $arr = [ 'cid'=>'31', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/cinema/plays/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr['res']['data']); } /** * 3.1.10 会员卡消费流水查询 */ public function cardTradeQuery(){ $arr = [ 'cid'=>'31', 'card'=>'8701', 'stime'=>'2018-05-19 19:00:09', 'etime'=>'2018-06-19 19:00:09', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/trade-query/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.1.11 根据手机号查询卡号 */ public function cardQuerybyphone(){ $arr = [ 'cid'=>'31', 'phone'=>'13820000000', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/querybyphone/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.2.4 获取影片详细信息 */ public function movieInfo(){ $arr = [ 'cid'=>'31', 'mid'=>'281',//影片编号,对应《获取放映计划列表》接口的业务响应参数cineMovieId 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/movie/info/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.2.5 获取场次详细信息 */ public function playInfo(){ $arr = [ 'cid'=>'31', 'play_id'=>'50002443',//放映场次id,对应《获取放映计划列表》接口业务响应参数id,多个id用‘,’号隔开 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/play/info/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.2.6 获取场次座位状态 */ public function playSeatStatus(){ $arr = [ 'cid'=>'31', 'play_id'=>'50002443',//放映场次id,对应《获取放映计划列表》接口业务响应参数id,多个id用‘,’号隔开 'play_update_time'=>'2019-02-25 10:35:39',//场次最后更新时间,对应《获取放映计划列表》接口业务响应参数cineUpdatetime 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/play/seat-status/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** *3.2.7 获取场次座位状态增量 */ public function playPeriodChangedSeats(){ $arr = [ 'cid'=>'31', 'play_id'=>'50002443',//放映场次id,对应《获取放映计划列表》接口业务响应参数id,多个id用‘,’号隔开 'start'=>'2019-02-25 10:35:39',//开始时间 // 要求:为了不错过任何座位状态增量,获取座位的时间段最好是和‘上次获取的时间段’有1分钟重叠。 //例如: //第1次 start=2017-10-10 09:30:00 //返回的座位状态数据包含2017-10-10 09:30:00 至 //2017-10-10 10:00:00 //第2次 start=2017-10-10 09:59:00 //返回的座位状态数据包含2017-10-10 09:59:00 至 //2017-10-10 10:30:00 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/play/period-changed-seats/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.2.8 获取场次座位售卖统计信息 */ public function playSeatOverview(){ $arr = [ 'cid'=>'31', 'play_id'=>'50002443',//放映场次id,对应《获取放映计划列表》接口业务响应参数id,多个id用‘,’号隔开 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/play/seat-overview/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.4.2 会员卡充值 */ public function cardRecharge(){ $arr = [ 'cid'=>'31', 'card'=>'8701', 'money'=>'500', 'partner_deposit_id'=>'D1702135',//外部的充值流水号 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/recharge/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** *3.1.6 查询会员卡充值记录 */ public function cardRechargeLog(){ $arr = [ 'cid'=>'31',//影院id 'card'=>'8701', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/recharge-log/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.1.7 查询会员卡历史订单 */ public function orderList(){ $arr = [ 'cid'=>'31',//影院id 'card'=>'8701', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/list/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.1.8 查询某条订单的详细信息 */ public function orderDetail(){ $arr = [ 'cid'=>'31',//影院id 'card'=>'8701', 'order_id'=>'465589995387', 'type'=>'sell', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/order/detail/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** *3.1.9 根据卡芯片号查询卡号 */ public function cardId(){ $arr = [ 'cid'=>'31',//影院id 'card_chip_no'=>'87010100066', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/card/id/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** *3.4.1 订票 */ public function seatBook(){ $arr = [ 'cid'=>'31',//影院id 'play_id'=>'32651', 'card'=>'8701', 'seat_id'=>'1662', 'phone'=>'18355173015', 'user_name'=>'小明', 'partner_book_id'=>'b17103621', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/seat/book/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.4.4 座位锁定后获取票价 */ public function seatPrice(){ $arr = [ 'cid'=>'31',//影院id 'card'=>'8701', 'lock_flag'=>'779179480928',//对应《座位锁定》接口的业务响应参数lockFlag 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/seat/price/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.4.5 座位解锁 */ public function seatUnlock(){ $arr = [ 'cid'=>'31',//影院id 'play_id'=>'611443', 'seat_id'=>'10352', 'lock_flag'=>'779179480928', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/seat/unlock/?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } /** * 3.5.1 充值明细对账 */ public function cinemaRechargeBill(){ $arr = [ 'cid'=>'31',//影院id 'start_date'=>'2016-03-01', 'end_date'=>'2016-03-06', 'format'=>'json', 'pid'=>$this->_pId, ]; $sign = $this->_createTokenSign($arr); $res = http_build_query($arr); $url = $this->_baseUrl."/cinema/recharge-bill?$res&_sig=$sign"; $res = file_get_contents($url); $res_arr = json_decode($res,true); if($res_arr['res']['status'] != 1){ HelperService::returnJson(['code'=>400, 'msg'=>$res_arr['res']['errorMessage']."--".$res_arr['res']['errorCode'], 'data'=>[]]); } print_r($res_arr); } }