if ($action == 'setting') { include_once ROOT_PATH . 'includes/lib_clips.php'; $smarty->assign('info', get_user_default($user_id)); $smarty->display('user_transaction.dwt'); } if ($action == 'clear_cache') { clear_all_files(); show_message("清除成功", "返回用户中心", "user.php"); } if ($action == 'refund') { $rec_id = $_REQUEST['rec_id']; $goods = get_order_goods_info($rec_id); if ($goods['refund_status'] > 0) { die("invalid"); } if (!can_refund($goods['order_id'])) { die("invalid"); } $refund_reason_arr = array("无理由退货", "质量问题", "与描述不符"); $options = array(); foreach ($refund_reason_arr as $k => $v) { $options[$v] = $v; } $smarty->assign('refund_reason_options', $options); $smarty->assign('refund_goods', $goods); $smarty->display("user_transaction.dwt"); } if ('act_refund' == $action) { $rec_id = $_POST['rec_id']; $refund = $_POST; unset($refund['rec_id']);
function get_user_team_orders($user_id, $num = 10, $start = 0, $ext = null) { global $_CFG; /*判断组团的状态*/ $sql = "select * from " . $GLOBALS['hhs']->table('order_info') . " where user_id='{$user_id}' limit " . $start . "," . $num; $orders = $GLOBALS['db']->getAll($sql); if (!empty($orders)) { foreach ($orders as $v) { if ($v['extension_code'] == 'team_goods' && $v['team_status'] == 1) { $sql = "select pay_time from " . $GLOBALS['hhs']->table('order_info') . " where order_id=" . $v['team_sign']; $pay_time = $GLOBALS['db']->getOne($sql); if ($pay_time + $_CFG['team_suc_time'] * 24 * 3600 < gmtime()) { //取消订单 $sql = "update " . $GLOBALS['hhs']->table('order_info') . " set team_status=3,order_status=2 where team_status=1 and team_sign=" . $v['team_sign']; $GLOBALS['db']->query($sql); $sql = "UPDATE " . $GLOBALS['hhs']->table('order_info') . " SET order_status=2 WHERE team_status=0 and team_sign=" . $v['team_sign']; $GLOBALS['db']->query($sql); } } } } /* 取得订单列表 */ $arr = array(); $sql = "SELECT extension_id,team_sign,team_first,team_status,order_id, order_sn, order_status, shipping_status, pay_status, add_time, " . "(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee " . " FROM " . $GLOBALS['hhs']->table('order_info') . " WHERE user_id = '{$user_id}' and extension_code='team_goods' and team_status>0 " . $ext . " ORDER BY add_time DESC"; $res = $GLOBALS['db']->SelectLimit($sql, $num, $start); while ($row = $GLOBALS['db']->fetchRow($res)) { if ($row['order_status'] == OS_UNCONFIRMED) { $row['handler'] = "<a href=\"user.php?act=cancel_order&order_id=" . $row['order_id'] . "\" onclick=\"if (!confirm('" . $GLOBALS['_LANG']['confirm_cancel'] . "')) return false;\">" . $GLOBALS['_LANG']['cancel'] . "</a>"; } else { if ($row['order_status'] == OS_SPLITED) { /* 对配送状态的处理 */ if ($row['shipping_status'] == SS_SHIPPED) { @($row['handler'] = "<a href=\"user.php?act=affirm_received&order_id=" . $row['order_id'] . "\" onclick=\"if (!confirm('" . $GLOBALS['_LANG']['confirm_received'] . "')) return false;\">" . $GLOBALS['_LANG']['received'] . "</a>"); } elseif ($row['shipping_status'] == SS_RECEIVED) { @($row['handler'] = '<span style="color:red">' . $GLOBALS['_LANG']['ss_received'] . '</span>'); } else { if ($row['pay_status'] == PS_UNPAYED) { @($row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" . $row['order_id'] . '">' . $GLOBALS['_LANG']['pay_money'] . '</a>'); } else { @($row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" . $row['order_id'] . '">' . $GLOBALS['_LANG']['view_order'] . '</a>'); } } } else { $row['handler'] = '<span style="color:red">' . $GLOBALS['_LANG']['os'][$row['order_status']] . '</span>'; } } $row['shipping_status'] = $row['shipping_status'] == SS_SHIPPED_ING ? SS_PREPARING : $row['shipping_status']; $row['order_status'] = $GLOBALS['_LANG']['os'][$row['order_status']] . ',' . $GLOBALS['_LANG']['ps'][$row['pay_status']] . ',' . $GLOBALS['_LANG']['ss'][$row['shipping_status']]; $row['team_status'] = $GLOBALS['_LANG']['team_status'][$row['team_status']]; $row['goods_list'] = get_order_goods_list($row['order_id']); $row['can_refund'] = can_refund($row['order_id']); $arr[] = array('order_id' => $row['order_id'], 'order_sn' => $row['order_sn'], 'extension_id' => $row['extension_id'], 'team_sign' => $row['team_sign'], 'goods_list' => $row['goods_list'], 'team_first' => $row['team_first'], 'team_status' => $row['team_status'], 'goods_num' => count($row['goods_list']), 'order_time' => local_date($GLOBALS['_CFG']['time_format'], $row['add_time']), 'order_status' => $row['order_status'], 'total_fee' => price_format($row['total_fee'], false), 'can_refund' => $row['can_refund'], 'handler' => $row['handler']); } return $arr; }