public static function readPayQuota($authorid, $paycardid, $paytype, $paymoney) { global $arr_limitauthorid; if (!in_array($authorid, $arr_limitauthorid)) { return true; } if ($paytype == 'coupon' || $paytype == 'creditcard' || $paytype == 'tfmg' || $paytype == 'suptfmg' || $paytype == 'order' || $paytype == 'recharge') { return true; } $db = new DB_test(); $ErrorReponse = new ErrorReponse(); $query = "select fd_author_bkcardscdmsetid as bkcardscdmsetid , fd_author_bkcardpayfsetid as bkcardpayfsetid," . " fd_author_slotscdmsetid as slotscdmsetid, fd_author_slotpayfsetid as slotpayfsetid from tb_author " . " where fd_author_id='{$authorid}'"; //echo $query; if ($db->execute($query)) { $array_taocan = $db->get_one($query); } $bkcardscdmsetid = $array_taocan['bkcardscdmsetid']; $slotscdmsetid = $array_taocan['slotscdmsetid']; $paydate = date("Y-m-d"); $query = "select fd_scdmset_sallmoney as sallmoney,fd_scdmset_nallmoney as nallmoney, fd_scdmset_everymoney as everymoney," . "fd_scdmset_everycounts as everycounts , fd_scdmset_severymoney as severymoney,fd_scdmset_neverymoney as neverymoney " . "from tb_slotcardmoneyset where fd_scdmset_id='{$bkcardscdmsetid}' "; //额度都以元 if ($db->execute($query)) { $arr_sysquota = $db->get_one($query); } $arr_monthreqmoney = CheckPayQuota::readpmreqmoney($authorid); //申请上来的审批额度信息 $arr_monthquota = CheckPayQuota::readmonthnmoney($authorid, $paycardid, $paytype); //每月已使用额度信息 $arr_datequota = CheckPayQuota::readdatenmoney($authorid, $paycardid, $paydate, $paytype); //本日已使用额度问题 $sysmonthallmoney = $arr_sysquota['nallmoney'] + $arr_monthreqmoney['paymoney']; //当前月份总共可以使用额度 $monthallmoney = $paymoney + $arr_monthquota['paymoney']; //当前月份总共可以使用额度 if ($paymoney > $arr_sysquota['neverymoney']) { $Error = array('result' => 'failure', 'retcode' => '200', 'retmsg' => '每笔交易额最大限制' . $arr_sysquota['neverymoney'] . "元"); $ErrorReponse->reponError($Error); //出错反馈 } if ($monthallmoney > $sysmonthallmoney) { $Error = array('result' => 'failure', 'retcode' => '200', 'retmsg' => '每月可使用额度已用完,请登录PC端个人平台申请额外额度!'); $ErrorReponse->reponError($Error); //出错反馈 } if ($arr_datequota['datecount'] >= $arr_sysquota['everycounts']) { $Error = array('result' => 'failure', 'retcode' => '200', 'retmsg' => '您每日的刷卡次数' . $arr_sysquota['everycounts'] . '已经用完,请明天再试!'); $ErrorReponse->reponError($Error); //出错反馈 } if ($arr_datequota['paymoney'] >= $arr_sysquota['everymoney']) { $Error = array('result' => 'failure', 'retcode' => '200', 'retmsg' => '您每日的刷卡金额' . $arr_sysquota['everymoney'] . '元已经用完,请明天再试!'); $ErrorReponse->reponError($Error); //出错反馈 } return true; }
public function SuptransferMoneyRq() { $db = new DB_test(); $arr_header = $this->arr_header; $arr_body = $this->arr_body; $arr_channelinfo = $this->arr_channelinfo; $authorid = trim($arr_channelinfo['authorid']); $paymoney = trim($arr_body['paymoney']); $shoucardno = trim($arr_body['shoucardno']); //收款卡号 $shoucardmobile = trim($arr_body['shoucardmobile']); //收款人手机 $shoucardman = trim(u2g($arr_body['shoucardman'])); //收款人姓名 $shoucardbank = trim(u2g($arr_body['shoucardbank'])); //收款银行 $fucardno = trim($arr_body['fucardno']); //付款卡号 $fucardbank = trim(u2g($arr_body['fucardbank'])); //付款银行 $fucardmobile = trim($arr_body['fucardmobile']); //付款人手机 $fucardman = trim(u2g($arr_body['fucardman'])); //付款人姓名 $current = trim($arr_body['current']); //币种 //$paycardid = trim(GetPayCalcuInfo::readpaycardid($arr_body['paycardid'])); //刷卡器设备号 $arr_paycard = GetPayCalcuInfo::readpaycardid($arr_body['paycardid'], $authorid); //刷卡器设备号 $paycardid = $arr_paycard['paycardid']; //刷卡器id $cusid = trim($arr_paycard['cusid']); //代理商 $paycardkey = trim($arr_paycard['paycardkey']); //刷卡器key $payfee = trim($arr_body['payfee']); //authorid $money = trim($arr_body['money']); //币种 $shoucardmemo = trim(u2g($arr_body['shoucardmemo'])); //刷卡器设备号 $sendsms = trim($arr_body['sendsms']); //authorid $arriveid = trim($arr_body['arriveid']); //币种 $paytype = 'suptfmg'; $feebankid = getbankid($shoucardbank); //获得银行id返回string CheckPayQuota::readPayQuota($authorid, $paycardid, $paytype, $paymoney); //调用判断额度使用情况 $arr_feeinfo = GetPayCalcuInfo::readPayFee($authorid, $feebankid, $paymoney, $arriveid, 2, $paytype); //获取手续费信息返回array if (is_array($arr_feeinfo)) { $feemoney = $arr_feeinfo['feemoney']; } $paydate = date("Y-m-d H:i:s"); $arrivedate = GetPayCalcuInfo::getfeedate($paydate, $arr_feeinfo['addday']); $allmoney = round($paymoney + $feemoney, 2); $payfeedirct = $arr_feeinfo['defeedirct']; if ($arr_feeinfo['defeedirct'] == 's') { $bkmoney = $paymoney; } else { $bkmoney = $allmoney; } $arr_feeinfo['arrivedate'] = $arrivedate; $arr_feeinfo['paydate'] = $paydate; $arr_feeinfo['bkmoney'] = $bkmoney; $arr_feeinfo['payfeedirct'] = $payfeedirct; $arr_bkinfo = BankPayInfo::bankpayorder($authorid, $paycardid, $bkmoney, $fucardno); $bkntno = trim($arr_bkinfo['bkntno']); $arr_feeinfo['sdcrid'] = $sdcrid = trim($arr_bkinfo['sdcrid']); $sdcrpayfee = substr($arr_bkinfo['sdcrpayfee'], 0, -1); //银联收取明盛浮动费率 $arr_feeinfo['sdcrpayfeemoney'] = $sdcrpayfeemoney = $bkmoney * $sdcrpayfee / 100 > $arr_bkinfo['minsdcrpayfee'] ? $bkmoney * $sdcrpayfee / 100 : $arr_bkinfo['minsdcrpayfee']; $arr_feeinfo['bkordernumber'] = $bkorderNumber = $arr_bkinfo['bkorderNumber']; $ccgno = makeorderno("transfermoneyglist", "tfmglist", "tfs"); $query = "insert into tb_transfermoneyglist(\n\t\t\t\t\t\t\tfd_tfmglist_no\t\t\t,fd_tfmglist_paycardid\t\t,fd_tfmglist_authorid\t,\n\t\t\t\t fd_tfmglist_paydate\t\t,fd_tfmglist_shoucardno\t\t,fd_tfmglist_fucardno\t,\n\t\t\t\t fd_tfmglist_bkntno\t\t,fd_tfmglist_payrq ,fd_tfmglist_paytype ,\n\t\t\t\t fd_tfmglist_current\t\t,fd_tfmglist_paymoney\t\t,fd_tfmglist_payfee\t\t ,\n\t\t\t\t fd_tfmglist_money\t\t,fd_tfmglist_shoucardbank ,fd_tfmglist_shoucardman ,\n\t\t\t\t fd_tfmglist_shoucardmobile,fd_tfmglist_fucardbank\t,fd_tfmglist_fucardmobile,\n\t\t\t\t fd_tfmglist_fucardman ,fd_tfmglist_feebankid ,fd_tfmglist_state ,\t\n\t\t\t\t fd_tfmglist_shoucardmemo,fd_tfmglist_sendsms ,fd_tfmglist_arriveid , \t\n\t\t\t\t fd_tfmglist_arrivedate ,fd_tfmglist_payfeedirct ,fd_tfmglist_bkordernumber," . "fd_tfmglist_sdcrid,fd_tfmglist_sdcrpayfeemoney)values\n\t\t\t\t\t\t ('{$ccgno}'\t\t,'{$paycardid}'\t,'{$authorid}'\t\t,\n\t\t\t\t\t\t '{$paydate}'\t\t,'{$shoucardno}'\t,'{$fucardno}'\t\t,\n\t\t\t\t\t\t '{$bkntno}'\t\t,'01'\t\t\t,'{$paytype}'\t\t\t,\n\t\t\t\t\t\t '{$current}'\t\t,'{$paymoney}'\t,'{$feemoney}'\t\t\t,\n\t\t\t\t\t\t '{$allmoney}'\t\t\t,'{$shoucardbank}','{$shoucardman}'\t\t,\n\t\t\t\t\t\t '{$shoucardmobile}','{$fucardbank}'\t,'{$fucardmobile}'\t,\n\t\t\t\t\t\t '{$fucardman}'\t\t,'{$feebankid}'\t,'0'\t\t\t\t,\n\t\t\t\t\t\t '{$shoucardmemo}'\t,'{$feebankid}' ,'{$arriveid}' , " . "'{$arrivedate}' ,'{$payfeedirct}' ,'{$bkorderNumber}' ,'{$sdcrid}' ,'{$sdcrpayfeemoney}' )"; $db->query($query); $listid = $db->insert_id(); //$listid = $db->insert_id(); $method = 'in'; $method = u2g($method); $gettrue = AgentPayglist::insertPayglist($this->reqxmlcontext, $bkntno, $listid, $ccgno, $paytype, $method, $arr_feeinfo); $arr_message = array("result" => "success", "message" => "获取成功!"); $retcode = "0"; //反馈状态 0 成功 200 自定义错误 $arr_msg['msgbody']['result'] = $arr_message['result']; $arr_msg['msgbody']['message'] = $arr_message['message']; $arr_msg['msgbody']['bkntno'] = $bkntno; $arr_msg['msgbody']['feemoney'] = $feemoney; $returnvalue = array("msgbody" => $arr_msg['msgbody']); $returnval = TfbxmlResponse::ResponsetoApp($retcode, $returnvalue); return $returnval; }