コード例 #1
0
ファイル: DealAction.class.php プロジェクト: eliu03/fanweP2P
 /**
  * 放款
  */
 function do_loans()
 {
     $id = intval($_REQUEST['id']);
     $repay_start_time = strim($_REQUEST['repay_start_time']);
     require_once APP_ROOT_PATH . 'system/libs/user.php';
     require_once APP_ROOT_PATH . 'system/common.php';
     require_once APP_ROOT_PATH . "app/Lib/common.php";
     $result = do_loans($id, $repay_start_time);
     //更新凭证
     $loan_data = array();
     $loan_data['loans_pic'] = strim($_REQUEST["loans_pic"]);
     $GLOBALS['db']->autoExecute(DB_PREFIX . "deal", $loan_data, "UPDATE", "id=" . $id);
     //投标 收益奖励
     $list = array();
     if ($result['status'] == 2) {
         ajax_return($result);
     } elseif ($result['status'] == 1) {
         $sql_list = "select * from " . DB_PREFIX . "deal_load where deal_id='{$id}' ";
         $list = $GLOBALS['db']->getAll($sql_list);
         foreach ($list as $k => $v) {
             //投标人 VIP升级
             $tuser_id = $v['user_id'];
             $ttype = 1;
             $ttype_info = 2;
             $tresultdate = syn_user_vip($tuser_id, $ttype, $ttype_info);
         }
         $this->get_manage($id);
         //VIP升级 -借款
         $user_id = M("Deal")->where("id='{$id}'")->getField("user_id");
         $type = 1;
         $type_info = 1;
         $resultdate = syn_user_vip($user_id, $type, $type_info);
         $this->success($result['info']);
     } else {
         $this->error($result['info']);
     }
 }
コード例 #2
0
ファイル: deal_func.php プロジェクト: eliu03/fanweP2P
/**
 * 更新 用户回款 计划数据
 * @param unknown_type $deal_id
 * @param unknown_type $deal_repay_id
 */
