public function do_op_status() { $id = intval($_REQUEST['id']); $deal_repay = $GLOBALS['db']->getRow("SELECT dr.*,dr.l_key + 1 as l_key_index,d.name FROM " . DB_PREFIX . "deal_repay dr LEFT JOIN " . DB_PREFIX . "deal d ON d.id=dr.deal_id WHERE dr.id=" . $id); if (!$deal_repay) { $this->error("账单不存在"); } if (intval($_REQUEST['is_site_bad']) == 0) { $this->success("操作完成"); die; } $adm_session = es_session::get(md5(conf("AUTH_KEY"))); $msg = strim($_REQUEST['desc']); $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_repay SET is_site_bad=" . (intval($_REQUEST['is_site_bad']) - 1) . " WHERE id=" . $id); if ($GLOBALS['db']->affected_rows()) { save_log($deal_repay['name'] . " 第 " . ($deal_repay['l_key_index'] + 1) . "期,坏账操作", 1); repay_log($id, $msg, 0, $adm_session['adm_id']); $this->success("操作成功"); } else { save_log($deal_repay['name'] . " 第 " . ($deal_repay['l_key_index'] + 1) . "期,坏账操作", 0); $this->error("操作失败"); } }
function getUcRepayBorrowMoney($id, $ids) { $id = intval($id); $root = array(); $root["status"] = 0; //0:出错;1:正确; if ($id == 0) { $root["show_err"] = "操作失败!"; return $root; } $deal = get_deal($id); if (!$deal) { $root["show_err"] = "借款不存在!"; return $root; } if ($deal['ips_bill_no'] != "") { $root["status"] = 2; $root["jump"] = APP_ROOT . '/index.php?ctl=collocation&act=RepaymentNewTrade&deal_id=' . $deal['id'] . '&l_key=' . $ids . "&from=" . $GLOBALS['request']['from']; $root['jump'] = str_replace("/mapi", "", SITE_DOMAIN . $root['jump']); return $root; } if ($deal['user_id'] != $GLOBALS['user_info']['id']) { $root["show_err"] = "不属于你的借款!"; return $root; } if ($deal['deal_status'] != 4) { $root["show_err"] = "借款不是还款状态!"; return $root; } $ids = explode(",", $ids); //当前用户余额 $user_total_money = (double) $GLOBALS['user_info']['money']; if ($user_total_money < 0) { $root["show_err"] = "余额不足"; return $root; } $last_repay_key = -1; require APP_ROOT_PATH . 'system/libs/user.php'; foreach ($ids as $lkey) { //还了多少人 $repay_user_count = 0; //多少人未还 $no_repay_user_count = 0; //还了多少本息 $repay_money = 0; //还了多少逾期罚息 $repay_impose_money = 0; //还了多少管理费 $repay_manage_money = 0; //还了多少逾期管理费 $repay_manage_impose_money = 0; //用户回款 get_deal_user_load_list($deal_info, $user_id = 0 ,$lkey = -1 , $ukey = -1,$true_time=0,$get_type = 0, $r_type = 0, $limit = "") $user_loan_list = get_deal_user_load_list($deal, 0, $lkey, -1, 0, 1); //===============还款================ foreach ($user_loan_list as $lllk => $lllv) { foreach ($lllv as $kk => $vv) { if ($vv['has_repay'] == 0) { //借入者已还款,但是没打款到借出用户中心 $user_load_data = array(); $user_load_data['true_repay_time'] = TIME_UTC; $user_load_data['true_repay_date'] = to_date(TIME_UTC); $user_load_data['is_site_repay'] = 0; $user_load_data['status'] = 0; $user_load_data['true_repay_money'] = (double) $vv['month_repay_money']; $user_load_data['true_self_money'] = (double) $vv['self_money']; $user_load_data['true_interest_money'] = (double) $vv['interest_money']; $user_load_data['true_manage_money'] = (double) $vv['manage_money']; $user_load_data['true_manage_interest_money'] = (double) $vv['manage_interest_money']; $user_load_data['true_repay_manage_money'] = (double) $vv['repay_manage_money']; $user_load_data['true_manage_interest_money_rebate'] = (double) $vv['manage_interest_money_rebate']; $user_load_data['impose_money'] = (double) $vv['impose_money']; $user_load_data['repay_manage_impose_money'] = (double) $vv['repay_manage_impose_money']; $user_load_data['true_reward_money'] = (double) $vv['reward_money']; $need_repay_money = 0; $need_repay_money += $user_load_data['true_repay_money'] + $user_load_data['impose_money'] + $user_load_data['true_repay_manage_money'] + $user_load_data['repay_manage_impose_money']; //=============余额足够才进行还款================= if ((double) $need_repay_money <= $user_total_money) { $last_repay_key = $lkey; $repay_user_count += 1; $repay_money += $user_load_data['true_repay_money']; $repay_impose_money += $user_load_data['impose_money']; $repay_manage_money += $user_load_data['true_repay_manage_money']; $repay_manage_impose_money += $user_load_data['repay_manage_impose_money']; $user_total_money = $user_total_money - $need_repay_money; if ($vv['status'] > 0) { $user_load_data['status'] = $vv['status'] - 1; } $user_load_data['has_repay'] = 1; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_load_repay", $user_load_data, "UPDATE", "id=" . $vv['id'] . " AND has_repay = 0 ", "SILENT"); if ($GLOBALS['db']->affected_rows() > 0) { $unext_loan = $user_loan_list[$vv['u_key']][$kk + 1]; if ($unext_loan) { $notices['content'] = "本笔投标的下个还款日为" . to_date($unext_loan['repay_day'], "Y年m月d日") . ",需还本息" . number_format($unext_loan['month_repay_money'], 2) . "元。"; } else { $load_repay_rs = $GLOBALS['db']->getOne("SELECT (sum(true_interest_money) + sum(impose_money)) as shouyi,sum(impose_money) as total_impose_money FROM " . DB_PREFIX . "deal_load_repay WHERE deal_id=" . $deal['id'] . " AND user_id=" . $vv['user_id']); $all_shouyi_money = number_format($load_repay_rs['shouyi'], 2); $all_impose_money = number_format($load_repay_rs['total_impose_money'], 2); $notices['content'] = "本次投标共获得收益:" . $all_shouyi_money . "元,其中违约金为:" . $all_impose_money . "元,本次投标已回款完毕!"; } if ($user_load_data['impose_money'] != 0 || $user_load_data['true_manage_money'] != 0 || $user_load_data['true_repay_money'] != 0) { $in_user_id = $vv['user_id']; //如果是转让债权那么将回款打入转让者的账户 if ((int) $vv['t_user_id'] == 0) { $loan_user_info['user_name'] = $vv['user_name']; $loan_user_info['email'] = $vv['email']; $loan_user_info['mobile'] = $vv['mobile']; } else { $in_user_id = $vv['t_user_id']; $loan_user_info['user_name'] = $vv['t_user_name']; $loan_user_info['email'] = $vv['t_email']; $loan_user_info['mobile'] = $vv['t_mobile']; } //更新用户账户资金记录 modify_account(array("money" => $user_load_data['true_repay_money']), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,回报本息", 5); if ($user_load_data['true_manage_money'] > 0) { modify_account(array("money" => -$user_load_data['true_manage_money']), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,投标管理费", 20); } //利息管理费 modify_account(array("money" => -$user_load_data['true_manage_interest_money']), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,投标利息管理费", 20); if ($user_load_data['impose_money'] != 0) { modify_account(array("money" => $user_load_data['impose_money']), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,逾期罚息", 21); } //投资者奖励 if ($user_load_data['true_reward_money'] != 0) { modify_account(array("money" => $user_load_data['true_reward_money']), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,奖励收益", 28); } //普通会员邀请返利 get_referrals($vv['id']); //投资者返佣金 if ($user_load_data['true_manage_interest_money_rebate'] != 0) { /*ok*/ $reback_memo = sprintf($GLOBALS['lang']["INVEST_REBATE_LOG"], $deal["url"], $deal["name"], $loan_user_info["user_name"], intval($vv["l_key"]) + 1); reback_rebate_money($in_user_id, $user_load_data['true_manage_interest_money_rebate'], "invest", $reback_memo); } $msg_conf = get_user_msg_conf($in_user_id); //短信通知 if (app_conf("SMS_ON") == 1 && app_conf('SMS_REPAY_TOUSER_ON') == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_DEAL_LOAD_REPAY_SMS'", false); $tmpl_content = $tmpl['content']; $notice['user_name'] = $loan_user_info['user_name']; $notice['deal_name'] = $deal['sub_name']; $notice['deal_url'] = $deal['url']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['repay_money'] = number_format($user_load_data['true_repay_money'] + $user_load_data['impose_money'], 2); if ($unext_loan) { $notice['need_next_repay'] = $unext_loan; $notice['next_repay_time'] = to_date($unext_loan['repay_day'], "Y年m月d日"); $notice['next_repay_money'] = number_format($unext_loan['month_repay_money'], 2); } else { $notice['all_repay_money'] = $all_shouyi_money; $notice['impose_money'] = $all_impose_money; } $GLOBALS['tmpl']->assign("notice", $notice); $sms_content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $loan_user_info['mobile']; $msg_data['send_type'] = 0; $msg_data['title'] = $msg_data['content'] = addslashes($sms_content); $msg_data['send_time'] = 0; $msg_data['is_send'] = 0; $msg_data['create_time'] = TIME_UTC; $msg_data['user_id'] = $in_user_id; $msg_data['is_html'] = 0; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } //站内信 if ($msg_conf['sms_bidrepaid'] == 1) { $notices['shop_title'] = app_conf("SHOP_TITLE"); } $notices['url'] = "“<a href=\"" . $deal['url'] . "\">" . $deal['name'] . "</a>”"; $notices['money'] = $user_load_data['true_repay_money'] + $user_load_data['impose_money']; $tmpl_contents = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_SITE_REPAY'", false); $GLOBALS['tmpl']->assign("notice", $notices); $content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_contents['content']); send_user_msg("", $content, 0, $in_user_id, TIME_UTC, 0, true, 9); //邮件 if ($msg_conf['mail_bidrepaid'] == 1 && app_conf('MAIL_ON') == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_DEAL_LOAD_REPAY_EMAIL'", false); $tmpl_content = $tmpl['content']; $notice['user_name'] = $loan_user_info['user_name']; $notice['deal_name'] = $deal['sub_name']; $notice['deal_url'] = $deal['url']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['site_url'] = SITE_DOMAIN . APP_ROOT; $notice['help_url'] = SITE_DOMAIN . url("index", "helpcenter"); $notice['msg_cof_setting_url'] = SITE_DOMAIN . url("index", "uc_msg#setting"); $notice['repay_money'] = number_format($user_load_data['true_repay_money'] + $user_load_data['impose_money'], 2); if ($unext_loan) { $notice['need_next_repay'] = $unext_loan; $notice['next_repay_time'] = to_date($unext_loan['repay_day'], "Y年m月d日"); $notice['next_repay_money'] = number_format($unext_loan['month_repay_money'], 2); } else { $notice['all_repay_money'] = $all_shouyi_money; $notice['impose_money'] = $all_impose_money; } $GLOBALS['tmpl']->assign("notice", $notice); $msg = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $loan_user_info['email']; $msg_data['send_type'] = 1; $msg_data['title'] = "“" . $deal['name'] . "”回款通知"; $msg_data['content'] = addslashes($msg); $msg_data['send_time'] = 0; $msg_data['is_send'] = 0; $msg_data['create_time'] = TIME_UTC; $msg_data['user_id'] = $in_user_id; $msg_data['is_html'] = $tmpl['is_html']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } } } } //=============余额足够才进行还款================= } } } //===============还款================ //如果已收取管理费 $get_manage = $GLOBALS['db']->getOne("SELECT get_manage FROM " . DB_PREFIX . "deal_repay WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey . " "); if ($repay_user_count > 0) { //判断当前期是否还款完毕 $true_repay_count = $GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_load_repay WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey . " AND has_repay=1 "); $ext_str = ""; if ($true_repay_count != $repay_user_count) { $ext_str = "[部分]"; } //更新用户账户资金记录 modify_account(array("money" => -$repay_money), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,偿还本息{$ext_str}", 4); if ($repay_impose_money != 0) { modify_account(array("money" => -$repay_impose_money), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,逾期罚息{$ext_str}", 11); } if ($repay_manage_money > 0) { modify_account(array("money" => -$repay_manage_money), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,借款管理费{$ext_str}", 10); } if ($repay_manage_impose_money != 0) { modify_account(array("money" => -$repay_manage_impose_money), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,逾期管理费{$ext_str}", 12); } $rebate_rs = get_rebate_fee($GLOBALS['user_info']['id'], "borrow"); $true_manage_money_rebate = $repay_manage_money * floatval($rebate_rs['rebate']) / 100; //借款者返佣 if ($true_manage_money_rebate != 0) { /*ok*/ $reback_memo = sprintf($GLOBALS['lang']["BORROW_REBATE_LOG"], $deal["url"], $deal["name"], $deal["user"]["user_name"], intval($kk) + 1); reback_rebate_money($GLOBALS['user_info']['id'], $true_manage_money_rebate, "borrow", $reback_memo); } } $r_msg = "会员还款{$ext_str}"; if ($repay_money > 0) { $r_msg .= ",本息:" . format_price($repay_money); } if ($repay_impose_money > 0) { $r_msg .= ",逾期费用:" . format_price($repay_impose_money); } if ($repay_manage_money > 0) { $r_msg .= ",管理费:" . format_price($repay_manage_money); } if ($repay_manage_impose_money > 0) { $r_msg .= ",逾期管理费:" . format_price($repay_manage_impose_money); } $repay_id = $GLOBALS['db']->getOne("SELECT id FROM " . DB_PREFIX . "deal_repay WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey); repay_log($repay_id, $r_msg, $GLOBALS['user_info']['id'], 0); //$content = "您好,您在".app_conf("SHOP_TITLE")."的借款 “<a href=\"".$deal['url']."\">".$deal['name']."</a>”的借款第".($lkey+1)."期还款".number_format(($repay_money+$repay_impose_money+$repay_manage_money+$repay_manage_impose_money),2)."元,"; //如果还款完毕 $sms_ext_str = "成功"; if ($left_user_count = $GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_load_repay WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey . " AND has_repay = 0 ") == 0) { //$content .="本期还款完毕。"; $notices['content1'] = "本期还款完毕。"; $impose_rs = $GLOBALS['db']->getRow("SELECT sum(true_self_money) as total_self_money,sum(true_interest_money) as total_interest_money,sum(true_repay_money) as total_repay_money,sum(impose_money) as total_impose_money,sum(true_repay_manage_money) as total_repay_manage_money,sum(repay_manage_impose_money) as total_repay_manage_impose_money FROM " . DB_PREFIX . "deal_load_repay WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey . " AND has_repay = 1"); //判断是否逾期 $repay_update_data['has_repay'] = 1; $repay_update_data['true_repay_time'] = TIME_UTC; $repay_update_data['true_repay_date'] = to_date(TIME_UTC); $repay_update_data['true_repay_money'] = floatval($impose_rs['total_repay_money']); $repay_update_data['true_self_money'] = floatval($impose_rs['total_self_money']); $repay_update_data['true_interest_money'] = floatval($impose_rs['total_interest_money']); $repay_update_data['impose_money'] = floatval($impose_rs['total_impose_money']); $repay_update_data['true_manage_money'] = floatval($impose_rs['total_repay_manage_money']); //返佣金额 $rebate_rs = get_rebate_fee($GLOBALS['user_info']['id'], "borrow"); $repay_update_data['true_manage_money_rebate'] = floatval($repay_update_data['true_manage_money']) * floatval($rebate_rs['rebate']) / 100; $repay_update_data['manage_impose_money'] = floatval($impose_rs['total_repay_manage_impose_money']); if ($vv['impose_day'] > 0) { //VIP降级-逾期还款 $type = 2; $type_info = 5; $resultdate = syn_user_vip($GLOBALS['user_info']['id'], $type, $type_info); if ($vv['impose_day'] < app_conf('YZ_IMPSE_DAY')) { modify_account(array("point" => trim(app_conf('IMPOSE_POINT'))), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,逾期还款", 11); $repay_update_data['status'] = 2; } else { modify_account(array("point" => trim(app_conf('YZ_IMPOSE_POINT'))), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,严重逾期", 11); $repay_update_data['status'] = 3; } } elseif (TIME_UTC <= (int) $vv['repay_day'] + 24 * 3600 - 1) { $repay_update_data['status'] = 1; //VIP升级 -正常还款 $type = 1; $type_info = 3; $resultdate = syn_user_vip($GLOBALS['user_info']['id'], $type, $type_info); } $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_repay", $repay_update_data, "UPDATE", "deal_id = " . $deal['id'] . " and l_key=" . $lkey); if ($next_loan = $GLOBALS['db']->getRow("SELECT * FROM " . DB_PREFIX . "deal_repay WHERE deal_id=" . $deal['id'] . " and l_key > " . $last_repay_key . " ORDER BY l_key ASC")) { //$content .= "本笔借款的下个还款日为".to_date($next_loan['repay_day'],"Y年m月d日").",需要本息".number_format($next_loan['repay_money'],2)."元。"; $notices['content2'] = "本笔借款的下个还款日为" . to_date($next_loan['repay_day'], "Y年m月d日") . ",需要本息" . number_format($next_loan['repay_money'], 2) . "元。"; } } else { $notices['content1'] = "本期部分还款,还有" . $left_user_count . "个投资人待还。"; //$content .="本期部分还款,还有".$left_user_count."个投资人待还。"; $sms_ext_str = "部分"; $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_repay SET has_repay = 2 WHERE deal_id = " . $deal['id'] . " and l_key=" . $lkey); } //您好,您在{$notice.shop_title}的借款{$notice.url}的借款第{$notice.key}期还款{$notice.money}元 $notices['shop_title'] = app_conf("SHOP_TITLE"); $notices['url'] = "“<a href=\"" . $deal['url'] . "\">" . $deal['name'] . "</a>”"; $notices['key'] = $lkey + 1; $notices['money'] = number_format($repay_money + $repay_impose_money + $repay_manage_money + $repay_manage_impose_money, 2); $tmpl_contents = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_REPAY_MONEY_MSG'", false); $GLOBALS['tmpl']->assign("notice", $notices); $content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_contents['content']); send_user_msg("", $content, 0, $GLOBALS['user_info']['id'], TIME_UTC, 0, true, 8); //短信通知 if (app_conf("SMS_ON") == 1 && app_conf('SMS_SEND_REPAY') == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_SMS_REPAY_SUCCESS_MSG'", false); $tmpl_content = $tmpl['content']; //$sms_content = "尊敬的".app_conf("SHOP_TITLE")."用户".$GLOBALS['user_info']['user_name'].",您的借款“".$deal['name']."”第".($lkey+1)."期".$sms_ext_str."还款".number_format(($repay_money+$repay_impose_money+$repay_manage_money+$repay_manage_impose_money),2)."元,感谢您的关注和支持。"; $notice['user_name'] = $GLOBALS['user_info']['user_name']; $notice['deal_name'] = $deal['sub_name']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['index'] = $lkey + 1; $notice['status'] = $sms_ext_str; $notice['all_money'] = number_format($repay_money + $repay_impose_money + $repay_manage_money + $repay_manage_impose_money, 2); $notice['repay_money'] = number_format($repay_money, 2); $notice['impose_money'] = number_format($repay_impose_money, 2); $notice['manage_money'] = number_format($repay_manage_money, 2); $notice['manage_impose_money'] = number_format($repay_manage_impose_money, 2); $GLOBALS['tmpl']->assign("notice", $notice); $msg = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $GLOBALS['user_info']['mobile']; $msg_data['send_type'] = 0; $msg_data['title'] = "还款短信通知"; $msg_data['content'] = $msg; $msg_data['send_time'] = 0; $msg_data['is_send'] = 0; $msg_data['create_time'] = TIME_UTC; $msg_data['user_id'] = $GLOBALS['user_info']['id']; $msg_data['is_html'] = 0; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } } //判断本借款是否还款完毕 if ($GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_repay WHERE deal_id=" . $deal['id'] . " and l_key=" . $last_repay_key . " AND has_repay <> 1 ") == 0) { //全部还完 if ($GLOBALS['db']->getRow("SELECT * FROM " . DB_PREFIX . "deal_repay WHERE deal_id=" . $deal['id'] . " and has_repay = 0 ") == 0) { //判断获取的信用是否超过限制 if ($GLOBALS['db']->getOne("SELECT sum(point) FROM " . DB_PREFIX . "user_point_log WHERE `type`=6 AND user_id=" . $GLOBALS['user_info']['id']) < (int) trim(app_conf('REPAY_SUCCESS_LIMIT'))) { //获取上一次还款时间 $befor_repay_time = $GLOBALS['db']->getOne("SELECT MAX(create_time) FROM " . DB_PREFIX . "user_point_log WHERE `type`=6 AND user_id=" . $GLOBALS['user_info']['id']); $day = ceil((TIME_UTC - $befor_repay_time) / 24 / 3600); //当天数大于等于间隔时间 获得信用 if ($day >= (int) trim(app_conf('REPAY_SUCCESS_DAY'))) { modify_account(array("point" => trim(app_conf('REPAY_SUCCESS_POINT'))), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],还清借款", 4); } } //用户获得额度 modify_account(array("quota" => trim(app_conf('USER_REPAY_QUOTA'))), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],还清借款获得额度", 4); } } $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "generation_repay_submit SET `memo`='因还款失效',`status`=2 WHERE deal_id=" . $deal['id']); sys_user_status($GLOBALS['user_info']['id'], false, true); syn_deal_status($id); syn_transfer_status(0, $id); $root["status"] = 1; //0:出错;1:正确; $root["show_err"] = "还款完毕,本次还款人数:{$repay_user_count}"; return $root; }
private function get_manage($id) { //是否直接收取管理费 if (intval($_REQUEST['get_manage']) == 1) { require_once APP_ROOT_PATH . "system/libs/user.php"; require_once APP_ROOT_PATH . "system/common.php"; $deal_name = $GLOBALS['db']->getOne("select name from " . DB_PREFIX . "deal where id='{$id}' "); $deal_repay = $GLOBALS['db']->getAll("select * from " . DB_PREFIX . "deal_repay where deal_id='{$id}' AND has_repay=0 "); if ($deal_repay) { foreach ($deal_repay as $k => $v) { if ($v['manage_money'] != 0 && $v['get_manage'] == 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_repay SET true_manage_money = manage_money,get_manage=1 WHERE id=" . $v['id']); if ($GLOBALS['db']->affected_rows() > 0) { modify_account(array("money" => -$v['manage_money']), $v['user_id'], "[<a href='" . url("index", "deal#index", array("id" => $v['deal_id'])) . "' target='_blank'>" . $deal_name . "</a>],第" . ($v['l_key'] + 1) . "期,借款管理费", 10); $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_load_repay SET true_repay_manage_money = repay_manage_money WHERE repay_id=" . $v['id']); $r_msg = "管理员放款收取"; if ($v['manage_money'] > 0) { $r_msg .= ",管理费:" . format_price($v['manage_money']); } repay_log($v['id'], $r_msg, $v['user_id'], 0); } } } } } }
/** * 代还款 */ function do_site_repay($page = 1) { require_once APP_ROOT_PATH . "app/Lib/common.php"; require_once APP_ROOT_PATH . "app/Lib/deal.php"; $id = intval($_REQUEST['id']); $l_key = intval($_REQUEST['l_key']); $this->assign("jumpUrl", U("Deal/repay_plan", array("id" => $id))); if ($id == 0) { $this->success("数据错误"); } $deal_info = get_deal($id); if (!$deal_info) { $this->success("借款不存在"); } if ($deal_info['ips_bill_no'] != "") { $this->success("第三方同步暂无法代还款"); } if ($page == 0) { $page = 1; } $page_size = 10; $limit = ($page - 1) * $page_size . "," . $page_size; $user_loan_list = get_deal_user_load_list($deal_info, 0, $l_key, -1, 0, 0, 1, $limit); $rs_count = $user_loan_list['count']; $page_all = ceil($rs_count / $page_size); require_once APP_ROOT_PATH . "system/libs/user.php"; foreach ($user_loan_list['item'] as $kk => $vv) { if ($vv['has_repay'] == 0) { //借入者已还款,但是没打款到借出用户中心 $user_load_data = array(); $user_load_data['true_repay_time'] = TIME_UTC; $user_load_data['true_repay_date'] = to_date(TIME_UTC); $user_load_data['is_site_repay'] = 1; $user_load_data['status'] = 0; $user_load_data['true_self_money'] = (double) $vv['self_money']; $user_load_data['true_repay_money'] = (double) $vv['month_repay_money']; $user_load_data['true_interest_money'] = (double) $user_load_data['true_repay_money'] - (double) $user_load_data['true_self_money']; $user_load_data['true_manage_money'] = (double) $vv['month_manage_money']; $user_load_data['impose_money'] = (double) $vv['impose_money']; $user_load_data['repay_manage_impose_money'] = (double) $vv['repay_manage_impose_money']; if ($vv['status'] > 0) { $user_load_data['status'] = $vv['status'] - 1; } $user_load_data['has_repay'] = 1; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_load_repay", $user_load_data, "UPDATE", "id=" . $vv['id'] . " AND has_repay = 0 ", "SILENT"); if ($GLOBALS['db']->affected_rows() > 0) { //$content = "您好,您在".app_conf("SHOP_TITLE")."的投标 “<a href=\"".$deal_info['url']."\">".$deal_info['name']."</a>”成功还款".($user_load_data['true_repay_money']+$user_load_data['impose_money'])."元"; $unext_loan = $user_loan_list[$vv['u_key']][$kk + 1]; if ($unext_loan) { //$content .= ",本笔投标的下个还款日为".to_date($unext_loan['repay_day'],"Y年m月d日").",需还本息".number_format($unext_loan['month_repay_money'],2)."元。"; $notices['content'] = ",本笔投标的下个还款日为" . to_date($unext_loan['repay_day'], "Y年m月d日") . ",需还本息" . number_format($unext_loan['month_repay_money'], 2) . "元。"; } else { $load_repay_rs = $GLOBALS['db']->getOne("SELECT (sum(true_interest_money) + sum(impose_money)) as shouyi,sum(impose_money) as total_impose_money FROM " . DB_PREFIX . "deal_load_repay WHERE deal_id=" . $deal_info['id'] . " AND user_id=" . $vv['user_id']); $all_shouyi_money = number_format($load_repay_rs['shouyi'], 2); $all_impose_money = number_format($load_repay_rs['total_impose_money'], 2); //$content .= ",本次投标共获得收益:".$all_shouyi_money."元,其中违约金为:".$all_impose_money."元,本次投标已回款完毕!"; $notices['content'] = ",本次投标共获得收益:" . $all_shouyi_money . "元,其中违约金为:" . $all_impose_money . "元,本次投标已回款完毕!"; } if ($user_load_data['impose_money'] != 0 || $user_load_data['true_manage_money'] != 0 || $user_load_data['true_repay_money'] != 0) { $in_user_id = $vv['user_id']; //如果是转让债权那么将回款打入转让者的账户 if ((int) $vv['t_user_id'] == 0) { $loan_user_info['user_name'] = $vv['user_name']; $loan_user_info['email'] = $vv['email']; $loan_user_info['mobile'] = $vv['mobile']; } else { $in_user_id = $vv['t_user_id']; $loan_user_info['user_name'] = $vv['t_user_name']; $loan_user_info['email'] = $vv['t_email']; $loan_user_info['mobile'] = $vv['t_mobile']; } //更新用户账户资金记录 modify_account(array("money" => $user_load_data['true_repay_money']), $in_user_id, "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],第" . ($kk + 1) . "期,回报本息", 5); modify_account(array("money" => -$user_load_data['true_manage_money']), $in_user_id, "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],第" . ($kk + 1) . "期,投标管理费", 20); if ($user_load_data['impose_money'] != 0) { modify_account(array("money" => $user_load_data['impose_money']), $in_user_id, "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],第" . ($kk + 1) . "期,逾期罚息", 21); } $msg_conf = get_user_msg_conf($in_user_id); //短信通知 if (app_conf("SMS_ON") == 1 && app_conf('SMS_REPAY_TOUSER_ON') == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_DEAL_LOAD_REPAY_SMS'", false); $tmpl_content = $tmpl['content']; $notice['user_name'] = $loan_user_info['user_name']; $notice['deal_name'] = $deal_info['sub_name']; $notice['deal_url'] = $deal_info['url']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['repay_money'] = number_format($user_load_data['true_repay_money'] + $user_load_data['impose_money'], 2); if ($unext_loan) { $notice['need_next_repay'] = $unext_loan; $notice['next_repay_time'] = to_date($unext_loan['repay_day'], "Y年m月d日"); $notice['next_repay_money'] = number_format($unext_loan['month_repay_money'], 2); } else { $notice['all_repay_money'] = $all_shouyi_money; $notice['impose_money'] = $all_impose_money; } $GLOBALS['tmpl']->assign("notice", $notice); $sms_content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $loan_user_info['mobile']; $msg_data['send_type'] = 0; $msg_data['title'] = $msg_data['content'] = addslashes($sms_content); $msg_data['send_time'] = 0; $msg_data['is_send'] = 0; $msg_data['create_time'] = TIME_UTC; $msg_data['user_id'] = $in_user_id; $msg_data['is_html'] = 0; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } //站内信 $notices['shop_title'] = app_conf("SHOP_TITLE"); $notices['url'] = "“<a href=\"" . $deal_info['url'] . "\">" . $deal_info['name'] . "</a>”"; $notices['money'] = $user_load_data['true_repay_money'] + $user_load_data['impose_money']; $tmpl_content = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_SITE_REPAY'", false); $GLOBALS['tmpl']->assign("notice", $notices); $content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content['content']); if ($msg_conf['sms_bidrepaid'] == 1) { send_user_msg("", $content, 0, $in_user_id, TIME_UTC, 0, true, 9); } //邮件 if ($msg_conf['mail_bidrepaid'] == 1 && app_conf('MAIL_ON') == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_DEAL_LOAD_REPAY_EMAIL'", false); $tmpl_content = $tmpl['content']; $notice['user_name'] = $loan_user_info['user_name']; $notice['deal_name'] = $deal_info['sub_name']; $notice['deal_url'] = $deal_info['url']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['site_url'] = SITE_DOMAIN . APP_ROOT; $notice['help_url'] = SITE_DOMAIN . url("index", "helpcenter"); $notice['msg_cof_setting_url'] = SITE_DOMAIN . url("index", "uc_msg#setting"); $notice['repay_money'] = number_format($vv['month_repay_money'] + $vv['impose_money'], 2); if ($unext_loan) { $notice['need_next_repay'] = $unext_loan; $notice['next_repay_time'] = to_date($unext_loan['repay_day'], "Y年m月d日"); $notice['next_repay_money'] = number_format($unext_loan['month_repay_money'], 2); } else { $notice['all_repay_money'] = $all_shouyi_money; $notice['impose_money'] = $all_impose_money; } $GLOBALS['tmpl']->assign("notice", $notice); $msg = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $loan_user_info['email']; $msg_data['send_type'] = 1; $msg_data['title'] = "“" . $deal_info['name'] . "”回款通知"; $msg_data['content'] = addslashes($msg); $msg_data['send_time'] = 0; $msg_data['is_send'] = 0; $msg_data['create_time'] = TIME_UTC; $msg_data['user_id'] = $in_user_id; $msg_data['is_html'] = $tmpl['is_html']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } } } } } if ($page >= $page_all) { $s_count = $GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_load_repay where deal_id=" . $id . " AND l_key=" . $l_key . " and has_repay = 0"); $adm_session = es_session::get(md5(conf("AUTH_KEY"))); if ($s_count == 0) { $rs_sum = $GLOBALS['db']->getRow("SELECT sum(true_repay_money) as total_repay_money,sum(true_self_money) as total_self_money,sum(true_interest_money) as total_interest_money,sum(true_manage_money) as total_manage_money,sum(impose_money) as total_impose_money,sum(repay_manage_impose_money) as total_repay_manage_impose_money FROM " . DB_PREFIX . "deal_load_repay where deal_id=" . $id . " AND l_key=" . $l_key . " and has_repay = 1"); $deal_load_list = get_deal_load_list($deal_info); //统计网站代还款 $rs_site_sum = $GLOBALS['db']->getRow("SELECT sum(true_repay_money) as total_repay_money,sum(true_self_money) as total_self_money,sum(true_repay_manage_money) as total_manage_money,sum(impose_money) as total_impose_money,sum(repay_manage_impose_money) as total_repay_manage_impose_money FROM " . DB_PREFIX . "deal_load_repay where deal_id=" . $id . " AND l_key=" . $l_key . " and is_site_repay=1 and has_repay = 1"); $repay_data['status'] = (int) $deal_load_list[$l_key]['status'] - 1; $repay_data['true_repay_time'] = TIME_UTC; $repay_data['true_repay_date'] = to_date(TIME_UTC); $repay_data['has_repay'] = 1; $repay_data['impose_money'] = floatval($rs_sum['total_impose_money']); $repay_data['true_self_money'] = floatval($rs_sum['total_self_money']); $repay_data['true_repay_money'] = floatval($rs_sum['total_repay_money']); $repay_data['true_manage_money'] = floatval($rs_sum['total_manage_money']); $repay_data['true_interest_money'] = floatval($rs_sum['total_interest_money']); $repay_data['manage_impose_money'] = floatval($rs_sum['total_repay_manage_impose_money']); $GLOBALS['db']->autoExecute("UPDATE " . DB_PREFIX . "deal_repay", $repay_data, "UPDATE", " deal_id=" . $id . " AND l_key=" . $l_key . " and has_repay = 0 "); if ($rs_site_sum) { $r_msg = "网站代还款"; if ($rs_site_sum['total_repay_money'] > 0) { $r_msg .= ",本息:" . format_price($rs_site_sum['total_repay_money']); } if ($rs_site_sum['total_impose_money'] > 0) { $r_msg .= ",逾期费用:" . format_price($rs_site_sum['total_impose_money']); } if ($rs_site_sum['total_manage_money'] > 0) { $r_msg .= ",管理费:" . format_price($rs_site_sum['total_manage_money']); } if ($rs_site_sum['total_repay_manage_impose_money'] > 0) { $r_msg .= ",逾期管理费:" . format_price($rs_site_sum['total_repay_manage_impose_money']); } repay_log($deal_load_list[$l_key]['repay_id'], $r_msg, 0, $adm_session['adm_id']); } if ($GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "generation_repay WHERE deal_id=" . $id . " AND repay_id=" . $deal_load_list[$l_key]['repay_id'] . "") == 0) { $generation_repay['deal_id'] = $id; $generation_repay['repay_id'] = $deal_load_list[$l_key]['repay_id']; $generation_repay['admin_id'] = $adm_session['adm_id']; $generation_repay['agency_id'] = $deal_info['agency_id']; $generation_repay['repay_money'] = $rs_site_sum['total_repay_money']; $generation_repay['self_money'] = $rs_site_sum['total_self_money']; $generation_repay['impose_money'] = $rs_site_sum['total_impose_money']; $generation_repay['manage_money'] = $rs_site_sum['total_manage_money']; $generation_repay['manage_impose_money'] = $rs_site_sum['total_repay_manage_impose_money']; $generation_repay['create_time'] = TIME_UTC; $GLOBALS['db']->autoExecute(DB_PREFIX . "generation_repay", $generation_repay); } } $this->success("代还款执行完毕!"); } else { register_shutdown_function(array(&$this, 'do_site_repay'), $page + 1); } }