function xt_report_fanxian_result($platform, $commission, $buyer, $sharer, $adser) { $result = array('isValid' => 0, 'commission' => $commission, 'income' => $commission, 'buy' => array('user_id' => 0, 'user_name' => '', 'rate' => 0, 'cash' => 0, 'jifen' => 0), 'share' => array('user_id' => 0, 'user_name' => '', 'rate' => 0, 'cash' => 0, 'jifen' => 0), 'ads' => array('user_id' => 0, 'user_name' => '', 'rate' => 0, 'cash' => 0, 'jifen' => 0)); $isJifen = xt_fanxian_is_jifenbao($platform); if ($isJifen) { $result['commission'] = $commission * 100; } $rate = $share_rate = 0; $total = 0; if ($sharer->exists()) { $result['share']['user_id'] = $sharer->ID; $result['share']['user_name'] = $sharer->user_login; if (xt_fanxian_is_share()) { $share_rate = xt_get_sharerate($sharer->ID); if ($share_rate > 0) { $fanxian = $jifen = 0; if ($isJifen) { $jifen = round($commission * $share_rate / 100, 2) * 100; } else { $fanxian = round($commission * $share_rate / 100, 2); } $result['share']['rate'] = $share_rate; $result['share']['cash'] = $fanxian; $result['share']['jifen'] = $jifen; $total += $share_rate; } } } if ($buyer->exists()) { $result['buy']['user_id'] = $buyer->ID; $result['buy']['user_name'] = $buyer->user_login; $rate = xt_get_rate($buyer->ID); if ($sharer->exists() && !xt_fanxian_is_sharebuy()) { //share no buy $rate = 0; } if ($rate > 0) { $fanxian = $jifen = 0; if ($isJifen) { $jifen = round($commission * $rate / 100, 2) * 100; } else { $fanxian = round($commission * $rate / 100, 2); } $result['buy']['rate'] = $rate; $result['buy']['cash'] = $fanxian; $result['buy']['jifen'] = $jifen; $total += $rate; } if ($adser->exists()) { $result['ads']['user_id'] = $adser->ID; $result['ads']['user_name'] = $adser->user_login; if (xt_fanxian_is_ad()) { $adrate = xt_get_adrate($adser); if ($adrate > 0) { $fanxian = $jifen = 0; if ($isJifen) { $jifen = round($commission * $adrate / 100, 2) * 100; } else { $fanxian = round($commission * $adrate / 100, 2); } $result['ads']['rate'] = $adrate; $result['ads']['cash'] = $fanxian; $result['ads']['jifen'] = $jifen; $total += $adrate; } } } } if ($total <= 90) { $result['isValid'] = 1; $result['income'] = round($commission * (90 - $total) / 100, 2); } return $result; }
function xt_get_multicashback($user, $rate, $sharerate, &$multi = array()) { if ($user->exists()) { $parents = get_user_meta($user->ID, XT_USER_PARENT, true); if (!empty($parents)) { $parent = new WP_User($parents['id']); if ($parent->exists()) { //当前推广人的推广人存在 $adrate = xt_get_adrate($parent); $_temp = $rate + $sharerate + $adrate; foreach ($multi as $_m) { $_temp += $_m['adrate']; } if (!empty($multi)) { //多级 if (xt_is_role_multicashback($parent->roles)) { $multi[] = array('id' => $parent->ID, 'name' => $parent->user_login, 'sub_id' => $user->ID, 'sub_name' => $user->user_login, 'adrate' => $adrate); } } else { //一级 $multi[] = array('id' => $parent->ID, 'name' => $parent->user_login, 'sub_id' => $user->ID, 'sub_name' => $user->user_login, 'adrate' => $adrate); } if ($adrate > 0 && xt_fanxian_is_multi()) { if (xt_is_role_multicashback($parent->roles)) { xt_get_multicashback($parent, $rate, $sharerate, $multi); } } } } } return $multi; }