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;
}
示例#2
0
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;
}
示例#3
0
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;
}
示例#4
0
        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++) {