/** * 满标放款 * $type 0 普通 1代表 第三方 * $is_loan 0 不返款, 1 返款 */ function do_loans($id, $repay_start_time, $type = 0) { $return = array("status" => 0, "info" => ""); if ($id == 0) { $return['info'] = "放款失败,借款不存在"; return $return; } require_once APP_ROOT_PATH . "app/Lib/deal.php"; syn_deal_status($id); $deal_info = get_deal($id); if ($deal['cate_id'] == 6) { // 体验金 $is_ty = 1; } else { $is_ty = 0; } if (!$deal_info) { $return['info'] = "放款失败,借款不存在"; return $return; } if (!in_array($deal_info['deal_status'], array(2, 4, 5))) { $return['info'] = "放款失败,借款不是满标状态"; return $return; } if ($type == 0) { $loan_data['repay_start_time'] = $repay_start_time == '' ? 0 : to_timespan(to_date(to_timespan($repay_start_time), "Y-m-d"), "Y-m-d"); } else { $loan_data['repay_start_time'] = $repay_start_time; } if ($loan_data['repay_start_time'] == 0) { $return['info'] = "放款失败,时间没选择"; return $return; } if ($type == 0 && $deal_info['ips_bill_no'] != "") { $return['status'] = 2; $return['info'] = ""; $return['jump'] = APP_ROOT . "/index.php?ctl=collocation&act=Transfer&pTransferType=1&deal_id=" . $id . "&ref_data=" . $loan_data['repay_start_time']; return $return; } if ($loan_data['repay_start_time'] > 0) { $deal_info['next_repay_time'] = $loan_data['next_repay_time'] = next_replay_month($loan_data['repay_start_time']); } $deal_info['deal_status'] = $loan_data['deal_status'] = 4; $deal_info['is_has_loans'] = $loan_data['is_has_loans'] = 1; $deal_info['repay_start_time'] = $loan_data['repay_start_time']; format_deal_item($deal_info); //放款给用户 $GLOBALS['db']->autoExecute(DB_PREFIX . "deal", $loan_data, "UPDATE", "id=" . $id); if ($GLOBALS['db']->affected_rows() > 0) { require_once APP_ROOT_PATH . "system/libs/user.php"; if ($type == 0) { modify_account(array("money" => $deal_info['borrow_amount']), $deal_info['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],招标成功", 3, $is_ty); //扣除服务费 $services_fee = $deal_info['borrow_amount'] * floatval(trim($deal_info['services_fee'])) / 100; modify_account(array("money" => -$services_fee), $deal_info['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],服务费", 14, $is_ty); } $load_list = $GLOBALS['db']->getAll("SELECT id,user_id,`money`,`is_old_loan`,`rebate_money`,`rebid_money` FROM " . DB_PREFIX . "deal_load where deal_id=" . $id . " and is_rebate = 0 and is_rebid = 0 "); foreach ($load_list as $lk => $lv) { //扣除冻结资金 if ($lv['is_old_loan'] == 0 && $type == 0) { modify_account(array("lock_money" => -$lv['money']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],投标成功", 2, $is_ty); } //返利给用户 if (floatval($lv["rebate_money"]) != 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_load SET is_rebate =1 WHERE id=" . $lv['id'] . " AND is_rebate = 0 AND user_id=" . $lv['user_id'], $is_ty); if ($GLOBALS['db']->affected_rows()) { modify_account(array("money" => $lv['rebate_money']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],返利", 24, $is_ty); } } //续投奖励 if (floatval($lv["rebid_money"]) != 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_load SET is_rebid =1 WHERE id=" . $lv['id'] . " AND is_rebid = 0 AND user_id=" . $lv['user_id']); if ($GLOBALS['db']->affected_rows()) { modify_account(array("money" => $lv['rebid_money']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],续投奖励", 24, $is_ty); } } } $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_load", array("is_has_loans" => 1), "UPDATE", "deal_id=" . $id); make_repay_plan($deal_info); //发借款成功邮件 send_deal_success_mail_sms($id, $deal_info); //发借款成功站内信 send_deal_success_site_sms($id, $deal_info); $return['status'] = 1; $return['info'] = "放款成功"; return $return; } else { $return['info'] = "放款失败"; return $return; } }
function getUCInrepayRepayBorrowMoney($id) { $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['user_id'] != $GLOBALS['user_info']['id']) { $root["show_err"] = "不属于你的借款!"; return $root; } if ($deal['deal_status'] != 4) { $root["show_err"] = "借款不是还款状态!"; return $root; } $time = TIME_UTC; $impose_money = 0; //是否有部分还款的 $repay_count_ing = $GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_repay WHERE has_repay=2 and deal_id=" . $id); if ($repay_count_ing) { $root["show_err"] = "请将部分还款的借款还完才可以进行此操作!"; return $root; } //计算罚息 $loan_list = get_deal_load_list($deal); $k_repay_key = -1; $k_repay_time = 0; foreach ($loan_list as $k => $v) { if ($v['has_repay'] == 0) { if ($k_repay_key == -1) { $k_repay_key = $v['l_key']; $k_repay_time = $v['repay_day']; } $impose_money += $v['impose_all_money']; } } if ($impose_money > 0) { $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=all&from=' . $GLOBALS['request']['from']; $root['jump'] = str_replace("/mapi", "", SITE_DOMAIN . $root['jump']); return $root; } //还了几期了 $has_repay_count = $GLOBALS['db']->getOne("SELECT count(*) FROM " . DB_PREFIX . "deal_repay WHERE has_repay=1 and deal_id=" . $id); $loaninfo['deal'] = $deal; $loaninfo['loanlist'] = $loan_list; //返佣 $rebate_rs = get_rebate_fee($GLOBALS['user_info']['id'], "borrow"); $loaninfo['deal']['rebate'] = $rebate_rs['rebate']; $inrepay_info = inrepay_repay($loaninfo, $has_repay_count); $true_repay_money = (double) $inrepay_info['true_repay_money']; $true_self_money = (double) $inrepay_info['true_self_money']; $impose_money = (double) $inrepay_info['impose_money']; $true_manage_money = (double) $inrepay_info['true_manage_money']; $true_manage_money_rebate = (double) $inrepay_info['true_manage_money_rebate']; $true_total_repay_money = $true_repay_money + $impose_money + $true_manage_money; if ($true_total_repay_money > $GLOBALS['user_info']['money']) { $root["show_err"] = "对不起,您的余额不足!"; return $root; } //录入到提前还款列表 $inrepay_data['deal_id'] = $id; $inrepay_data['user_id'] = $GLOBALS['user_info']['id']; $inrepay_data['repay_money'] = $true_repay_money; $inrepay_data['self_money'] = $true_self_money; $inrepay_data['impose_money'] = $impose_money; $inrepay_data['manage_money'] = $true_manage_money; $inrepay_data['repay_time'] = $k_repay_time; $inrepay_data['true_repay_time'] = $time; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_inrepay_repay", $inrepay_data, "INSERT"); $inrepay_id = $GLOBALS['db']->insert_id(); if ($inrepay_id == 0) { $root["show_err"] = "对不起,数据处理失败,请联系客服!"; return $root; } //录入还款列表 $wait_repay_list = $GLOBALS['db']->getAll("SELECT * FROM " . DB_PREFIX . "deal_repay WHERE deal_id=" . $id . " and has_repay=0 ORDER BY l_key ASC"); $temp_ids = array(); foreach ($wait_repay_list as $k => $v) { $repay_data = array(); $repay_data['has_repay'] = 1; $repay_data['true_repay_time'] = $time; $repay_data['true_repay_date'] = to_date($time); $repay_data['status'] = 0; if ($k_repay_key == $v['l_key']) { $repay_data['true_repay_money'] = $true_repay_money; $repay_data['impose_money'] = $impose_money; $repay_data['true_manage_money'] = $true_manage_money; $repay_data['true_self_money'] = $true_self_money; $repay_data['true_interest_money'] = $true_repay_money - $true_self_money; $repay_data['true_manage_money_rebate'] = $true_manage_money_rebate; } $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_repay", $repay_data, "UPDATE", "id=" . $v['id']); //假如出错 删除掉原来的以插入的数据 if ($GLOBALS['db']->affected_rows() == 0) { if (count($temp_ids) > 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_repay SET has_repay=0 WHERE id in " . implode(",", $temp_ids) . ""); make_repay_plan($deal); } $root["show_err"] = "对不起,处理数据失败请联系客服!"; return $root; } else { $temp_ids[] = $v['id']; } } if (count($temp_ids) == 0) { $root["show_err"] = "对不起,处理数据失败请联系客服!"; return $root; } //更新用户账户资金记录 require APP_ROOT_PATH . 'system/libs/user.php'; modify_account(array("money" => -round($impose_money, 2)), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],提前还款违约金", 6); modify_account(array("money" => -round($true_manage_money, 2)), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],提前还款管理费", 10); modify_account(array("money" => -round($true_repay_money, 2)), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],提前还款本息", 6); //用户获得额度 modify_account(array("quota" => trim(app_conf('USER_REPAY_QUOTA'))), $GLOBALS['user_info']['id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],还清借款获得额度", 6); //借款者返佣金 if ($true_manage_money_rebate != 0) { /*ok*/ $reback_memo = '借款“<a href="' . $deal["url"] . '">' . $deal["name"] . '</a>”,借款者' . $deal["user"]["user_name"]; reback_rebate_money($GLOBALS['user_info']['id'], $true_manage_money_rebate, "borrow", $reback_memo); } //判断获取的信用是否超过限制 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 - $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>],还清借款", 6); } } //用户回款 /** * 获取某一期的用户还款列表 * array $deal_info 借款信息 * int $user_id 用户ID 为0代表全部 * int $lkey 第几期 -1 全部 * int $ukey 第几个投标人 -1 全部 * int $true_time 真实还款时间 * int $get_type 0 全部 1代表未还的 2 代表已还的 * int $r_type = 0; 返回类型; 1:只返回一个数组; $result['item'] * string $limit; 查询限制数量; 0,20 $result['count'] */ $user_loan_list = get_deal_user_load_list($deal, 0, -1, -1, $time, 1, 0, ''); foreach ($user_loan_list as $lllk => $lllv) { //循环用户 //本金 $user_self_money = 0; //本息 $user_repay_money = 0; //违约金 $user_impose_money = 0; //管理费 $user_manage_money = 0; //利息管理费 $user_manage_interest_money = 0; //返佣金 $manage_interest_money_rebate = 0; //奖励 $user_reward_money = 0; foreach ($lllv as $kk => $vv) { //循环期数 $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']; } $user_load_data = array(); $user_load_data['true_repay_time'] = $time; $user_load_data['true_repay_date'] = to_date($time); $user_load_data['is_site_repay'] = 0; $user_load_data['status'] = 0; if ($k_repay_key == $vv['l_key']) { $loadinfo['deal']['rate'] = $deal['rate']; $loadinfo['deal']['loantype'] = $deal['loantype']; $loadinfo['deal']['repay_time'] = $deal['repay_time']; $loadinfo['deal']['borrow_amount'] = $vv['money']; $loadinfo['deal']['repay_start_time'] = $deal['repay_start_time']; $loadinfo['deal']['month_manage_money'] = $vv['manage_money']; $loadinfo['deal']['manage_interest_money'] = $vv['manage_interest_money']; $deal = get_user_load_fee($in_user_id, 0, $deal); $loadinfo['deal']['user_loan_interest_manage_fee'] = $deal['user_loan_interest_manage_fee']; $rebate_rs = get_rebate_fee($in_user_id, "invest"); $loadinfo['deal']['rebate'] = $rebate_rs['rebate']; $loadinfo['deal']['manage_interest_money_rebate'] = $vv['manage_interest_money_rebate']; $loadinfo['deal']['month_repay_money'] = $vv['month_repay_money']; $loadinfo['deal']['compensate_fee'] = $deal['compensate_fee']; if ($deal['repay_time_type'] == 1) { $loadinfo['deal']['all_manage_money'] = $vv['manage_money']; } else { $loadinfo['deal']['all_manage_money'] = $vv['manage_money'] * $deal['repay_time']; } $loadinfo['deal']['repay_time_type'] = $deal['repay_time_type']; $user_load_rs = inrepay_repay($loadinfo, $has_repay_count); $user_load_data['true_repay_money'] = $user_load_rs['true_repay_money']; $user_load_data['true_self_money'] = $user_load_rs['true_self_money']; $user_load_data['impose_money'] = $user_load_rs['impose_money']; $user_load_data['true_interest_money'] = $user_load_rs['true_repay_money'] - $user_load_rs['true_self_money']; $user_load_data['true_manage_money'] = $user_load_rs['true_manage_money']; $user_load_data['true_manage_interest_money'] = $user_load_rs['true_manage_interest_money']; $user_load_data['true_manage_interest_money_rebate'] = $user_load_rs['true_manage_interest_money_rebate']; $user_load_data['true_repay_manage_money'] = $true_manage_money / count($user_loan_list); $user_load_data['true_reward_money'] = 0; if ((int) $vv['is_winning'] == 1 && (int) $vv['income_type'] == 2 && (double) $vv['income_value'] != 0) { $user_load_data['true_reward_money'] = $user_load_data['true_interest_money'] * (double) $vv['income_value'] * 0.01; } $user_self_money = $user_load_data['true_self_money']; $user_repay_money = $user_load_data['true_repay_money']; $user_impose_money = $user_load_data['impose_money']; $user_manage_money = $user_load_data['true_manage_money']; $user_manage_interest_money = $user_load_data['true_manage_interest_money']; $manage_interest_money_rebate = $user_load_data['true_manage_interest_money_rebate']; $user_reward_money = $user_load_data['true_reward_money']; } $user_load_data['has_repay'] = 1; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_load_repay", $user_load_data, "UPDATE", "id=" . $vv['id']); //普通会员邀请返利 get_referrals($vv['id']); } if ($user_repay_money > 0 || $user_impose_money > 0 || $user_manage_money > 0 || $user_manage_interest_money > 0 || $user_reward_money > 0) { $all_repay_money = number_format($GLOBALS['db']->getOne("SELECT (sum(repay_money)-sum(self_money) + sum(impose_money)) as shouyi FROM " . DB_PREFIX . "deal_load_repay WHERE has_repay = 1 and deal_id=" . $v['deal_id'] . " AND user_id=" . $v['user_id']), 2); $all_impose_money = number_format($GLOBALS['db']->getOne("SELECT sum(impose_money) FROM " . DB_PREFIX . "deal_load_repay WHERE has_repay = 1 and deal_id=" . $v['deal_id'] . " AND user_id=" . $v['user_id']), 2); //$content = "您好,您在".app_conf("SHOP_TITLE")."的投标 “<a href=\"".$deal['url']."\">".$deal['name']."</a>”提前还款,"; //$content .= "本次投标共获得收益:".$all_repay_money."元,其中违约金为:".$all_impose_money."元,本次投标已回款完毕!"; //更新用户账户资金记录 modify_account(array("money" => $user_repay_money), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],回报本息", 5); modify_account(array("money" => $user_impose_money), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],提前回收违约金", 7); if ($user_manage_money > 0) { modify_account(array("money" => -$user_manage_money), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],投标管理费", 20); } if ($user_reward_money > 0) { modify_account(array("money" => -$user_reward_money), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],投标奖励", 28); } modify_account(array("money" => -$user_manage_interest_money), $in_user_id, "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],投标利息管理费", 20); //投资者返佣金 if ($manage_interest_money_rebate) { /*ok*/ $reback_memo = "借款“<a href'" . $deal['url'] . "'>" . $deal["name"] . "</a>”,投资者" . $loan_user_info["user_name"] . ",第" . (intval($k_repay_key) + 1) . "期,提前还款"; reback_rebate_money($in_user_id, $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'] = $vv['month_repay_money'] + $vv['impose_money']; $notice['all_repay_money'] = $all_repay_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; $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['url'] . "\">" . $deal['name'] . "</a>”"; $notices['repay_money'] = $all_repay_money; $notices['impose_money'] = $all_impose_money; $tmpl_contents = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_REPAY_MONEY_TQTB'", false); $GLOBALS['tmpl']->assign("notice", $notices); $content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_contents['content']); if ($msg_conf['sms_bidrepaid'] == 1) { send_user_msg("", $content, 0, $in_user_id, $time, 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'] = $vv['month_repay_money'] + $vv['impose_money']; $notice['all_repay_money'] = $all_repay_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; $msg_data['user_id'] = $in_user_id; $msg_data['is_html'] = $tmpl['is_html']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } } } /* $content = "您好,您在".app_conf("SHOP_TITLE")."的借款 “<a href=\"".$deal['url']."\">".$deal['name']."</a>”成功提前还款".number_format($true_total_repay_money,2)."元,"; $content .= "其中违约金为:".number_format($impose_money,2)."元,本笔借款已还款完毕!"; */ $notices['shop_title'] = app_conf("SHOP_TITLE"); $notices['url'] = "“<a href=\"" . $deal['url'] . "\">" . $deal['name'] . "</a>”"; $notices['repay_money'] = number_format($true_total_repay_money, 2); $notices['impose_money'] = number_format($impose_money, 2); $tmpl_contents = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_REPAY_MONEY_TQJK'", false); $GLOBALS['tmpl']->assign("notice", $notices); $content = $GLOBALS['tmpl']->fetch("str:" . $tmpl_contents['content']); //站内信 send_user_msg("", $content, 0, $GLOBALS['user_info']['id'], $time, 0, true, 8); //短信通知 if (app_conf("SMS_ON") == 1 && app_conf('SMS_SEND_REPAY') == 1) { //$sms_content = "尊敬的".app_conf("SHOP_TITLE")."用户".$GLOBALS['user_info']['user_name'].",您成功提前还款".number_format($true_total_repay_money,2)."元,其中违约金为:".number_format($impose_money,2)."元,感谢您的关注和支持。【".app_conf("SHOP_TITLE")."】"; $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = 'TPL_SMS_REPAY_SUCCESS_MSG'", false); $tmpl_content = $tmpl['content']; $notice['user_name'] = $GLOBALS['user_info']['user_name']; $notice['deal_name'] = $deal['sub_name']; $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['index'] = $has_repay_count + 1; $notice['status'] = "成功提前"; $notice['all_money'] = number_format($true_total_repay_money, 2); $notice['repay_money'] = number_format($true_repay_money, 2); $notice['impose_money'] = number_format($impose_money, 2); $notice['manage_money'] = number_format($true_manage_money, 2); $notice['manage_impose_money'] = 0; $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; $msg_data['user_id'] = $GLOBALS['user_info']['id']; $msg_data['is_html'] = 0; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "generation_repay_submit SET `memo`='因还款失效',`status`=2 WHERE deal_id=" . $deal['id']); //VIP升级 -提前还款 $type = 1; $type_info = 4; $resultdate = syn_user_vip($GLOBALS['user_info']['id'], $type, $type_info); syn_deal_status($id); sys_user_status($GLOBALS['user_info']['id'], false, true); syn_transfer_status(0, $id); $root["status"] = 1; //0:出错;1:正确; $root["show_err"] = "操作成功!"; return $root; }
/** * 满标放款 * $type 0 普通 1代表 第三方 * $is_loan 0 不返款, 1 返款 */ function do_loans($id, $repay_start_time, $type = 0) { $return = array("status" => 0, "info" => ""); if ($id == 0) { $return['info'] = "放款失败,借款不存在"; return $return; } require_once APP_ROOT_PATH . "app/Lib/deal.php"; $deal_info = get_deal($id); if (!$deal_info) { $return['info'] = "放款失败,借款不存在"; return $return; } if (!in_array($deal_info['deal_status'], array(2, 4, 5))) { $return['info'] = "放款失败,借款不是满标状态"; return $return; } if ($type == 0) { $loan_data['repay_start_time'] = $repay_start_time == '' ? 0 : to_timespan(to_date(to_timespan($repay_start_time), "Y-m-d"), "Y-m-d"); } else { $loan_data['repay_start_time'] = $repay_start_time; } if ($loan_data['repay_start_time'] == 0) { $return['info'] = "放款失败,时间没选择"; return $return; } if ($type == 0 && $deal_info['ips_bill_no'] != "") { $return['status'] = 2; $return['info'] = ""; $return['jump'] = APP_ROOT . "/index.php?ctl=collocation&act=Transfer&pTransferType=1&deal_id=" . $id . "&ref_data=" . $loan_data['repay_start_time']; return $return; } if ($loan_data['repay_start_time'] > 0) { $deal_info['next_repay_time'] = $loan_data['next_repay_time'] = next_replay_month($loan_data['repay_start_time']); } $deal_info['deal_status'] = $loan_data['deal_status'] = 4; $deal_info['is_has_loans'] = $loan_data['is_has_loans'] = 1; $loan_data['repay_start_date'] = to_date($loan_data['repay_start_time'], "Y-m-d"); //放款给用户 $GLOBALS['db']->autoExecute(DB_PREFIX . "deal", $loan_data, "UPDATE", "id=" . $id . " AND is_has_loans=0 "); $deal_info['repay_start_time'] = $loan_data['repay_start_time']; if ($GLOBALS['db']->affected_rows() > 0) { format_deal_item($deal_info); require_once APP_ROOT_PATH . "system/libs/user.php"; if ($type == 0) { modify_account(array("money" => $deal_info['borrow_amount']), $deal_info['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],招标成功", 3); //扣除服务费 $services_fee = $deal_info['borrow_amount'] * floatval(trim($deal_info['services_fee'])) / 100; modify_account(array("money" => -$services_fee), $deal_info['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],服务费", 14); } //积分 if ($deal_info['score'] != 0) { modify_account(array("score" => $deal_info['score']), $deal_info['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],招标成功", 3); } $load_list = $GLOBALS['db']->getAll("SELECT id,user_id,`money`,`is_old_loan`,`rebate_money`,`bid_score`,`is_winning`,`income_type`,`income_value` FROM " . DB_PREFIX . "deal_load where deal_id=" . $id . " and is_rebate = 0 "); foreach ($load_list as $lk => $lv) { //扣除冻结资金 if ($type == 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_load SET is_has_loans =1 WHERE id=" . $lv['id'] . " AND is_has_loans = 0 AND user_id=" . $lv['user_id']); if ($GLOBALS['db']->affected_rows()) { if ($lv['is_old_loan'] == 0) { modify_account(array("lock_money" => -$lv['money']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],投标成功", 2); } } } //返利给用户 if (floatval($lv["rebate_money"]) != 0 || intval($lv["bid_score"]) != 0) { $GLOBALS['db']->query("UPDATE " . DB_PREFIX . "deal_load SET is_rebate =1 WHERE id=" . $lv['id'] . " AND is_rebate = 0 AND user_id=" . $lv['user_id']); if ($GLOBALS['db']->affected_rows()) { //返利 if (floatval($lv["rebate_money"]) != 0) { modify_account(array("money" => $lv['rebate_money']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],投资返利", 24); } //积分 if (intval($lv["bid_score"]) != 0) { modify_account(array("score" => $lv['bid_score']), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],投资返积分", 2); } //VIP奖励 if (((int) $lv['income_type'] == 1 || (int) $lv['income_type'] == 2 || (int) $lv['income_type'] == 3 || (int) $lv['income_type'] == 4) && $lv['is_winning'] == 1) { $user_msg_conf = get_user_msg_conf($lv['user_id']); //发放奖励 if ($lv['income_type'] == 1) { //红包记录 增加用户金额与不可提现金额 $red_envelope_date['user_id'] = $lv['user_id']; $red_envelope_date['deal_id'] = $id; $red_envelope_date['load_id'] = $lv['id']; $red_envelope_date['reward_name'] = "投标收益奖励"; $red_envelope_date['gift_type'] = 1; $redmoney = $GLOBALS['db']->getOne("SELECT money FROM " . DB_PREFIX . "vip_red_envelope WHERE id='" . (int) $lv['income_value'] . "'"); $red_envelope_date['gift_value'] = $redmoney; $red_envelope_date['status'] = 1; $red_envelope_date['generation_date'] = to_date(TIME_UTC, "Y-m-d"); $red_envelope_date['release_date'] = to_date(TIME_UTC, "Y-m-d"); $is_send_mail = $user_msg_conf['mail_redenvelope']; $is_send_sms = $user_msg_conf['sms_redenvelope']; $TPL_MAIL_NAME = "TPL_MAIL_RED_ENVELOPE"; $TPL_SMS_NAME = "TPL_SMS_RED_ENVELOPE"; $gift_value = $redmoney; if ($redmoney != 0 && $redmoney != "") { $GLOBALS['db']->autoExecute(DB_PREFIX . "gift_record", $red_envelope_date); //插入 modify_account(array('money' => $redmoney, 'nmc_amount' => $redmoney), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],的投标收益奖励 红包现金", 28); } } elseif ($lv['income_type'] == 2) { //收益率 $rate_date['user_id'] = $lv['user_id']; $rate_date['deal_id'] = $id; $rate_date['load_id'] = $lv['id']; $rate_date['reward_name'] = "投标收益奖励"; $rate_date['gift_type'] = 2; $loadinfo = $GLOBALS['db']->getRow("SELECT * FROM " . DB_PREFIX . "deal_load_repay WHERE load_id='" . $lv['id'] . "'"); $interest_money = $loadinfo['repay_money'] - $loadinfo['self_money']; $gift_value = $interest_money * (double) $lv['income_value'] * 0.01; $rate_date['reward_money'] = $gift_value; $rate_date['gift_value'] = $lv['income_value']; $rate_date['status'] = 1; $rate_date['generation_date'] = to_date(TIME_UTC, "Y-m-d"); $rate_date['release_date'] = to_date(TIME_UTC, "Y-m-d"); $GLOBALS['db']->autoExecute(DB_PREFIX . "gift_record", $rate_date); //插入 } elseif ($lv['income_type'] == 3) { //积分 $score = (int) $lv['income_value']; $score_date['user_id'] = $lv['user_id']; $score_date['deal_id'] = $id; $score_date['load_id'] = $lv['id']; $score_date['reward_name'] = "投标收益奖励"; $score_date['gift_type'] = 3; $score_date['gift_value'] = (int) $lv['income_value']; $score_date['status'] = 1; $score_date['generation_date'] = to_date(TIME_UTC, "Y-m-d"); $score_date['release_date'] = to_date(TIME_UTC, "Y-m-d"); $GLOBALS['db']->autoExecute(DB_PREFIX . "gift_record", $score_date); //插入 $is_send_mail = $user_msg_conf['mail_integral']; $is_send_sms = $user_msg_conf['sms_integral']; $TPL_MAIL_NAME = "TPL_MAIL_INTEGRAL"; $TPL_SMS_NAME = "TPL_SMS_INTEGRAL"; $gift_value = (int) $lv['income_value']; if ($score != 0) { modify_account(array("score" => $score), $lv['user_id'], "[<a href='" . $deal_info['url'] . "' target='_blank'>" . $deal_info['name'] . "</a>],的投标收益奖励 积分", 28); } } elseif ($lv['income_type'] == 4) { //礼品记录 $gift_date['user_id'] = $lv['user_id']; $gift_date['deal_id'] = $id; $gift_date['load_id'] = $lv['id']; $gift_date['reward_name'] = "投标收益奖励"; $gift_date['gift_type'] = 4; $gift_date['gift_value'] = (int) $lv['income_value']; $gift_date['status'] = 1; $gift_date['generation_date'] = to_date(TIME_UTC, "Y-m-d"); $gift_date['release_date'] = to_date(TIME_UTC, "Y-m-d"); $GLOBALS['db']->autoExecute(DB_PREFIX . "gift_record", $gift_date); //插入 $is_send_mail = $user_msg_conf['mail_gift']; $is_send_sms = $user_msg_conf['sms_gift']; $TPL_MAIL_NAME = "TPL_MAIL_GIFT"; $TPL_SMS_NAME = "TPL_SMS_GIFT"; $gift_value = $GLOBALS['db']->getOne("select name from " . DB_PREFIX . "vip_gift where id = " . $gift_date['gift_value']); } $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $lv['user_id']); $deal_name = $GLOBALS['db']->getOne("select name from " . DB_PREFIX . "deal where id = " . $id); //邮件 if ($is_send_mail == 1 && app_conf("MAIL_ON") == 1) { $tmpl = $GLOBALS['db']->getRowCached("select * from " . DB_PREFIX . "msg_template where name = '" . $TPL_MAIL_NAME . "'"); $tmpl_content = $tmpl['content']; $notice['user_name'] = $user_info['user_name']; $notice['deal_name'] = $deal_name; $notice['release_date'] = to_date(TIME_UTC, "Y-m-d"); $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['gift_value'] = $gift_value; $GLOBALS['tmpl']->assign("notice", $notice); $msg = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $user_info['email']; $msg_data['send_type'] = 1; $msg_data['title'] = "投标奖励邮件通知"; $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'] = $user_info['id']; $msg_data['is_html'] = $tmpl['is_html']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } //短信 if ($is_send_sms == 1 && app_conf("SMS_ON") == 1) { $tmpl = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "msg_template where name = '" . $TPL_SMS_NAME . "'"); $tmpl_content = $tmpl['content']; $notice['user_name'] = $user_info['user_name']; $notice['deal_name'] = $deal_name; $notice['release_date'] = to_date(TIME_UTC, "Y-m-d"); $notice['site_name'] = app_conf("SHOP_TITLE"); $notice['gift_value'] = $gift_value; $GLOBALS['tmpl']->assign("notice", $notice); $msg = $GLOBALS['tmpl']->fetch("str:" . $tmpl_content); $msg_data['dest'] = $user_info['mobile']; $msg_data['send_type'] = 0; $msg_data['title'] = "投标奖励短信通知"; $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'] = $user_info['id']; $msg_data['is_html'] = $tmpl['is_html']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_msg_list", $msg_data); //插入 } } } } } //$GLOBALS['db']->autoExecute(DB_PREFIX."deal_load",array("is_has_loans"=>1),"UPDATE","deal_id=".$id); make_repay_plan($deal_info); //发借款成功邮件 send_deal_success_mail_sms($id, $deal_info); //发借款成功站内信 send_deal_success_site_sms($id, $deal_info); $return['status'] = 1; $return['info'] = "放款成功"; return $return; } else { $return['info'] = "放款失败"; return $return; } }
<?php require '../system/common.php'; require '../app/Lib/deal.php'; require '../app/Lib/common.php'; //获取还款中的标 $page = intval($_REQUEST['p']); if ($page == 0) { $page = 1; } $limit = ($page - 1) * app_conf("DEAL_PAGE_SIZE") . "," . app_conf("DEAL_PAGE_SIZE"); $id = intval($_REQUEST['id']); if ($id > 0) { $extW = " id=" . $id; } else { $extW = " deal_status = 4 "; } $result = get_deal_list($limit, 0, $extW); foreach ($result['list'] as $k => $v) { make_repay_plan($v); } $pages_all = ceil($result['count'] / app_conf("DEAL_PAGE_SIZE")); if ($page < $pages_all) { app_redirect("update.php?p=" . ($page + 1)); } else { echo "数据更新完成"; }