如下列代碼。充斥著各種if語句。完全不知道從哪里開始優(yōu)化..不知道有什么辦法可以解決這種多重if判斷..減少代碼冗余提升效率。下列代碼的功能就是一個(gè)查找7級上線代理的功能【查詢該用戶的上線是否存在上線代理-需要往上查詢7級,如果存在,給予一定的返現(xiàn),前三級需要通過序列化保存在一個(gè)字段,后五級只需要返現(xiàn)?!?。
public function bonusUser($user, $orderinfo, $order_goods) {
$first_price = $this->getPrice($user['level']);
if ($user['agentid'] != 0) {
//一級上線
//下線成交價(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'];
}
} else if ($user_one['level'] == 12) {
$result_num = $money_one - 138;
if ($result_num > 0) {
$return_price = $result_num * $order_goods['total'];
}
} else if ($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) {
//二級上線
$user_two = \think\Db::table('ims_ewei_shop_member')->where('id', $user_one['agentid'])->find();
$new_price_two = $this->getPrice($user_two['level']);
//這里判斷如果上級的會員等級比下級低的情況不考慮傭金返還
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'] && $user_two['level'] > $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$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) {
//三級上線
$user_three = \think\Db::table('ims_ewei_shop_member')->where('id', $user_two['agentid'])->find();
$new_price_three = $this->getPrice($user_three['level']);
//這里判斷如果上級的會員等級比下級低的情況不考慮傭金返還
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'] <= $user['level'] && $user_one['level'] <= $user['level'] && $user_three['level'] > $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_three = $first_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;
}
} elseif ($user_one['level'] >= $user['level'] && $user_two['level'] <= $user_one['level'] && $user_three['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) {
//四級上線
$user_four = \think\Db::table('ims_ewei_shop_member')->where('id', $user_three['agentid'])->find();
$new_price_four = $this->getPrice($user_four['level']);
//這里判斷如果上級的會員等級比下級高的情況下。傭金返還;
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);
}
} else if ($user_three['level'] <= $user['level'] && $user_two['level'] <= $user['level'] && $user_one['level'] <= $user['level'] && $user_four['level'] > $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_four = $first_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);
}
} elseif ($user_two['level'] >= $user['level'] && $user_two['level'] >= $user_one['level'] && $user_three['level'] <= $user_two['level'] && $user_four['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_one['level'] && $user_one['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) {
//五級上線
$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'] <= $user['level'] && $user_three['level'] <= $user['level'] && $user_two['level'] <= $user['level'] && $user_one['level'] <= $user['level'] && $user_five['level'] >= $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_five = $first_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_two['level'] >= $user['level'] && $user_two['level'] >= $user_one['level'] && $user_three['level'] <= $user_two['level'] && $user_four['level'] <= $user_two['level'] && $user_five['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_five = $new_price_two - $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_one['level'] >= $user['level'] && $user_three['level'] <= $user_one['level'] && $user_one['level'] >= $user_two['level'] && $user_four['level'] <= $user_one['level'] && $user_five['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$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'] && $user_five['level'] > $user_three['level']) {
//如果該級上層比任何級別代理都高的情況下
$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級返現(xiàn)
if ($user_five['agentid'] != 0) {
//查詢第六級的等級
$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_four['level'] <= $user['level'] && $user_three['level'] <= $user['level'] && $user_two['level'] <= $user['level'] && $user_one['level'] <= $user['level'] && $user_six['level'] >= $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_six = $first_price - $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_two['level'] >= $user['level'] && $user_two['level'] >= $user_one['level'] && $user_three['level'] <= $user_two['level'] && $user_four['level'] <= $user_two['level'] && $user_five['level'] <= $user_two['level'] && $user_six['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_six = $new_price_two - $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_one['level'] >= $user['level'] && $user_three['level'] <= $user_one['level'] && $user_one['level'] >= $user_two['level'] && $user_four['level'] <= $user_one['level'] && $user_five['level'] <= $user_one['level'] && $user_six['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_six = $new_price - $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_three['level'] >= $user['level'] && $user_three['level'] >= $user_one['level'] && $user_three['level'] >= $user_two['level'] && $user_four['level'] <= $user_three['level'] && $user_five['level'] <= $user_three['level'] && $user_six['level'] > $user_three['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_six = $new_price_three - $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_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'] && $user_six['level'] > $user_four['level']) {
//如果該級上層比任何級別代理都高的情況下
$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) {
//第七級查詢
$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['level'] && $user_five['level'] <= $user['level'] && $user_four['level'] <= $user['level'] && $user_three['level'] <= $user['level'] && $user_two['level'] <= $user['level'] && $user_one['level'] <= $user['level'] && $user_seven['level'] >= $user['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_seven = $first_price - $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_two['level'] >= $user['level'] && $user_two['level'] >= $user_one['level'] && $user_three['level'] <= $user_two['level'] && $user_four['level'] <= $user_two['level'] && $user_five['level'] <= $user_two['level'] && $user_six['level'] <= $user_two['level'] && $user_seven['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_seven = $new_price_two - $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_one['level'] >= $user['level'] && $user_three['level'] <= $user_one['level'] && $user_one['level'] >= $user_two['level'] && $user_four['level'] <= $user_one['level'] && $user_five['level'] <= $user_one['level'] && $user_six['level'] <= $user_one['level'] && $user_seven['level'] > $user_two['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_seven = $new_price - $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_three['level'] >= $user['level'] && $user_three['level'] >= $user_one['level'] && $user_three['level'] >= $user_two['level'] && $user_four['level'] <= $user_three['level'] && $user_five['level'] <= $user_three['level'] && $user_six['level'] <= $user_three['level'] && $user_seven['level'] > $user_three['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_seven = $new_price_three - $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_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'] && $user_six['level'] <= $user_four['level'] && $user_seven['level'] > $user_four['level']) {
//如果該級上層比任何級別代理都高的情況下
$result_seven = $new_price_four - $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_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'] && $user_seven['level'] > $user_five['level']) {
//如果該級上層比任何級別代理都高的情況下
$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);
return true;
}
return false;
}
代理關(guān)系和業(yè)務(wù)相關(guān),沒看明白你代碼
$level = $user_one['level'];
$levelArray = [11=>168, 12=>138];
if(isset($levelArray[$level])){
$subNum = $levelArray[$level];
} else {
$subNum = 268;
}
$result_num=$money_one-$subNum;
if($result_num>0){
$return_price=$result_num*$order_goods['total'];
}
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。