这是一段关于分销等级的逻辑,我没看太懂。还不了解分销等级升级的条件。求解!
$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);
}