function syn_deal_repay_status($deal_id, $deal_repay_id)
{
    //has_repay 0未收到还款,1已收到还款
    $deal_id = intval($deal_id);
    $deal_repay_id = intval($deal_repay_id);
    $deal = $GLOBALS['db']->getRow("SELECT * FROM " . DB_PREFIX . "deal WHERE id=" . $deal_id);
    $deal['url'] = url("index", "deal", array("id" => $deal['id']));
    $deal["user"] = $GLOBALS['db']->getRow("SELECT * FROM " . DB_PREFIX . "user WHERE id=" . $deal['user_id']);
    //未还款记录数
    $sql = "select count(*) from " . DB_PREFIX . "deal_load_repay where has_repay = 0 and deal_id = " . $deal_id . " and repay_id = " . $deal_repay_id;
    $has_repay_0 = $GLOBALS['db']->getOne($sql);
    //已经还款记录数
    $sql = "select count(*) from " . DB_PREFIX . "deal_load_repay where has_repay = 1 and deal_id = " . $deal_id . " and repay_id = " . $deal_repay_id;
    $has_repay_1 = $GLOBALS['db']->getOne($sql);
    //第几期
    $kk = $GLOBALS['db']->getOne("select l_key from " . DB_PREFIX . "deal_load_repay where deal_id = " . $deal_id . " and repay_id = " . $deal_repay_id);
    //has_repay 0未还,1已还 2部分还款
    if ($has_repay_0 == 0 && $has_repay_1 == 0 || $has_repay_0 == 0 && $has_repay_1 > 0) {
        $deal_rs_sql = "select sum(true_interest_money) as total_true_interest_money," . "sum(true_self_money) as total_true_self_money," . "sum(true_repay_money) as total_true_repay_money," . "sum(true_repay_manage_money) as total_true_repay_manage_money," . "sum(repay_manage_impose_money) as total_repay_manage_impose_money, " . "sum(impose_money) as total_impose_money " . "from " . DB_PREFIX . "deal_load_repay where deal_id = " . $deal_id . " and repay_id = " . $deal_repay_id;
        $deal_rs = $GLOBALS['db']->getRow($deal_rs_sql);
        $last_Rs = $GLOBALS['db']->getRow("SELECT `status`,`true_repay_time`,`repay_time` from " . DB_PREFIX . "deal_load_repay where deal_id = " . $deal_id . " and repay_id = " . $deal_repay_id . " ORDER BY `true_repay_time` DESC");
        $deal_repay_data['true_repay_money'] = $deal_rs['total_true_repay_money'];
        $deal_repay_data['true_manage_money'] = $deal_rs['total_true_repay_manage_money'];
        $deal_repay_data['manage_impose_money'] = $deal_rs['total_repay_manage_impose_money'];
        $deal_repay_data['true_self_repay'] = $deal_rs['total_true_self_money'];
        $deal_repay_data['impose_money'] = $deal_rs['total_impose_money'];
        $deal_repay_data['true_interest_money'] = $deal_rs['total_true_interest_money'];
        $deal_repay_data['true_repay_time'] = $last_Rs['true_repay_time'];
        $deal_repay_data['true_repay_date'] = to_date($last_Rs['true_repay_time']);
        $deal_repay_data['status'] = $last_Rs['status'];
        $deal_repay_data['has_repay'] = 1;
        //返佣金额
        $rebate_rs = get_rebate_fee($deal['user_id'], "borrow");
        $deal_repay_data['true_manage_money_rebate'] = floatval($deal_repay_data['true_manage_money']) * floatval($rebate_rs['rebate']) / 100;
        $true_manage_money_rebate = $deal_repay_data['true_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($deal['user_id'], $true_manage_money_rebate, "borrow", $reback_memo);
        }
        require_once APP_ROOT_PATH . "system/libs/user.php";
        if ($last_Rs['status'] > 1) {
            $impose_day = ceil(($last_Rs['true_repay_time'] - $last_Rs['repay_time'] + 24 * 3600 - 1) / 24 / 3600);
            //VIP降级-逾期还款
            $type = 2;
            $type_info = 5;
            $resultdate = syn_user_vip($deal['user_id'], $type, $type_info);
            if ($impose_day < app_conf('YZ_IMPSE_DAY')) {
                modify_account(array("point" => trim(app_conf('IMPOSE_POINT'))), $deal['user_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'))), $deal['user_id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],第" . ($kk + 1) . "期,严重逾期", 11);
                $repay_update_data['status'] = 3;
            }
        } elseif ($last_Rs['status'] == 1) {
            //VIP升级 -正常还款
            $type = 1;
            $type_info = 3;
            $resultdate = syn_user_vip($deal['user_id'], $type, $type_info);
        } elseif ($last_Rs['status'] == 0) {
            //VIP升级 -提前还款
            $type = 1;
            $type_info = 4;
            $resultdate = syn_user_vip($deal['user_id'], $type, $type_info);
        }
        $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_repay", $deal_repay_data, "UPDATE", "id = " . $deal_repay_id);
        $last_repay_key = $kk;
        //判断本借款是否还款完毕
        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=" . $deal['user_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=" . $deal['user_id']);
                    $day = ceil(($last_Rs['true_repay_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'))), $deal['user_id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],还清借款", 4);
                    }
                }
                //用户获得额度
                modify_account(array("quota" => trim(app_conf('USER_REPAY_QUOTA'))), $deal['user_id'], "[<a href='" . $deal['url'] . "' target='_blank'>" . $deal['name'] . "</a>],还清借款获得额度", 4);
            }
        }
        sys_user_status(intval($GLOBALS['user_info']['id']), false, true);
        syn_deal_status($deal_id);
        syn_transfer_status(0, $deal_id);
    } else {
        if ($has_repay_0 > 0 && $has_repay_1 == 0) {
            $sql = "update " . DB_PREFIX . "deal_repay set has_repay = 0 where id = " . $deal_repay_id;
        } else {
            $sql = "update " . DB_PREFIX . "deal_repay set has_repay = 2 where id = " . $deal_repay_id;
        }
    }
    $GLOBALS['db']->query($sql);
}