/** * 新增充值记录 */ function add_recharge($account, $amount, $type = 0, $bank = '', $card_num = '', $remark = '') { global $db; $recharge_data = array('account' => $account, 'amount' => $amount, 'status' => 0, 'add_time' => time(), 'type' => $type, 'bank' => $bank, 'card_num' => $card_num); $recharge_sn = ''; do { $recharge_sn = 'R' . time() . rand(100, 999); $check_recharge_sn = 'select `recharge_sn` from ' . $db->table('recharge') . ' where `recharge_sn`=\'' . $recharge_sn . '\''; } while ($db->fetchOne($check_recharge_sn)); $recharge_data['recharge_sn'] = $recharge_sn; if ($db->autoInsert('recharge', array($recharge_data))) { add_recharge_log($recharge_sn, $account, $_SESSION['account'], $type, 0, $remark); return $recharge_sn; } else { return false; } }
private function _recharge($sn, $data) { global $db, $log; //充值订单 $get_recharge_info = 'select `account`,`amount` from ' . $db->table('recharge') . ' where `recharge_sn`=\'' . $sn . '\''; $recharge = $db->fetchRow($get_recharge_info); if ($recharge && $recharge['amount'] * 100 == $data->total_fee && $data->sign == tenpay_sign($data, $this->mch_key)) { $log->record($sn . '支付成功'); //验证充值金额正确 $recharge_data = array('status' => 1); $flag = $db->autoUpdate('recharge', $recharge_data, '`recharge_sn`=\'' . $sn . '\''); if ($flag && $db->get_affect_rows()) { add_memeber_exchange_log($recharge['account'], $recharge['amount'], 0, 0, 0, 0, $recharge['account'], $recharge['account'] . '在线充值'); add_recharge_log($sn, $recharge['account'], $recharge['account'], 0, 1, '在线充值'); $log->record('充值成功,成功更新充值记录'); } } else { //充值金额不正确或返回不正确 } }
$sn = $db->escape($sn); $pattern = '/R.*/'; $copartner_pattern = '/SJ.*/'; // $data->sign = strtolower($data->sign); if (preg_match($pattern, $sn)) { //充值订单 $get_recharge_info = 'select `account`,`amount` from ' . $db->table('recharge') . ' where `recharge_sn`=\'' . $sn . '\''; $recharge = $db->fetchRow($get_recharge_info); if ($recharge && $recharge['amount'] == $total_fee) { $log->record($sn . '支付成功'); //验证充值金额正确 $recharge_data = array('status' => 1); $flag = $db->autoUpdate('recharge', $recharge_data, '`recharge_sn`=\'' . $sn . '\''); if ($flag && $db->get_affect_rows()) { add_memeber_exchange_log($recharge['account'], $recharge['amount'], 0, 0, 0, 0, $recharge['account'], $recharge['account'] . '在线充值'); add_recharge_log($sn, $recharge['account'], $recharge['account'], 0, 1, '在线充值'); $log->record('充值成功,成功更新充值记录'); } } else { //充值金额不正确或返回不正确 } } elseif (preg_match($copartner_pattern, $sn)) { $account = explode('-', $sn); $account = $account[0]; $account = $db->escape($account); //支付成功 if ($config['partner_fee'] == $total_fee) { //是否已是合伙人 $get_level_id = 'select `level_id` from ' . $db->table('member') . ' where account = \'' . $account . '\' limit 1'; $level_id = $db->fetchOne($get_level_id); if ($level_id == 0) {
/** * 新增充值申请 * @param $account * @param $amount * @param $payment_id * @param $payment_name * @param $payment_code * @param string $remark * @return bool|string */ function add_recharge($account, $amount, $payment_id, $payment_name, $payment_code, $remark = '') { global $db; global $config; $recharge_sn = ''; $recharge_data = array('account' => $account, 'amount' => $amount, 'real_amount' => $amount, 'status' => 1, 'remark' => $remark, 'add_time' => time(), 'payment_id' => $payment_id, 'payment_name' => $payment_name, 'payment_code' => $payment_code); do { $recharge_sn = 'R' . time() . rand(100, 999); $check_recharge = 'select `recharge_sn` from ' . $db->table('withdraw') . ' where `recharge_sn`=\'' . $recharge_sn . '\''; } while ($db->fetchOne($check_recharge)); $recharge_data['recharge_sn'] = $recharge_sn; if ($db->autoInsert('recharge', array($recharge_data))) { add_recharge_log($recharge_sn, $account, 0, 1, '会员申请充值'); return $recharge_sn; } else { return false; } }