|
@@ -802,6 +802,20 @@ class Order
|
|
|
return $button;
|
|
|
}
|
|
|
|
|
|
+ private function getAreaAgent($area, $value)
|
|
|
+ {
|
|
|
+ $city_role = Dever::db('setting/role')->find(array('type' => 2, 'area' => $value));
|
|
|
+ if ($city_role) {
|
|
|
+ $area_info = Dever::db('agent/member')->find(array('area' => $area, 'role' => $city_role['id']));
|
|
|
+ if ($area_info && $area_info['status'] <= 2) {
|
|
|
+ $area_info['level'] = Dever::db('setting/level')->find($area_info['level_id']);
|
|
|
+ $area_info['role'] = $city_role;
|
|
|
+ return $area_info;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return array();
|
|
|
+ }
|
|
|
+
|
|
|
private function show_parent($parent_member, $process, $info, $role, &$result)
|
|
|
{
|
|
|
|
|
@@ -817,6 +831,21 @@ class Order
|
|
|
$level_up = false;
|
|
|
$html = '';
|
|
|
$parent_name = '';
|
|
|
+
|
|
|
+
|
|
|
+ $area_agent = array();
|
|
|
+ if ($role['type'] == 2 && $role['area'] > 1) {
|
|
|
+ if ($role['area'] == 2) {
|
|
|
+
|
|
|
+ $temp = explode(',', $info['area']);
|
|
|
+ $area_agent['city'] = $this->getAreaAgent($temp[0] . ',' . $temp[1], 1);
|
|
|
+ } elseif ($role['area'] == 3) {
|
|
|
+
|
|
|
+ $temp = explode(',', $info['area']);
|
|
|
+ $area_agent['city'] = $this->getAreaAgent($temp[0] . ',' . $temp[1], 1);
|
|
|
+ $area_agent['county'] = $this->getAreaAgent($temp[0] . ',' . $temp[1] . ',' . $temp[2], 2);
|
|
|
+ }
|
|
|
+ }
|
|
|
foreach ($parents as $k => $v) {
|
|
|
$parent_info = Dever::db('agent/member')->find($v['uid']);
|
|
|
if ($parent_info && $parent_info['status'] == 2 && $parent_per < $max_per) {
|
|
@@ -872,7 +901,9 @@ class Order
|
|
|
|
|
|
|
|
|
if ($k == 0) {
|
|
|
- $parent_name = $this->show_parent_reward($parent_info, $info, $role, $v, $parent_role, $parent_level, $child_num, $table);
|
|
|
+ $parent_name = $this->show_parent_reward($parent_info, $info, $role, $parent_role, $parent_level, $child_num, $table);
|
|
|
+
|
|
|
+ $this->show_area_reward($parent_info, $info, $role, $v, $parent_role, $parent_level, $area_agent, $table);
|
|
|
}
|
|
|
|
|
|
$param = array();
|
|
@@ -937,6 +968,81 @@ class Order
|
|
|
);
|
|
|
}
|
|
|
|
|
|
+ private function show_area_reward($parent_info, $info, $role, $v, $parent_role, $parent_level, $area_agent, &$table)
|
|
|
+ {
|
|
|
+ $order_cash = Dever::db('agent/order_cash')->getAll(array('order_id' => $info['id'], 'parent_mid' => $v['uid'], 'type' => 3));
|
|
|
+
|
|
|
+ if ($order_cash) {
|
|
|
+ foreach ($order_cash as $k => $v) {
|
|
|
+ $v['cash'] = '<a style="color:blue">' . $v['cash'] . '</a>';
|
|
|
+ $v['member'] = Dever::db('agent/member')->find($v['mid']);
|
|
|
+ $v['level'] = Dever::db('setting/level')->find($v['member']['level_id']);
|
|
|
+ $v['role'] = Dever::db('setting/role')->find($v['member']['role']);
|
|
|
+ $table['body'][] = array('间推佣金', $v['member']['name'], $v['member']['mobile'], $v['role']['name'], $$v['level']['name'], $v['per'] . '%', $v['cash']);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (isset($area_agent['county']) && $area_agent['county'] && $area_agent['county']['id'] != $parent_info['id']) {
|
|
|
+ $area_role_reward = Dever::db('setting/role_reward')->find(array('role_id' => $area_agent['county']['role']['id'], 't_role_id' => $role['id']));
|
|
|
+ if ($area_role_reward) {
|
|
|
+ if (strstr($area_role_reward['fzt_qn_value'], ',')) {
|
|
|
+ $temp = explode(',', $area_role_reward['fzt_qn_value']);
|
|
|
+ $area_role_reward['fzt_qn_value'] = $temp[1];
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($area_role_reward['value_type'] == 1) {
|
|
|
+ $area_cash = round($info['agent_cash'] * ($area_role_reward['fzt_qn_value']/100), 2);
|
|
|
+ $area_per = $area_role_reward['fzt_qn_value'];
|
|
|
+ } else {
|
|
|
+ $area_cash = $area_role_reward['fzt_qn_value'];
|
|
|
+ $area_per = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ $area_param = array();
|
|
|
+ $area_param['type'] = 3;
|
|
|
+ $area_param['order_id'] = $info['id'];
|
|
|
+ $area_param['parent_mid'] = $area_agent['county']['id'];
|
|
|
+ $area_param['cash'] = $area_cash;
|
|
|
+ $area_param['per'] = $area_per;
|
|
|
+
|
|
|
+ $area_param = Dever::array_encode($area_param);
|
|
|
+ $area_cash = '<a style="color:blue" class="set_cash" data-param="'.$area_param.'">' . $area_cash . '</a>';
|
|
|
+
|
|
|
+ $table['body'][] = array('间推佣金', $area_agent['county']['name'], $area_agent['county']['mobile'], $area_agent['county']['role']['name'], $area_agent['county']['level']['name'], $area_per . '%', $area_cash);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (isset($area_agent['city']) && $area_agent['city'] && $area_agent['city']['id'] != $parent_info['id']) {
|
|
|
+ $area_role_reward = Dever::db('setting/role_reward')->find(array('role_id' => $area_agent['county']['role']['id'], 't_role_id' => $role['id']));
|
|
|
+ if ($area_role_reward) {
|
|
|
+ if (strstr($area_role_reward['fzt_qn_value'], ',')) {
|
|
|
+ $temp = explode(',', $area_role_reward['fzt_qn_value']);
|
|
|
+ $area_role_reward['fzt_qn_value'] = $temp[0];
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($area_role_reward['value_type'] == 1) {
|
|
|
+ $area_cash = round($info['agent_cash'] * ($area_role_reward['fzt_qn_value']/100), 2);
|
|
|
+ $area_per = $area_role_reward['fzt_qn_value'];
|
|
|
+ } else {
|
|
|
+ $area_cash = $area_role_reward['fzt_qn_value'];
|
|
|
+ $area_per = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ $area_param = array();
|
|
|
+ $area_param['type'] = 3;
|
|
|
+ $area_param['order_id'] = $info['id'];
|
|
|
+ $area_param['parent_mid'] = $area_agent['city']['id'];
|
|
|
+ $area_param['cash'] = $area_cash;
|
|
|
+ $area_param['per'] = $area_per;
|
|
|
+
|
|
|
+ $area_param = Dever::array_encode($area_param);
|
|
|
+ $area_cash = '<a style="color:blue" class="set_cash" data-param="'.$area_param.'">' . $area_cash . '</a>';
|
|
|
+ $table['body'][] = array('间推佣金', $area_agent['city']['name'], $area_agent['city']['mobile'], $area_agent['city']['role']['name'], $area_agent['city']['level']['name'], $area_per . '%', $area_cash);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
private function show_parent_reward($parent_info, $info, $role, $v, $parent_role, $parent_level, $child_num, &$table)
|
|
|
{
|
|
|
$parent_name = '邀请人:'.$parent_info['name'].','.$parent_info['mobile'].' 邀请人角色:';
|
|
@@ -1011,7 +1117,7 @@ class Order
|
|
|
|
|
|
if ($reward_state) {
|
|
|
if ($reward['value_type'] == 1) {
|
|
|
- $param['cash'] = $info['agent_cash'] * ($reward['value']/100);
|
|
|
+ $param['cash'] = round($info['agent_cash'] * ($reward['value']/100), 2);
|
|
|
$param['per'] = $reward['value'];
|
|
|
} else {
|
|
|
$param['cash'] = $reward['value'];
|