public function loansreturn() { file_put_contents('/tmp/debugwhh', date('m-d H:i:s') . "\$_POST:" . print_r($_POST, true) . "\n", FILE_APPEND); if (strcmp($_POST['RespCode'], "000") == 0) { $mem = new Memcache(); $mem->connect("127.0.0.1", 11211); $key = 'loansreturn-' . $_POST['CmdId'] . '-' . $_POST['OutCustId']; $has = $mem->get($key); if ($has) { sleep(1); //return ; } else { //设置4秒 $mem->set($key, 1, 0, 1); } unset($mem, $has, $key); } $usrid = $_POST['OutCustId']; $info = M("huifulog")->distinct(true)->field("uid,username")->where("usrid=" . $usrid)->find(); $data = array(); $data['uid'] = $info['uid']; //用户UID $data['username'] = $info['username']; //用户名 $data['rescode'] = $_POST['RespCode']; //返回码 $data['cmdid'] = $_POST['CmdId']; //消息类型 $data['usrid'] = $_POST['OutCustId']; //用户客户号(出账人客户号) $data['ordid'] = $_POST['OrdId']; //订单号 $data['orddate'] = $_POST['OrdDate']; //订单日期 $data['trxid'] = ""; $data['merpriv'] = $_POST['MerPriv']; $data['addtime'] = time(); //记录时间 //解冻金额是否减掉 $reqext = 0; $reqext = $_POST['RespExt']; //代金券的内容json字符串 $reqext = json_decode(urldecode($reqext), 1); $reqext = $reqext['LoansVocherAmt']; file_put_contents('/tmp/debugwhh', date('m-d H:i:s') . "reqext:" . print_r($reqext, true) . "\n", FILE_APPEND); $condition['uid'] = $data['uid']; $condition['ordid'] = $data['ordid']; $num = M("huifulog")->where($condition)->count(); $md = M()->getLastSql(); file_put_contents('/tmp/debugwhh', date('m-d H:i:s') . "\\md:" . print_r($md, true) . "\n", FILE_APPEND); if ($num == 0) { M("huifulog")->add($data); if (strcmp($_POST['RespCode'], "000") == 0) { $temp = base64_decode($data['merpriv']); $pos1 = strpos($temp, '{'); $pos2 = strpos($temp, '}'); $len = $pos2 - $pos1 + 1; $merpriv = substr($temp, $pos1, $len); $merpriv = json_decode($merpriv, true); $borrowid = $merpriv['borrowid']; //标ID $investid = $merpriv['investid']; //投资ID $binfo = M("borrow_info")->field("borrow_type,reward_type,reward_num,borrow_fee,borrow_money,borrow_uid,borrow_duration,repayment_type,manage_rate")->find($borrowid); //还款时间 $endTime = strtotime(date("Y-m-d", time()) . " 23:59:59"); //逾期时刻 if ($binfo['borrow_type'] == 3 || $binfo['repayment_type'] == 1) { $deadline = strtotime("+{$binfo['borrow_duration']} day", $endTime); //天标或秒标 } else { $deadline = strtotime("+{$binfo['borrow_duration']} month", $endTime); //月标 } //更新投资信息 $investinfo = array(); $investinfo['deadline'] = $deadline; $investinfo['status'] = 4; //复审通过,还款中 M("borrow_investor")->where("id=" . $investid)->save($investinfo); //更新还款信息 switch ($binfo['repayment_type']) { case 2: //每月还款 //每月还款 case 3: //每季还本 //每季还本 case 4: //期未还本 for ($i = 1; $i <= $binfo['borrow_duration']; $i++) { $repaymentinfo = array(); $deadlines = strtotime("+{$i} month", $endTime); //月还款时间 $repaymentinfo['deadline'] = $deadlines; $repaymentinfo['status'] = 7; //复审通过,还款中 M("investor_detail")->where("invest_id={$investid} AND `sort_order` ={$i}")->save($repaymentinfo); } break; case 1: //按天一次性还款 //按天一次性还款 case 5: //一次性还款 $repaymentinfo = array(); $repaymentinfo['deadline'] = $deadline; //一次性还款时间 $repaymentinfo['status'] = 7; //复审通过,还款中 M("investor_detail")->where("invest_id=" . $investid)->save($repaymentinfo); break; } //解冻保证金要减去代金券 20150831 if ($reqext) { $investor_capital = str2val_money($_POST['TransAmt'] - $reqext); $tip = "第{$borrowid}号标复审通过,冻结本金成为待收金额.使用代金券{$reqext}元"; } else { $investor_capital = str2val_money($_POST['TransAmt']); $tip = "第{$borrowid}号标复审通过,冻结本金成为待收金额."; } //因为要给代收金额加上代金券的钱 所以要添加一个变量。20150831 by lj memberMoneyLog($data['uid'], 15, $investor_capital, $tip, $binfo['borrow_uid'], '', 0, $reqext); file_put_contents('/tmp/debugwhh', date('m-d H:i:s') . "is_null_req:" . print_r($reqext, true) . "\n", FILE_APPEND); $daishou = M('investor_detail')->field('interest')->where("investor_uid = {$data['uid']} and borrow_id = {$borrowid} and invest_id ={$investid}")->sum('interest'); memberMoneyLog($data['uid'], 28, $daishou, "第{$borrowid}号标复审通过,应收利息成为待收利息", $binfo['borrow_uid']); //memberMoneyLog($vo['recommend_id'],13,$jiangli,$vo['user_name']."对{$borrow_id}号标投资成功,你获得推广奖励".$jiangli."元。",$v['investor_uid']); $id = M("borrow_investor")->field('id')->where("borrow_id=" . $borrowid)->order('id desc')->find(); if ($id['id'] == $investid) { $borrowinfo = array(); $borrowinfo['deadline'] = $deadline; $borrowinfo['borrow_status'] = 6; M("borrow_info")->where("id=" . $borrowid)->save($borrowinfo); //更新借款信息 //投标代金券放入客户代收金额*/ memberMoneyLog($binfo['borrow_uid'], 17, $binfo['borrow_money'], "第{$borrowid}号标复审通过,借款金额入帐"); //投标代金券放入客户代收金额结束*/ $total = M("borrow_info")->field("danbao,borrow_money")->where("id=" . $borrowid)->find(); //如果担保公司存在 if ($total['danbao'] != 0) { $Guar = M('members')->field("usrid,id")->where("id = " . $total['danbao'])->find(); $guar_rate = M('member_guarrate')->where("uid = " . $total['danbao'])->find(); //担保费率 $rates_fee = $guar_rate['guarrate'] * $binfo['borrow_money'] / 100; memberMoneyLog($binfo['borrow_uid'], 104, -$rates_fee, "第{$borrowid}号标借款成功,扣除担保费"); //借款者付出担保费 memberMoneyLog($Guar['id'], 105, $rates_fee, "第{$borrowid}号标借款成功,获得担保费"); //担保者获得担保费 } memberMoneyLog($binfo['borrow_uid'], 18, -$binfo['borrow_fee'], "第{$borrowid}号标借款成功,扣除借款管理费"); //借款保证金 $_P_fee = get_global_setting(); $info1 = M("members")->field("usrid")->find($binfo['borrow_uid']); $usrid = $info1['usrid']; $transamt = $_P_fee['money_deposit'] * $total['borrow_money'] / 100; import("ORG.Huifu.Huifu"); $huifu = new Huifu(); $huifu->usrFreezeBg($usrid, $transamt, $borrowid); } } echo "RECV_ORD_ID_" . $_POST['OrdId']; } }