function get_affiliate_info_by_user_id($user_id, $page, $size) { $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND a.user_id = '{$user_id}' AND o.is_separate > 0 AND a.separate_type = 0" . " ORDER BY order_id DESC"; $res = $GLOBALS['db']->selectLimit($sql, $size, ($page - 1) * $size); $arr = array(); while ($row = $GLOBALS['db']->fetchRow($res)) { $arr[$row['order_id']]['order_sn'] = $row['order_sn']; $arr[$row['order_id']]['order_amount'] = $row['order_amount']; $arr[$row['order_id']]['total_split_money'] = get_split_money_by_orderid($row['order_id']); $arr[$row['order_id']]['set_money'] = $row['money']; $arr[$row['order_id']]['is_separate'] = $row['is_separate']; } return $arr; }
function get_affiliate_ck($user_id) { $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND a.user_id = '{$user_id}' AND o.is_separate > 0 AND a.separate_type = 0"; $filter['record_count'] = $GLOBALS['db']->getOne($sql); $logdb = array(); /* 分页大小 */ $filter = page_and_size($filter); $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND a.user_id = '{$user_id}' AND o.is_separate > 0 AND a.separate_type = 0" . " ORDER BY order_id DESC"; $res = $GLOBALS['db']->selectLimit($sql, $filter['page_size'], $filter['start']); while ($rows = $GLOBALS['db']->fetchRow($res)) { $rows['total_split_money'] = get_split_money_by_orderid($rows['order_id']); $rows['set_money'] = $rows['money']; $logdb[] = $rows; } $arr = array('logdb' => $logdb, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']); return $arr; }
function get_affiliate_ck($user_id, $level) { $affiliate = unserialize($GLOBALS['_CFG']['affiliate']); empty($affiliate) && ($affiliate = array()); $separate_by = $affiliate['config']['separate_by']; $sqladd = ''; if (isset($_REQUEST['status'])) { $sqladd = ' AND o.is_separate = ' . (int) $_REQUEST['status']; $filter['status'] = (int) $_REQUEST['status']; } if (isset($_REQUEST['order_sn'])) { $sqladd = ' AND o.order_sn LIKE \'%' . trim($_REQUEST['order_sn']) . '%\''; $filter['order_sn'] = $_REQUEST['order_sn']; } //$sqladd = ' AND a.user_id=' . $_SESSION['user_id']; if (!empty($affiliate['on'])) { if (empty($separate_by)) { //推荐注册分成 $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND (u.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) {$sqladd}"; } else { //推荐订单分成 $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND (o.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) {$sqladd}"; } } else { $sql = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND o.is_separate > 0 {$sqladd}"; } $filter['record_count'] = $GLOBALS['db']->getOne($sql); $logdb = array(); /* 分页大小 */ $filter = page_and_size($filter); if (!empty($affiliate['on'])) { if (empty($separate_by)) { //推荐注册分成 $sql = "SELECT o.*, a.log_id, a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND (u.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) {$sqladd}" . " ORDER BY order_id DESC" . " LIMIT " . $filter['start'] . ",{$filter['page_size']}"; /* SQL解释: 列出同时满足以下条件的订单分成情况: 1、有效订单o.user_id > 0 2、满足以下情况之一: a.有用户注册上线的未分成订单 u.parent_id > 0 AND o.is_separate = 0 b.已分成订单 o.is_separate > 0 */ } else { //推荐订单分成 $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND (o.parent_id > 0 AND o.is_separate = 0 OR o.is_separate > 0) {$sqladd}" . " ORDER BY order_id DESC" . " LIMIT " . $filter['start'] . ",{$filter['page_size']}"; /* SQL解释: 列出同时满足以下条件的订单分成情况: 1、有效订单o.user_id > 0 2、满足以下情况之一: a.有订单推荐上线的未分成订单 o.parent_id > 0 AND o.is_separate = 0 b.已分成订单 o.is_separate > 0 */ } } else { //关闭 $sql = "SELECT o.*, a.log_id,a.user_id as suid, a.user_name as auser, a.money, a.point, a.separate_type,u.parent_id as up FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN" . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " LEFT JOIN " . $GLOBALS['ecs']->table('affiliate_log') . " a ON o.order_id = a.order_id" . " WHERE o.user_id > 0 AND o.is_separate > 0 {$sqladd}" . " ORDER BY order_id DESC" . " LIMIT " . $filter['start'] . ",{$filter['page_size']}"; } $query = $GLOBALS['db']->query($sql); while ($rt = $GLOBALS['db']->fetch_array($query)) { if (empty($separate_by) && $rt['up'] > 0) { //按推荐注册分成 $rt['separate_able'] = 1; } elseif (!empty($separate_by) && $rt['parent_id'] > 0) { //按推荐订单分成 $rt['separate_able'] = 1; } if (!empty($rt['suid'])) { //在affiliate_log有记录 $rt['info'] = sprintf($GLOBALS['_LANG']['separate_info2'], $rt['suid'], $rt['auser'], $rt['money'], $rt['point']); if ($rt['separate_type'] == -1 || $rt['separate_type'] == -2) { //已被撤销 $rt['is_separate'] = 3; $rt['info'] = "<s>" . $rt['info'] . "</s>"; } } $logdb[] = $rt; } $logdbnew = array(); foreach ($logdb as $key => $value) { if ($value['user_id'] == $user_id) { $logdbnew[$key] = $value; $user_id = $value['user_id']; $sql = "SELECT fake_id FROM " . $GLOBALS['ecs']->table('weixin_user') . " WHERE ecuid = '{$user_id}'"; $wxid = $GLOBALS['db']->getOne($sql); if (!empty($wxid)) { $weixinInfo = $GLOBALS['db']->getRow("SELECT nickname, headimgurl FROM " . $GLOBALS['ecs']->table('weixin_user') . " WHERE fake_id = '{$wxid}'"); $logdbnew[$key]['headimg'] = empty($weixinInfo['headimgurl']) ? '' : $weixinInfo['headimgurl']; $logdbnew[$key]['username'] = empty($weixinInfo['nickname']) ? '' : $weixinInfo['nickname']; } $affiliate = unserialize($GLOBALS['_CFG']['affiliate']); $k = $level - 1; $affiliate['item'][$k]['level_money'] = (double) $affiliate['item'][$k]['level_money']; if ($affiliate['item'][$k]['level_money']) { $affiliate['item'][$k]['level_money'] /= 100; } $split_money = get_split_money_by_orderid($value['order_id']); $setmoney = round($split_money * $affiliate['item'][$k]['level_money'], 2); $logdbnew[$key]['set_money'] = $setmoney; $logdbnew[$key]['total_split_money'] = $split_money; $logdbnew[$key]['level_money'] = $affiliate['item'][$k]['level_money']; } } $arr = array('logdb' => $logdbnew, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']); return $arr; }
log_account_change($stat['user_id'], -$stat['money'], 0, -$stat['point'], 0, $_LANG['loginfo']['cancel']); $sql = "UPDATE " . $GLOBALS['ecs']->table('affiliate_log') . " SET separate_type = '{$flag}'" . " WHERE log_id = '{$logid}'"; $db->query($sql); //撤销分成,删除分成记录表的记录 $GLOBALS['db']->query("DELETE FROM " . $GLOBALS['ecs']->table('distrib_sort') . " WHERE user_id = '" . $stat['user_id'] . "' and order_id = '" . $stat['order_id'] . "'"); } $links[] = array('text' => $_LANG['affiliate_ck'], 'href' => 'affiliate_ck.php?act=list'); sys_msg($_LANG['edit_ok'], 0, $links); } elseif ($_REQUEST['act'] == 'separate') { include_once ROOT_PATH . 'includes/lib_order.php'; $affiliate = unserialize($GLOBALS['_CFG']['affiliate']); empty($affiliate) && ($affiliate = array()); $separate_by = $affiliate['config']['separate_by']; $oid = (int) $_REQUEST['oid']; //获取订单分成金额 $split_money = get_split_money_by_orderid($oid); $row = $db->getRow("SELECT o.order_sn,u.parent_id, o.is_separate,(o.goods_amount - o.discount) AS goods_amount, o.user_id FROM " . $GLOBALS['ecs']->table('order_info') . " o" . " LEFT JOIN " . $GLOBALS['ecs']->table('users') . " u ON o.user_id = u.user_id" . " WHERE order_id = '{$oid}'"); if ($separate_by == 0) { $pid = $row['parent_id']; } else { $pid = $db->getOne("SELECT parent_id FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_id = '{$oid}'"); } $row1 = $db->getAll("SELECT order_id,goods_number,goods_price FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = '{$oid}'"); $user_rank = $db->getOne("SELECT rank_points FROM " . $GLOBALS['ecs']->table('users') . " WHERE user_id = '{$pid}'"); $recom_rank = $GLOBALS['_CFG']['recom_rank']; $order_sn = $row['order_sn']; if (empty($row['is_separate'])) { $affiliate['config']['level_point_all'] = (double) $affiliate['config']['level_point_all']; $affiliate['config']['level_money_all'] = (double) $affiliate['config']['level_money_all']; if ($affiliate['config']['level_money_all'] == 100) { for ($i = 0; $i < count($row1); $i++) {