视号圈 2021-08-14 13:08 采纳率: 0%
浏览 28

分销等级逻辑还没搞懂,求解

这是一段关于分销等级的逻辑,我没看太懂。还不了解分销等级升级的条件。求解!

    $set = DB::table('yzd_kp_distribute_set')->where('uniacid',$uniacid)
            ->select('cwfxs_title','img','sqcwfxs_title','in_agreement_title','pt_title',
                     'fxdd_title','txmx_title','fxyj_title','wdtd_title','wdfxm_title','lxkf_title',
                     'zyj_title','ktxyj_title','ytxyj_title','wjsyj_title',
                     'yj_title','ej_title','sj_title',
                     'pay_type','min_price','max_price','commission','notice','rank','is_grade')
            ->first();
    if($set){
        $set['pay_type'] = json_decode($set['pay_type'],true);
        $user = DB::table('yzd_kp_users')->where('uniacid',$uniacid)->where('id',$r['user_id'])->select('nickName','avatarUrl','pid','is_distributor')->first();
        if($user['pid'] == 0 || $user['pid'] == -1){
            $set['tjr_title'] = $set['pt_title'];
        }else{
            $set['tjr_title'] = DB::table('yzd_kp_users')->where('uniacid',$uniacid)->where('id',$user['pid'])->select('nickName')->first()['nickName'];
        }
        if($user['is_distributor'] == 3){
            $dis = DB::table('yzd_kp_distribute')->select('id','grade')->where('user_id',$r['user_id'])->first();
            if($dis['grade'] == 0){
                $set['grade'] = '普通等级';
            }else{
                $set['grade'] = DB::table('yzd_kp_distribute_grade')->select('name')->where('grade',$dis['grade'])->first()['name'];
            }
            $dis_id = $dis['id'];
            $wallet = DB::table('yzd_kp_distribute_wallet')->select('ktx_money','ytx_money','bktx_money','txz_money')->where('dis_id',$dis_id)->first();
            $zyj_money = $wallet['ktx_money'] + $wallet['ytx_money'] + $wallet['bktx_money'] + $wallet['txz_money'];
            $wallet['zyj_money'] = sprintf("%.2f",$zyj_money);
        }
        $set['nickName'] = $user['nickName'];
        $set['avatarUrl'] = $user['avatarUrl'];
        $set['wallet'] = !empty($wallet) ? $wallet : [];
        
    }
    $code = $set ? 2004 : 4004;
    $msg = $set ? '成功' : '数据错误';
    return $this->result($code,$msg,$set);
}
  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-08-14 13:42
    关注

    这代码只是读取数据库填充$set对象,没有升级的逻辑在里面,如更新当前用户的上级(pid)之类的操作。

    具体字段意思得有数据库对应的字段说明才能知道什么对什么了。

    分销升级逻辑一般就是判断下线有多少个(pid=当前用户),或者统计下线订单销量达到多少时更新数据库对应用户的等级(grade,为0为普通等级),这些逻辑不存在贴出来的代码里面

    评论

报告相同问题?

问题事件

  • 创建了问题 8月14日

悬赏问题

  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息