public function go_pay() { if (!$GLOBALS['user_info']) { app_redirect(url_wap("user#login")); } $id = intval($_REQUEST['id']); $paypassword = strim($_REQUEST['paypassword']); if ($paypassword == '') { showErr("请输入支付密码", 0); } if (md5($paypassword) != $GLOBALS['user_info']['paypassword']) { showErr("支付密码错误", 0); } $consignee_id = intval($_REQUEST['consignee_id']); $credit = floatval($_REQUEST['credit']); $pay_score = intval($_REQUEST['pay_score']); if ($pay_score > 0) { $score_array = score_to_money($pay_score); $pay_score_money = $score_array['score_money']; $pay_score = $score_array['score']; } else { $pay_score = 0; $pay_score_money = 0; } $is_tg = intval($_REQUEST['is_tg']); if ($is_tg) { if (!$GLOBALS['is_user_tg']) { $jump_url = get_domain() . APP_ROOT . "/wap/index.php?ctl=collocation&act=CreateNewAcct&user_type=0&user_id=" . $GLOBALS['user_info']['id']; //$jump_url = get_domain().url_wap("collocation#CreateNewAcct",array('user_type'=>0,'user_id'=>$GLOBALS['user_info']['id'])); showErr("您未绑定第三方接口无法支付,点击确定后跳转到绑定页面", 0, $jump_url); } } $memo = strim($_REQUEST['memo']); $payment_id = intval($_REQUEST['payment']); $deal_item = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal_item where id = " . $id); if (!$deal_item) { app_redirect(url_wap("index")); } elseif ($deal_item['support_count'] >= $deal_item['limit_user'] && $deal_item['limit_user'] != 0) { app_redirect(url_wap("deal#show", array("id" => $deal_item['deal_id']))); } $deal_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where is_delete = 0 and is_effect = 1 and id = " . $deal_item['deal_id']); if (!$deal_info) { app_redirect(url_wap("index")); } elseif ($deal_info['begin_time'] > NOW_TIME || $deal_info['end_time'] < NOW_TIME && $deal_info['end_time'] != 0) { app_redirect(url_wap("deal#show", array("id" => $deal_item['deal_id']))); } if (intval($consignee_id) == 0 && $deal_item['is_delivery'] == 1) { showErr("请选择配送方式", 0, get_gopreview_wap()); } //无私奉献 if ($deal_item['type'] == 1) { $pay_money = floatval($_REQUEST['pay_money']); if ($pay_money <= 0) { showErr("您输入的金额错误", 0, url_wap("deal#show", array("id" => $deal_item['deal_id']))); } $deal_item['price'] = $pay_money; $order_info['type'] = 2; } else { $order_info['type'] = $deal_info['type']; } $order_info['deal_id'] = $deal_info['id']; $order_info['deal_item_id'] = $deal_item['id']; $order_info['user_id'] = intval($GLOBALS['user_info']['id']); $order_info['user_name'] = $GLOBALS['user_info']['user_name']; $order_info['total_price'] = $deal_item['price'] + $deal_item['delivery_fee']; $order_info['delivery_fee'] = $deal_item['delivery_fee']; $order_info['deal_price'] = $deal_item['price']; $order_info['support_memo'] = $memo; $order_info['payment_id'] = $payment_id; $order_info['bank_id'] = strim($_REQUEST['bank_id']); if ($deal_item['is_share'] == 1) { $order_info['share_fee'] = $deal_item['share_fee']; $order_info['share_status'] = 0; } else { $order_info['share_fee'] = 0; } /* $max_credit= $order_info['total_price']<$GLOBALS['user_info']['money']?$order_info['total_price']:$GLOBALS['user_info']['money']; $credit = $credit>$max_credit?$max_credit:$credit; */ if (!$is_tg) { $credit_score_money = $pay_score_money + $credit; if ($credit > $GLOBALS['user_info']['money']) { showErr("余额最多只能用" . format_price($GLOBALS['user_info']['money']), 0); } if ($pay_score > $GLOBALS['user_info']['score']) { showErr("积分最多只能用" . $GLOBALS['user_info']['score']); } if ($credit_score_money > $order_info['total_price']) { showErr("支付超出"); } if (intval(($order_info['total_price'] - $credit_score_money) * 100) > 0 && $payment_id == 0) { showErr("请选择支付方式"); } } if ($credit > 0 && $GLOBALS['user_info']['money'] >= $credit) { $order_info['credit_pay'] = $credit; } if ($pay_score > 0 && $GLOBALS['user_info']['score'] >= $pay_score) { $order_info['score'] = $pay_score; $order_info['score_money'] = $pay_score_money; } // $order_info['credit_pay'] = $credit; $order_info['online_pay'] = 0; $order_info['deal_name'] = $deal_info['name']; $order_info['order_status'] = 0; $order_info['create_time'] = NOW_TIME; if ($consignee_id > 0) { $consignee_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_consignee where id = " . $consignee_id . " and user_id = " . intval($GLOBALS['user_info']['id'])); if (!$consignee_info && $deal_item['is_delivery'] == 1) { showErr("请选择配送方式", 0, get_gopreview_wap()); } $order_info['consignee'] = $consignee_info['consignee']; $order_info['zip'] = $consignee_info['zip']; $order_info['address'] = $consignee_info['address']; $order_info['province'] = $consignee_info['province']; $order_info['city'] = $consignee_info['city']; $order_info['mobile'] = $consignee_info['mobile']; } $order_info['is_success'] = $deal_info['is_success']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_order", $order_info); $order_id = $GLOBALS['db']->insert_id(); if ($order_id > 0) { // if($order_info['credit_pay']>0) // { // require_once APP_ROOT_PATH."system/libs/user.php"; // modify_account(array("money"=>"-".$order_info['credit_pay']),intval($GLOBALS['user_info']['id']),"支持".$order_info['deal_name']."项目支付"); // } $result = pay_order($order_id); if ($result['status'] == 0) { if ($is_tg) { $sign = md5(md5($paypassword) . $order_id); $url = get_domain() . APP_ROOT . "/wap/index.php?ctl=collocation&act=RegisterCreditor&order_id=" . $order_id . "&sign=" . $sign; //showSuccess("",0,$url); app_redirect($url); } else { $money = $result['money']; $payment_notice['create_time'] = NOW_TIME; $payment_notice['user_id'] = intval($GLOBALS['user_info']['id']); $payment_notice['payment_id'] = $order_info['payment_id']; $payment_notice['money'] = $money; $payment_notice['order_id'] = $order_id; $payment_notice['memo'] = $order_info['memo']; $payment_notice['deal_id'] = $order_info['deal_id']; $payment_notice['deal_item_id'] = $order_info['deal_item_id']; $payment_notice['deal_name'] = $order_info['deal_name']; do { $payment_notice['notice_sn'] = to_date(NOW_TIME, "Ymdhi") . rand(10000, 99999); $GLOBALS['db']->autoExecute(DB_PREFIX . "payment_notice", $payment_notice, "INSERT", "", "SILENT"); $notice_id = $GLOBALS['db']->insert_id(); } while ($notice_id == 0); app_redirect(url_wap("cart#jump", array("id" => $notice_id))); } } elseif ($result['status'] == 1) { $data['pay_status'] = 0; $data['pay_info'] = '订单过期.'; $data['show_pay_btn'] = 0; $GLOBALS['tmpl']->assign('data', $data); $GLOBALS['tmpl']->display('pay_order_index.html'); } elseif ($result['status'] == 2) { $data['pay_status'] = 0; $data['pay_info'] = '订单无库存.'; $data['show_pay_btn'] = 0; $GLOBALS['tmpl']->assign('data', $data); $GLOBALS['tmpl']->display('pay_order_index.html'); } else { $data['pay_status'] = 1; $data['pay_info'] = '订单支付成功.'; $data['show_pay_btn'] = 0; $GLOBALS['tmpl']->assign('data', $data); $GLOBALS['tmpl']->display('pay_order_index.html'); } //app_redirect(url_wap("cart#pay_order",array("order_id"=>$order_id))); } else { showErr("下单失败", 0, get_gopreview_wap()); } }
public function go_pay_() { if (!$GLOBALS['user_info']) { app_redirect(url("user#login")); } $id = intval($_REQUEST['id']); $pay_money = floatval($_REQUEST['pay_money']); $paypassword = strim($_REQUEST['paypassword']); if ($paypassword == '') { showErr("请输入支付密码", 0); } if (md5($paypassword) != $GLOBALS['user_info']['paypassword']) { showErr("支付密码错误", 0); } $credit = floatval($_REQUEST['credit']); $pay_score = intval($_REQUEST['pay_score']); if ($pay_score > 0) { $score_array = score_to_money($pay_score); $pay_score_money = $score_array['score_money']; $pay_score = $score_array['score']; } else { $pay_score_money = 0; } $is_tg = intval($_REQUEST['is_tg']); if ($is_tg) { if (!$GLOBALS['is_user_tg']) { $jump_url = APP_ROOT . "/index.php?ctl=collocation&act=CreateNewAcct&user_type=0&user_id=" . $GLOBALS['user_info']['id']; showErr("您未绑定第三方接口无法支付,点击确定后跳转到绑定页面", 0, $jump_url); } } $payment_id = intval($_REQUEST['payment']); $deal_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where is_delete = 0 and is_effect = 1 and id = " . $id); if (!$deal_info) { app_redirect(url("index")); } elseif ($deal_info['begin_time'] > NOW_TIME || $deal_info['end_time'] < NOW_TIME && $deal_info['end_time'] != 0) { app_redirect(url("deal#show", array("id" => $deal_item['deal_id']))); } /*$buy_right_number = 0; if($deal_info['type']==3||$deal_info['type']==4){//企业众筹和币创投 $rights = $GLOBALS['db']->getAll("select * from ".DB_PREFIX."user_right where deal_id = ".$deal_info["id"]." and user_id = ".intval($GLOBALS['user_info']['id']).""); if(count($rights)>0){ foreach ($rights as $k=>$v){ $buy_right_number += $v["right_amount"] + $v["frozen_right_amount"]; } } }*/ $buy_right_number = get_zc_right_number($deal_info["id"], intval($GLOBALS['user_info']['id'])); $zc_amount = $pay_money / $deal_info["price_per_right"]; if ($deal_info["zc_amount_limit"] > 0 && $zc_amount + $buy_right_number > $deal_info["zc_amount_limit"]) { showErr("对不起,您众筹数字权益份额已经超过上限!", 0, url("deal#show", array("id" => $deal_info["id"]))); } $zc_count = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "deal_order where deal_id = " . $deal_info["id"] . " and user_id = " . $GLOBALS['user_info']['id']); if ($deal_info["zc_count_limit"] != 0 and $zc_count >= $deal_info["zc_count_limit"]) { showErr("对不起,您参与次数超过上限,已经无法继续参与本项目!", 0, url("deal#show", array("id" => $deal_info["id"]))); } $order_info['type'] = 0; //普通众筹 $order_info['is_tg'] = $is_tg; $order_info['deal_id'] = $deal_info['id']; $order_info['deal_item_id'] = 0; $order_info['user_id'] = intval($GLOBALS['user_info']['id']); $order_info['user_name'] = $GLOBALS['user_info']['user_name']; $order_info['total_price'] = floatval($_REQUEST['pay_money']); $order_info['delivery_fee'] = 0; $order_info['deal_price'] = floatval($_REQUEST['pay_money']); //$order_info['support_memo'] = $memo; $order_info['payment_id'] = $payment_id; $order_info['bank_id'] = strim($_REQUEST['bank_id']); $order_info['share_fee'] = 0; if (!$is_tg) { $credit_score_money = $pay_score_money + $credit; if ($credit > $GLOBALS['user_info']['money']) { showErr("余额最多只能用" . format_price($GLOBALS['user_info']['money']), 0); } if ($pay_score > $GLOBALS['user_info']['score']) { showErr("积分最多只能用" . $GLOBALS['user_info']['score']); } if ($credit_score_money > $order_info['total_price']) { showErr("支付超出"); } if (intval(($order_info['total_price'] - $credit_score_money) * 100) > 0 && $payment_id == 0) { showErr("请选择支付方式"); } } if ($credit > 0) { $order_info['credit_pay'] = $credit; } if ($pay_score > 0) { $order_info['score'] = $pay_score; $order_info['score_money'] = $pay_score_money; } $order_info['online_pay'] = 0; $order_info['deal_name'] = $deal_info['name']; $order_info['order_status'] = 0; $order_info['create_time'] = NOW_TIME; $order_info['is_success'] = $deal_info['is_success']; $GLOBALS['db']->autoExecute(DB_PREFIX . "deal_order", $order_info); $order_id = $GLOBALS['db']->insert_id(); if ($order_id > 0) { if ($is_tg) { $sign = md5(md5($paypassword) . $order_id); $url = APP_ROOT . "/index.php?ctl=collocation&act=RegisterCreditor&order_id=" . $order_id . "&sign=" . $sign; //showSuccess("",0,$url); app_redirect($url); } $result = pay_order($order_id); if ($result['status'] == 0) { $money = $result['money']; $payment_notice['create_time'] = NOW_TIME; $payment_notice['user_id'] = intval($GLOBALS['user_info']['id']); $payment_notice['payment_id'] = $payment_id; $payment_notice['money'] = $money; $payment_notice['bank_id'] = strim($_REQUEST['bank_id']); $payment_notice['order_id'] = $order_id; $payment_notice['memo'] = $memo; $payment_notice['deal_id'] = $deal_info['id']; $payment_notice['deal_item_id'] = 0; $payment_notice['deal_name'] = $deal_info['name']; do { $payment_notice['notice_sn'] = to_date(NOW_TIME, "Ymdhi") . rand(10000, 99999); $GLOBALS['db']->autoExecute(DB_PREFIX . "payment_notice", $payment_notice, "INSERT", "", "SILENT"); $notice_id = $GLOBALS['db']->insert_id(); } while ($notice_id == 0); app_redirect(url("cart#jump", array("id" => $notice_id))); } elseif ($result['status'] == 1 || $result['status'] == 2) { app_redirect(url("account#credit")); } elseif ($result['status'] == 5) { showErr("很遗憾,订单支付失败"); } else { app_redirect(url("account")); } } else { showErr("下单失败", 0, get_gopreview()); } }
public function view_order() { if (!$GLOBALS['user_info']) { app_redirect(url("user#login")); } $GLOBALS['tmpl']->assign("page_title", "支持的项目详情"); $id = intval($_REQUEST['id']); $order_info = $GLOBALS['db']->getRow("select deo.*,d.transfer_share as transfer_share,d.limit_price as limit_price from " . DB_PREFIX . "deal_order as deo LEFT JOIN " . DB_PREFIX . "deal as d on deo.deal_id = d.id where deo.id = " . $id . " and deo.user_id = " . intval($GLOBALS['user_info']['id'])); if (!$order_info) { showErr("无效的项目支持", 0, get_gopreview()); } //========如果超过系统设置的时间,则自动设置收到回报 start if ($order_info['repay_make_time'] == 0) { $item = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal_item where id=" . $order_info['deal_item_id']); $item_day = intval($item['repaid_day']); if ($item_day > 0) { $left_date = $item_day; } else { $left_date = intval(app_conf("REPAY_MAKE")); } $repay_make_date = $order_info['repay_time'] + $left_date * 24 * 3600; $order_info['repay_left_time'] = $repay_make_date - $order_info['repay_time']; if ($repay_make_date > get_gmtime() && $order_info['repay_time'] > 0) { $order_info['repay_make_date'] = date('Y-m-d H:i:s', $repay_make_date); } else { $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set repay_make_time = " . get_gmtime() . " where id = " . $id); $order_info['repay_make_time'] = get_gmtime(); } } if ($order_info['type'] == 1) { //用户所占股份 $order_info['user_stock'] = number_format($order_info['total_price'] / $order_info['limit_price'] * $order_info['transfer_share'], 2); //项目金额 $order_info['stock_value'] = number_format($order_info['limit_price'], 2); //应付金额 //$order_info['total_price'] =number_format($order_info['total_price'],2); } //=============如果超过系统设置的时间,则自动设置收到回报 end $GLOBALS['tmpl']->assign("order_info", $order_info); //print_r($order_info);exit; $deal_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id = " . $order_info['deal_id'] . " and is_delete = 0 and is_effect = 1"); $GLOBALS['tmpl']->assign("deal_info", $deal_info); if ($order_info['order_status'] == 0) { $payment_list = $GLOBALS['db']->getAll("select * from " . DB_PREFIX . "payment where is_effect = 1 and online_pay=1 order by sort asc "); $payment_html = ""; foreach ($payment_list as $k => $v) { $class_name = $v['class_name'] . "_payment"; require_once APP_ROOT_PATH . "system/payment/" . $class_name . ".php"; $o = new $class_name(); $payment_html .= "<div>" . $o->get_display_code() . "<div class='blank'></div></div>"; } $GLOBALS['tmpl']->assign("payment_html", $payment_html); $max_pay = $order_info['total_price']; $GLOBALS['tmpl']->assign("max_pay", $max_pay); $order_sm = array('credit_pay' => 0, 'score' => 0, 'score_money' => 0); if ($order_info['credit_pay'] > 0) { $order_sm['credit_pay'] = $order_info['credit_pay'] <= $GLOBALS['user_info']['money'] ? $order_info['credit_pay'] : $GLOBALS['user_info']['money']; } if ($order_info['score'] > 0) { if ($order_info['score'] <= $GLOBALS['user_info']['score']) { $order_sm['score'] = $order_info['score']; $order_sm['score_money'] = $order_info['score_money']; } else { $order_sm['score'] = $GLOBALS['user_info']['score']; $score_array = score_to_money($GLOBALS['user_info']['score']); $order_sm['score_money'] = $score_array['score_money']; $order_sm['score'] = $score_array['score']; } } $GLOBALS['tmpl']->assign("order_sm", json_encode($order_sm)); } $GLOBALS['tmpl']->assign("coll", is_tg(true)); $GLOBALS['tmpl']->display("account_view_order.html"); }
public function view_order() { $id = intval($_REQUEST['id']); $order_info = $GLOBALS['db']->getRow("select deo.*,d.transfer_share as transfer_share,d.limit_price as limit_price from " . DB_PREFIX . "deal_order as deo LEFT JOIN " . DB_PREFIX . "deal as d on deo.deal_id = d.id where deo.id = " . $id . " and deo.user_id = " . intval($GLOBALS['user_info']['id'])); if (!$order_info) { showErr("无效的项目支持", 0, get_gopreview_wap()); } //========如果超过系统设置的时间,则自动设置收到回报 start if ($order_info['repay_make_time'] == 0) { $item = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal_item where id=" . $order_info['deal_item_id']); $item_day = intval($item['repaid_day']); if ($item_day > 0) { $left_date = $item_day; } else { $left_date = intval(app_conf("REPAY_MAKE")); } $repay_make_date = $order_info['repay_time'] + $left_date * 24 * 3600; if ($repay_make_date > get_gmtime() && $order_info['repay_time'] > 0) { $order_info['repay_make_date'] = date('Y-m-d H:i:s', $repay_make_date); } else { $GLOBALS['db']->query("update " . DB_PREFIX . "deal_order set repay_make_time = " . get_gmtime() . " where id = " . $id); $order_info['repay_make_time'] = get_gmtime(); } } if ($order_info['type'] == 1) { //用户所占股份 $order_info['user_stock'] = number_format($order_info['total_price'] / $order_info['limit_price'] * $order_info['transfer_share'], 2); //项目金额 $order_info['stock_value'] = number_format($order_info['limit_price'], 2); //应付金额 //$order_info['total_price'] =number_format($order_info['total_price'],2); } //=============如果超过系统设置的时间,则自动设置收到回报 end $GLOBALS['tmpl']->assign("order_info", $order_info); $deal_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "deal where id = " . $order_info['deal_id'] . " and is_delete = 0 and is_effect = 1"); $GLOBALS['tmpl']->assign("deal_info", $deal_info); if ($order_info['order_status'] == 0) { $payment_list = get_payment_list("wap"); $GLOBALS['tmpl']->assign("payment_list", $payment_list); $max_pay = $order_info['total_price']; $GLOBALS['tmpl']->assign("max_pay", $max_pay); $order_sm = array('credit_pay' => 0, 'score' => 0, 'score_money' => 0); if ($order_info['credit_pay'] > 0) { $order_sm['credit_pay'] = $order_info['credit_pay'] <= $GLOBALS['user_info']['money'] ? $order_info['credit_pay'] : $GLOBALS['user_info']['money']; } if ($order_info['score'] > 0) { if ($order_info['score'] <= $GLOBALS['user_info']['score']) { $order_sm['score'] = $order_info['score']; $order_sm['score_money'] = $order_info['score_money']; } else { $order_sm['score'] = $GLOBALS['user_info']['score']; $score_array = score_to_money($GLOBALS['user_info']['score']); $order_sm['score_money'] = $score_array['score_money']; $order_sm['score'] = $score_array['score']; } } $GLOBALS['tmpl']->assign("order_sm", json_encode($order_sm)); $GLOBALS['tmpl']->assign("page_title", "订单支付"); } else { $GLOBALS['tmpl']->assign("page_title", "订单详情"); } $GLOBALS['tmpl']->assign("coll", is_tg(true)); $GLOBALS['tmpl']->display("account_view_order.html"); }