|
@@ -28,59 +28,94 @@ class Manage
|
|
|
$id = $id['where_id'];
|
|
|
$area = Dever::param('area', $data);
|
|
|
$role = Dever::param('role', $data);
|
|
|
- if ($area && is_array($area)) {
|
|
|
- $area_string = implode(',', $area);
|
|
|
- if (strstr($area_string, '-1')) {
|
|
|
- Dever::alert('请选择正确的区域');
|
|
|
- }
|
|
|
- $member = Dever::db('agent/member')->find($id);
|
|
|
- if ($area_string == $member['area']) {
|
|
|
- return;
|
|
|
- }
|
|
|
- $role = $member['role'];
|
|
|
- $member_role = Dever::db('setting/role')->one($member['role']);
|
|
|
- if ($member_role && $member_role['type'] == 2) {
|
|
|
- Dever::load('area/api')->upStatus($member['area'], 1);
|
|
|
-
|
|
|
- $area_data = array('mid' => $id);
|
|
|
- $area_info = Dever::db('agent/member_area')->find($area_data);
|
|
|
- if ($area_info) {
|
|
|
- Dever::db('agent/member_area')->update(array('where_id' => $area_info['id'], 'state' => 2));
|
|
|
- }
|
|
|
- }
|
|
|
- $role = Dever::db('setting/role')->one($role);
|
|
|
+ $level_id = Dever::param('level_id', $data);
|
|
|
+
|
|
|
+ $member = Dever::db('agent/member')->find($id);
|
|
|
+ if (!$member) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if ($area && is_array($area) && $role) {
|
|
|
+ $role = Dever::db('setting/role')->find($role);
|
|
|
+ $area_string = array();
|
|
|
if ($role && $role['type'] == 2) {
|
|
|
- $num = count($area);
|
|
|
- if ($role['area'] == 1 && $num < 2) {
|
|
|
- Dever::alert('请选择城市');
|
|
|
- } elseif ($role['area'] == 2 && $num < 3) {
|
|
|
- Dever::alert('请选择区县');
|
|
|
- } elseif ($role['area'] == 3 && $num < 4) {
|
|
|
- Dever::alert('请选择街道');
|
|
|
- }
|
|
|
- Dever::load('area/api')->upStatus($area_string, 2);
|
|
|
- $area_data = array('mid' => $id, 'order_id' => -1, 'role' => $member['role'], 'area' => $area_string);
|
|
|
- $area_data['type'] = 3;
|
|
|
- $area_data['price'] = 0;
|
|
|
- $area_data['status'] = 1;
|
|
|
- $oldorder = Dever::db('agent/order')->state(array('mid' =>$id));
|
|
|
- if (count($oldorder)>=2){
|
|
|
- $oldorder = Dever::db('agent/order')->getFindOne(array('mid' => $id,'order_type' => 2,'state' => 1));
|
|
|
- }else{
|
|
|
- $oldorder = Dever::db('agent/order')->find(array('mid' => $id,'order_type' => 1));
|
|
|
- }
|
|
|
- $oldrole = Dever::db('setting/role')->find($oldorder['role']);
|
|
|
- $area_data['old_role'] = $oldrole['id'];
|
|
|
- Dever::db('agent/member_area')->insert($area_data);
|
|
|
- if(!$member['area']){
|
|
|
- $member['area']='';
|
|
|
- }
|
|
|
- $admin = Dever::load('manage/auth.info');
|
|
|
-
|
|
|
-
|
|
|
- $this->area_log($id,-1,$area_data['type'],$area_data['old_role'],$member['role'],$area_data['price'],$area,$admin['id']);
|
|
|
+ $area_string = Dever::load('agent/lib/order')->checkArea($area, $role, $member['id']);
|
|
|
+ } else {
|
|
|
+ $area_string = implode(',', $area);
|
|
|
+ $area_string = str_replace(',-1', '', $area_string);
|
|
|
}
|
|
|
+
|
|
|
+ $data['set_area'] = $area_string;
|
|
|
+ $this->upLog($member, $role, $area_string, -1, 3);
|
|
|
}
|
|
|
+ if ($level_id && $level_id != $member['level_id']) {
|
|
|
+ $group_num = Dever::load('invite/api')->getChildNum($member['id'], 1);
|
|
|
+ Dever::load('agent/lib/level_log')->up($member['id'], -1, $member['level_id'], $level_id, 0, 0, $group_num);
|
|
|
+ }
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private function upLog($member, $role, $area, $order_id = -1, $type = 3)
|
|
|
+ {
|
|
|
+ if (is_numeric($role)) {
|
|
|
+ $role = Dever::db('setting/role')->find($role);
|
|
|
+ }
|
|
|
+ if (!$role) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $this->upRole($member, $role, $area, $order_id);
|
|
|
+ $this->upArea($member, $role, $area, $order_id, $type);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function upRole($member, $role, $area, $order_id = -1)
|
|
|
+ {
|
|
|
+ if ($role['id'] == $member['role']) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $data['mid'] = $member['id'];
|
|
|
+ $data['order_id'] = $order_id;
|
|
|
+ $data['old_role'] = $member['role'];
|
|
|
+ $data['new_role'] = $role['id'];
|
|
|
+
|
|
|
+ $data['area'] = $area;
|
|
|
+ if ($order_id && $order_id > 0) {
|
|
|
+ $data['type'] = 1;
|
|
|
+ $order = Dever::db('agent/order')->find($order_id);
|
|
|
+ $data['price'] = $order['price'];
|
|
|
+ } else {
|
|
|
+ $data['type'] = 2;
|
|
|
+ $admin = Dever::load('manage/auth.info');
|
|
|
+ $data['audit_admin'] = $admin['id'];
|
|
|
+ }
|
|
|
+
|
|
|
+ Dever::db('agent/member_account_log')->insert($data);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function upArea($member, $role, $area, $order_id = -1, $type = 3)
|
|
|
+ {
|
|
|
+ if (!$role) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if ($area == $member['area']) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $area_data = array('mid' => $member['id']);
|
|
|
+ $area_info = Dever::db('agent/member_area')->find($area_data);
|
|
|
+ if ($area_info) {
|
|
|
+ Dever::db('agent/member_area')->update(array('where_id' => $area_info['id'], 'state' => 2));
|
|
|
+ }
|
|
|
+ if ($role && $role['type'] == 2) {
|
|
|
+ Dever::load('area/api')->upStatus($area, 2);
|
|
|
+ $area_data['order_id'] = $order_id;
|
|
|
+ $area_data['role'] = $role['id'];
|
|
|
+ $area_data['area'] = $area;
|
|
|
+ $area_data['type'] = $type;
|
|
|
+ $area_data['price'] = 0;
|
|
|
+ $area_data['status'] = 1;
|
|
|
+ Dever::db('agent/member_area')->insert($area_data);
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->area_log($member['id'], $order_id, $member['area'], $area);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -279,72 +314,32 @@ class Manage
|
|
|
$update['role'] = $order['role'];
|
|
|
|
|
|
Dever::db('agent/member')->update($update);
|
|
|
-
|
|
|
-
|
|
|
- $account = array('mid' => $order['mid'], 'order_type' => 2);
|
|
|
- if ($order['order_type']==1){
|
|
|
- $oldrole['id'] = '';
|
|
|
- $newrole['id'] = $order['role'];
|
|
|
- }else{
|
|
|
- $neworder = Dever::db('agent/order')->state($account);
|
|
|
- if (count($neworder)>=2){
|
|
|
- $neworder = Dever::db('agent/order')->getFindOne(array('id' => $order['id'],'mid' => $order['mid'],'order_type' => 2,'state' => 1));
|
|
|
- }else{
|
|
|
- $neworder = Dever::db('agent/order')->getFindOne(array('mid' => $order['mid'],'order_type' => 1));
|
|
|
- }
|
|
|
- $newrole = Dever::db('setting/role')->find($order['role']);
|
|
|
- $oldrole = Dever::db('setting/role')->find($neworder['role']);
|
|
|
- }
|
|
|
- $acc['mid'] = $order['mid'];
|
|
|
- $acc['order_id'] = $order['id'];
|
|
|
- $acc['old_role'] = $oldrole['id'];
|
|
|
- $acc['new_role'] = $newrole['id'];
|
|
|
- $acc['price'] = $order['price'];
|
|
|
- $acc['area'] = $order['area'];
|
|
|
- Dever::db('agent/member_account_log')->insert($acc);
|
|
|
-
|
|
|
- $role = Dever::db('setting/role')->one($order['role']);
|
|
|
- if ($role && $role['type'] == 2) {
|
|
|
- $area_data = array('mid' => $order['mid'], 'order_id' => $order['id'], 'new_role' => $order['role'], 'area' => $order['area']);
|
|
|
- $area_datas = array('mid' => $order['mid']);
|
|
|
- $area = Dever::db('agent/member_area')->find($area_datas);
|
|
|
-
|
|
|
- if($area){
|
|
|
- Dever::db('agent/member_area')->update(array('where_id'=>$area['id'],'set_state'=>2));
|
|
|
- Dever::load('area/api')->upStatus($area['area'], 1);
|
|
|
- $old_area = $area['area'];
|
|
|
- }
|
|
|
- $area_data['price'] = $order['price'];
|
|
|
- $oldorder = Dever::db('agent/order')->state(array('mid' =>$order['mid']));
|
|
|
- if (count($oldorder)>2){
|
|
|
- $oldorder = Dever::db('agent/order')->getFindOne(array('id' => $order['id'],'mid' => $order['mid'],'order_type' => 2,'state' => 1));
|
|
|
- }else{
|
|
|
- $oldorder = Dever::db('agent/order')->find(array('mid' => $order['mid'],'order_type' => 1));
|
|
|
- }
|
|
|
- $oldrole = Dever::db('setting/role')->find($oldorder['role']);
|
|
|
- $area_data['old_role'] = $oldrole['id'];
|
|
|
- Dever::db('agent/member_area')->insert($area_data);
|
|
|
- Dever::load('area/api')->upStatus($order['area'], 2);
|
|
|
-
|
|
|
- $this->area_log($order['mid'],$order['id'],$order['type'],$area_data['old_role'],$order['role'],$order['price'],$order['area'],-1);
|
|
|
+ if ($order['price'] > 0) {
|
|
|
+ $type = 1;
|
|
|
+ } else {
|
|
|
+ $type = 2;
|
|
|
}
|
|
|
+ $this->upLog($member, $order['role'], $order['area'], $order['id'], $type);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function area_log($mid,$order_id,$type,$old_role,$new_role,$price,$area,$audit_admin){
|
|
|
+ public function area_log($mid,$order_id,$old_area, $area) {
|
|
|
$data['mid']=$mid;
|
|
|
$data['order_id']=$order_id;
|
|
|
- $data['type']=$type;
|
|
|
- $data['old_role']=$old_role;
|
|
|
- $data['new_role']=$new_role;
|
|
|
- $data['price']=$price;
|
|
|
+ $data['old_area']=$old_area;
|
|
|
$data['area']=$area;
|
|
|
- $data['aduit_admin'] = $audit_admin;
|
|
|
+ if ($order_id && $order_id > 0) {
|
|
|
+ $data['type'] = 1;
|
|
|
+ } else {
|
|
|
+ $admin = Dever::load('manage/auth.info');
|
|
|
+ $data['audit_admin'] = $admin['id'];
|
|
|
+ $data['type'] = 2;
|
|
|
+ }
|
|
|
+
|
|
|
$ids=Dever::db('agent/member_area_log')->insert($data);
|
|
|
return $ids;
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
@@ -604,7 +599,7 @@ class Manage
|
|
|
$member = Dever::db('agent/member')->find($where['mid']);
|
|
|
$desc = $member['name'] . '成为代理商,佣金'.$t['per'].'%';
|
|
|
|
|
|
- Dever::load('agent/lib/member')->up($member, $order['id'], $order['role'], $where['type'], $where['parent_mid'], $t['cash'], $order['agent_cash'], $t['parent_level'], $desc, $t['child_num']);
|
|
|
+ Dever::load('agent/lib/member')->up($where['parent_mid'], $order['id'], $order['role'], $where['type'], $t['cash'], $order['agent_cash'], $t['parent_level'], $desc, $t['child_num']);
|
|
|
}
|
|
|
}
|
|
|
}
|