如下列代碼。充斥著各種if語句。完全不知道從哪里開始優(yōu)化..不知道有什么辦法可以解決這種多重if判斷..減少代碼冗余提升效率。下列代碼的功能就是一個(gè)查找7級(jí)上線代理的功能【查詢?cè)撚脩舻纳暇€是否存在上線代理-需要往上查詢7級(jí),如果存在,給予一定的返現(xiàn),前三級(jí)需要通過序列化保存在一個(gè)字段,后五級(jí)只需要返現(xiàn)。】。publicfunctionbonusUser($user,$orderinfo,$order_goods){$first_price=$this->getPrice($user['level']);if($user['agentid']!=0){//一級(jí)上線//下線成交價(jià)$user_one=\think\Db::table('ims_ewei_shop_member')->where('id',$user['agentid'])->find();$money_one=$orderinfo['price']/$order_goods['total'];//獲取當(dāng)前代理價(jià)后并計(jì)算所得傭金$new_price=$this->getPrice($user_one['level']);$return_price=0;//反序列化傭金$all_moeny=unserialize($order_goods['commissions']);if($user_one['level']==11){$result_num=$money_one-168;if($result_num>0){$return_price=$result_num*$order_goods['total'];}}elseif($user_one['level']==12){$result_num=$money_one-138;if($result_num>0){$return_price=$result_num*$order_goods['total'];}}elseif($user_one['level']==13){$result_num=$money_one-118;if($result_num>0){$return_price=$result_num*$order_goods['total'];}}else{$result_num=$money_one-268;if($result_num>0){$return_price=$result_num*$order_goods['total'];}}if($return_price>0){$send_one=$this->send_Mess($user_one['openid'],$user['nickname'],1);$all_moeny['level1']=$return_price;}else{$all_moeny['level1']=0;}if($user_one['agentid']!=0){//二級(jí)上線$user_two=\think\Db::table('ims_ewei_shop_member')->where('id',$user_one['agentid'])->find();$new_price_two=$this->getPrice($user_two['level']);//這里判斷如果上級(jí)的會(huì)員等級(jí)比下級(jí)低的情況不考慮傭金返還if($user_two['level']>$user_one['level']&&$user_one['level']>=$user['level']){$result_two=$new_price-$new_price_two;\think\Log::write($new_price,"1j");if($result_two>0){$all_moeny['level2']=$result_two*$order_goods['total'];$send_two=$this->send_Mess($user_two['openid'],$user['nickname'],2);}else{$all_moeny['level2']=0;}}elseif($user_one['level']$user['level']){//如果該級(jí)上層比任何級(jí)別代理都高的情況下$result_two=$first_price-$new_price_two;$all_moeny['level2']=$result_two*$order_goods['total'];if($result_two>0){$send_three=$this->send_Mess($user_two['openid'],$user['nickname'],2);}}else{$all_moeny['level2']=0;}if($user_two['agentid']!=0){//三級(jí)上線$user_three=\think\Db::table('ims_ewei_shop_member')->where('id',$user_two['agentid'])->find();$new_price_three=$this->getPrice($user_three['level']);//這里判斷如果上級(jí)的會(huì)員等級(jí)比下級(jí)低的情況不考慮傭金返還if($user_three['level']>$user_two['level']&&$user_two['level']>=$user_one['level']&&$user_one['level']>=$user['level']){$result_three=$new_price_two-$new_price_three;if($result_three>0){$all_moeny['level3']=$result_three*$order_goods['total'];$send_three=$this->send_Mess($user_three['openid'],$user['nickname'],3);}else{$all_moeny['level3']=0;}}elseif($user_two['level']0){$all_moeny['level3']=$result_three*$order_goods['total'];$send_three=$this->send_Mess($user_three['openid'],$user['nickname'],3);}else{$all_moeny['level3']=0;}}elseif($user_one['level']>=$user['level']&&$user_two['level']$user_two['level']){$result_three=$new_price-$new_price_three;if($result_three>0){$all_moeny['level3']=$result_three*$order_goods['total'];$send_three=$this->send_Mess($user_three['openid'],$user['nickname'],3);}else{$all_moeny['level3']=0;}}else{$all_moeny['level3']=0;}if($user_three['agentid']!=0){//四級(jí)上線$user_four=\think\Db::table('ims_ewei_shop_member')->where('id',$user_three['agentid'])->find();$new_price_four=$this->getPrice($user_four['level']);//這里判斷如果上級(jí)的會(huì)員等級(jí)比下級(jí)高的情況下。傭金返還;if($user_four['level']>$user_three['level']&&$user_three['level']>=$user_two['level']&&$user_two['level']>=$user_one['level']&&$user_one['level']>=$user['level']){$result_four=$new_price_three-$new_price_four;if($result_four>0){$four_money=$result_four*$order_goods['total'];$result=$this->shop_money_log($four_money,$user_four,4);$send_four=$this->send_Mess($user_four['openid'],$user['nickname'],4);}}elseif($user_three['level']shop_money_log($four_money,$user_four,4);$send_four=$this->send_Mess($user_four['openid'],$user['nickname'],4);}}elseif($user_two['level']>=$user['level']&&$user_two['level']>=$user_one['level']&&$user_three['level']$user_two['level']){$result_four=$new_price_two-$new_price_four;$four_money=$result_four*$order_goods['total'];if($result_four>0){$result=$this->shop_money_log($four_money,$user_four,4);$send_four=$this->send_Mess($user_four['openid'],$user['nickname'],4);}}elseif($user_one['level']>=$user['level']&&$user_three['level']=$user_two['level']&&$user_four['level']>$user_one['level']){$result_four=$new_price-$new_price_four;$four_money=$result_four*$order_goods['total'];if($result_four>0){$result=$this->shop_money_log($four_money,$user_four,4);$send_four=$this->send_Mess($user_four['openid'],$user['nickname'],4);}}if($user_four['agentid']!=0){//五級(jí)上線$user_five=\think\Db::table('ims_ewei_shop_member')->where('id',$user_four['agentid'])->find();$new_price_five=$this->getPrice($user_five['level']);if($user_five['level']>$user_four['level']&&$user_four['level']>=$user_three['level']&&$user_three['level']>=$user_two['level']&&$user_two['level']>=$user_one['level']&&$user_one['level']>=$user['level']){$result_five=$new_price_four-$new_price_five;$five_money=$result_five*$order_goods['total'];if($result_five>0){$result=$this->shop_money_log($five_money,$user_five,5);$send_five=$this->send_Mess($user_five['openid'],$user['nickname'],5);}}elseif($user_four['level']send_Mess($user_five['openid'],$user['nickname'],5);}}elseif($user_two['level']>=$user['level']&&$user_two['level']>=$user_one['level']&&$user_three['level']0){$result=$this->shop_money_log($five_money,$user_five,5);$send_five=$this->send_Mess($user_five['openid'],$user['nickname'],5);}}elseif($user_one['level']>=$user['level']&&$user_three['level']=$user_two['level']&&$user_four['level']$user_two['level']){//如果該級(jí)上層比任何級(jí)別代理都高的情況下$result_five=$new_price-$new_price_five;$five_money=$result_five*$order_goods['total'];if($result_five>0){$result=$this->shop_money_log($five_money,$user_five,5);$send_five=$this->send_Mess($user_five['openid'],$user['nickname'],5);}}elseif($user_three['level']>=$user['level']&&$user_three['level']>=$user_one['level']&&$user_three['level']>=$user_two['level']&&$user_four['level']$user_three['level']){//如果該級(jí)上層比任何級(jí)別代理都高的情況下$result_five=$new_price_three-$new_price_five;$five_money=$result_five*$order_goods['total'];if($result_five>0){$result=$this->shop_money_log($five_money,$user_five,5);$send_five=$this->send_Mess($user_five['openid'],$user['nickname'],5);}}//6-7級(jí)返現(xiàn)if($user_five['agentid']!=0){//查詢第六級(jí)的等級(jí)$user_six=\think\Db::table('ims_ewei_shop_member')->where('id',$user_five['agentid'])->find();$new_price_six=$this->getPrice($user_six['level']);if($user_six['level']>$user_five['level']&&$user_five['level']>=$user_four['level']&&$user_four['level']>=$user_three['level']&&$user_three['level']>=$user_two['level']&&$user_two['level']>=$user_one['level']&&$user_one['level']>=$user['level']){$result_six=$new_price_five-$new_price_six;$six_money=$result_six*$order_goods['total'];if($result_six>0){$result=$this->shop_money_log($six_money,$user_six,6);$send_five=$this->send_Mess($user_six['openid'],$user['nickname'],6);}}elseif($user_five['level']=$user['level']&&$user_two['level']>=$user_one['level']&&$user_three['level']shop_money_log($six_money,$user_six,6);$send_five=$this->send_Mess($user_six['openid'],$user['nickname'],6);}}elseif($user_one['level']>=$user['level']&&$user_three['level']=$user_two['level']&&$user_four['level']0){$result=$this->shop_money_log($six_money,$user_six,6);$send_five=$this->send_Mess($user_six['openid'],$user['nickname'],6);}}elseif($user_three['level']>=$user['level']&&$user_three['level']>=$user_one['level']&&$user_three['level']>=$user_two['level']&&$user_four['level']0){$result=$this->shop_money_log($six_money,$user_six,6);$send_five=$this->send_Mess($user_six['openid'],$user['nickname'],6);}}elseif($user_four['level']>=$user['level']&&$user_four['level']>=$user_one['level']&&$user_four['level']>=$user_two['level']&&$user_four['level']>=$user_three['level']&&$user_five['level']$user_four['level']){//如果該級(jí)上層比任何級(jí)別代理都高的情況下$result_six=$new_price_four-$new_price_six;$six_money=$result_six*$order_goods['total'];if($result_six>0){$result=$this->shop_money_log($six_money,$user_six,6);$send_five=$this->send_Mess($user_six['openid'],$user['nickname'],6);}}if($user_six['agentid']!=0){//第七級(jí)查詢$user_seven=\think\Db::table('ims_ewei_shop_member')->where('id',$user_six['agentid'])->find();$new_price_seven=$this->getPrice($user_seven['level']);if($user_seven['level']>=$user_six['level']&&$user_six['level']>=$user_five['level']&&$user_five['level']>=$user_four['level']&&$user_four['level']>=$user_three['level']&&$user_three['level']>=$user_two['level']&&$user_two['level']>=$user_one['level']&&$user_one['level']>=$user['level']){$result_seven=$new_price_six-$new_price_seven;$seven_money=$result_seven*$order_goods['total'];if($result_seven>0){$result=$this->shop_money_log($seven_money,$user_seven,7);$send_seven=$this->send_Mess($user_seven['openid'],$user['nickname'],7);}}elseif($user_six['level']=$user_one['level']&&$user_three['level']send_Mess($user_seven['openid'],$user['nickname'],7);}}elseif($user_one['level']>=$user['level']&&$user_three['level']=$user_two['level']&&$user_four['level']shop_money_log($seven_money,$user_seven,7);$send_seven=$this->send_Mess($user_seven['openid'],$user['nickname'],7);}}elseif($user_three['level']>=$user['level']&&$user_three['level']>=$user_one['level']&&$user_three['level']>=$user_two['level']&&$user_four['level']shop_money_log($seven_money,$user_seven,7);$send_seven=$this->send_Mess($user_seven['openid'],$user['nickname'],7);}}elseif($user_four['level']>=$user['level']&&$user_four['level']>=$user_one['level']&&$user_four['level']>=$user_two['level']&&$user_four['level']>=$user_three['level']&&$user_five['level']0){$result=$this->shop_money_log($seven_money,$user_seven,7);$send_seven=$this->send_Mess($user_seven['openid'],$user['nickname'],7);}}elseif($user_five['level']>=$user['level']&&$user_five['level']>=$user_one['level']&&$user_five['level']>=$user_two['level']&&$user_five['level']>=$user_three['level']&&$user_five['level']>=$user_four['level']&&$user_six['level']$user_five['level']){//如果該級(jí)上層比任何級(jí)別代理都高的情況下$result_seven=$new_price_five-$new_price_seven;$seven_money=$result_seven*$order_goods['total'];if($result_seven>0){$result=$this->shop_money_log($seven_money,$user_seven,7);$send_seven=$this->send_Mess($user_seven['openid'],$user['nickname'],7);}}}}}}}}$order_goods_data['commissions']=serialize($all_moeny);\think\Db::table('ims_ewei_shop_order_goods')->where('id',$order_goods['id'])->update($order_goods_data);returntrue;}returnfalse;}
多重if判斷如何簡(jiǎn)化代碼,減少代碼冗余
DIEA
2019-05-14 10:59:55