コード例 #1
0
 public function payCardCheck()
 {
     global $arr_limitauthorid;
     $db = new DB_test();
     $arr_header = $this->arr_header;
     $arr_body = $this->arr_body;
     $arr_channelinfo = $this->arr_channelinfo;
     $paycardkey = $arr_body['paycardkey'];
     $authorid = $arr_channelinfo['authorid'];
     /*2014-06-18 取消商户对刷卡器的限制 */
     $paycardkey = strtolower($paycardkey);
     $paycardkey = str_replace("fff", "", $paycardkey);
     //$paycardid = trim(GetPayCalcuInfo::readpaycardid($arr_body['paycardkey'])); //刷卡器设备号
     $arr_paycard = GetPayCalcuInfo::readpaycardid($arr_body['paycardkey'], $authorid);
     //刷卡器设备号
     $paycardid = $arr_paycard['paycardid'];
     //刷卡器id
     $cusid = trim($arr_paycard['cusid']);
     //代理商
     $paycardkey = trim($arr_paycard['paycardkey']);
     //刷卡器key
     AgentPayglist::savePayCardinfo($paycardid);
     //保存最新刷卡时间
     $arr_message = array("result" => "success", "message" => "刷卡器检验成功!");
     $retcode = "0";
     //反馈状态 0 成功 200 自定义错误
     $arr_msg['msgbody']['result'] = $arr_message['result'];
     $arr_msg['msgbody']['message'] = $arr_message['message'];
     $returnvalue = array("msgbody" => $arr_msg['msgbody']);
     $returnval = TfbxmlResponse::ResponsetoApp($retcode, $returnvalue);
     /*---end ---   */
     $query = "select fd_paycard_authorid as pauthorid from tb_paycard where   fd_paycard_key = '{$paycardkey}'  ";
     $arr_authid = $db->get_one($query);
     //		if(in_array($authorid, $arr_limitauthorid))
     //			{
     //		if($arr_authid['pauthorid']!=$authorid && $arr_authid['pauthorid']>0)
     //		{
     //			$Error = array (
     //				'result' => 'failure',
     //				'retcode' => '200',
     //				'retmsg' => '该刷卡器已被其他商户使用,您不允许使用!'
     //			);
     //			$this->ErrorReponse->reponError($Error); //出错反馈
     //			exit;
     //
     //		}
     //			}
     $query = "select fd_paycard_id,fd_paycard_active,fd_paycard_posstate from tb_paycard where fd_paycard_key = '{$paycardkey}'  ";
     $db->query($query);
     //echo $query;
     if ($db->nf()) {
         $db->next_record();
         $paycardid = $db->f(fd_paycard_id);
         $posstate = $db->f(fd_paycard_posstate);
         //0 停用 1 警告 2启用 3 冻结
         $paycardactive = $db->f(fd_paycard_active);
         //0 停用 1 警告 2启用 3 冻结
         if ($paycardactive == 0) {
             $arr_message = array("result" => "failure", "message" => "请先激活刷卡器!");
             $retcode = "200";
             //反馈状态 0 成功 200 自定义错误
         } else {
             $arr_message = array("result" => "success", "message" => "刷卡器检验成功!");
             $retcode = "0";
             //反馈状态 0 成功 200 自定义错误
         }
         if ($posstate == '3' || $posstate == '0') {
             $arr_message = array("result" => "failure", "message" => "该刷卡器被冻结或者停用!");
             $retcode = "200";
             //反馈状态 0 成功 200 自定义错误
         }
     } else {
         $arr_message = array("result" => "failure", "message" => "刷卡失败,请先激活刷卡器!");
         $retcode = "200";
         //反馈状态 0 成功 200 自定义错误
         if (!in_array($authorid, $arr_limitauthorid)) {
             $arr_message = array("result" => "success", "message" => "刷卡器验证通过!");
             $retcode = "0";
             //反馈状态 0 成功 200 自定义错误
         }
     }
     $arr_msg['msgbody']['result'] = $arr_message['result'];
     $arr_msg['msgbody']['message'] = $arr_message['message'];
     $returnvalue = array("msgbody" => $arr_msg['msgbody']);
     $returnval = TfbxmlResponse::ResponsetoApp($retcode, $returnvalue);
     return $returnval;
 }