后台分销员列表下级人数和推广人列表对应不上问题修复

文件地址:

app/services/agent/AgentManageServices.php

方法名:agentSystemPage()

替换此方法如下代码

public function agentSystemPage(array $where, $is_page = true)
    {
        /** @var UserServices $userServices */
        $userServices = app()->make(UserServices::class);
        $data = $userServices->getAgentUserList($where, '*', $is_page);
        /** @var UserBrokerageServices $userBrokerageServices */
        $userBrokerageServices = app()->make(UserBrokerageServices::class);

        $uids = array_column($data['list'], 'uid');
        $spreadCount = $userServices->search(['spread_uid'=>$uids])
            ->group('spread_uid')
            ->field('uid,count(*) as spread_count,spread_uid')
            ->select()->toArray();
        $spreadCount = array_column($spreadCount, 'spread_count', 'spread_uid');

        foreach ($data['list'] as &$item) {
            $item['headimgurl'] = $item['avatar'];
            $item['extract_count_price'] = $item['extract'][0]['extract_count_price'] ?? 0;
            $item['extract_count_num'] = $item['extract'][0]['extract_count_num'] ?? 0;
            $item['spread_name'] = $item['spreadUser']['nickname'] ?? '';
            if ($item['spread_name']) {
                $item['spread_name'] .= '/' . $item['spread_uid'];
            }
            $item['spread_count'] = $spreadCount[$item['uid']] ?? 0 ;
            $item['order_price'] = $item['order'][0]['order_price'] ?? 0;
            $item['order_count'] =  $item['order'][0]['order_count'] ?? 0;
            $item['broken_commission'] = $userBrokerageServices->getUserFrozenPrice((int)$item['uid']);
            if ($item['broken_commission'] < 0)
                $item['broken_commission'] = 0;
            $item['brokerage_money'] = $item['brokerage'][0]['brokerage_money'] ?? 0;
            if ($item['brokerage_price'] > $item['broken_commission'])
                $item['brokerage_money'] = bcsub($item['brokerage_price'], $item['broken_commission'], 2);
            else
                $item['brokerage_money'] = 0;
            $item['new_money'] = $item['brokerage_price'];
            unset($item['extract'], $item['order'], $item['bill'], $item['spreadUser'], $item['spreadCount']);
        }
        return $data;
    }

Copy

如图:

3b3ea202407291639126408.png

文件地址:

app/services/user/UserServices.php

方法名:getUserSpredadUids()

替换此方法,代码如下:

    public function getUserSpredadUids(int $uid, int $type = 0)
    {
        $uids = $this->dao->getColumn(['spread_uid' => $uid], 'uid');
        if ($type === 1) {
            return $uids;
        }
        if ($uids) {
            $uidsTwo = $this->dao->getColumn([['spread_uid', 'in', $uids]], 'uid');
            if ($type === 2) {
                return $uidsTwo;
            }
            $brokerage_level = sys_config('brokerage_level');
            if ($uidsTwo && $brokerage_level == 2) {
                $uids = array_merge($uids, $uidsTwo);
            }
        }
        return $uids;
    }

Copy

如下图

7da4a202407291641526924.png

文件地址:

app/model/user/User.php

方法名:searchSpreadUidAttr

修改此方法.代码如下:

    public function searchSpreadUidAttr($query, $value)
    {
        if ($value !== '') {
            if (is_array($value)) {
                $query->whereIn('spread_uid', $value);
            } else {
                $query->where('spread_uid', $value);
            }
        }
    }

Copy

如下图

d8c25202407291643054355.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值