GroupLogic.php
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
namespace App\Http\Logic\Bside\User;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\User\ProjectGroup;
class GroupLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ProjectGroup();
$this->param = $this->requestAll;
}
/**
* @name :添加
* @return void
* @author :liyuhang
* @method
*/
public function group_add(){
$this->param['project_id'] = $this->user['project_id'];
$this->param['admin_id'] = $this->user['admin_id'];
$this->param['create_id'] = $this->user['create_id'];
$this->param['operator_id'] = $this->user['operator_id'];
$this->param['user_list'] = ','.trim($this->param['user_list'],',').',';
$rs = $this->model->add($this->param);
if($rs === false){
$this->fail('error');
}
if(isset($this->param['pid']) && !empty($this->param['pid'])){
$this->add_update_parent($this->param);
}
return $this->success();
}
/**
* @name :编辑
* @return void
* @author :liyuhang
* @method
*/
public function group_edit(){
$this->param['user_list'] = ','.trim($this->param['user_list'],',').',';
$rs = $this->edit($this->param,['id'=>$this->param['id']]);
if($rs === false){
$this->fail('error');
}
//更新父类
$this->update_parent($this->param,$this->param['id']);
return $this->success();
}
/**
* @name :详情
* @return void
* @author :liyuhang
* @method
*/
public function group_info(){
$info = $this->info($this->param);
return $this->success($info);
}
/**
* @name :删除
* @return void
* @author :liyuhang
* @method
*/
public function group_del(){
//查看当前是否拥有父类
$info = $this->model->read(['pid'=>$this->param['id']]);
if($info !== false){
$this->fail('当前删除组织拥有下级组织,不允许删除');
}
$rs = $this->model->del($this->param);
if($rs === false){
$this->fail('error');
}
return $this->success();
}
/**
* @name :(更新父类成员)update_parent
* @author :lyh
* @method :post
* @time :2023/5/17 9:22
*/
public function update_parent($param,$id = ''){
if(!empty($id)){
$param = $this->model->read(['id'=>$id]);
}
//查询当前组是否拥有父类
if($param['pid'] != 0){
$parent_info = $this->model->read(['id'=>$param['pid']]);
//把添加成员合并到上级
$str = trim($param['user_list'].$parent_info['user_list'],',');
$mergedString = ','.implode(',', array_unique(explode(',', $str))).',';
$rs = $this->model->edit(['user_list'=>$mergedString],['id'=>$parent_info['id']]);
if($rs === false){
$this->fail('更新父级失败');
}
//查看当前父级是否还拥有父级
if($parent_info['pid'] != 0){
$rs = $this->update_parent($parent_info);
}
}
return $this->success($rs);
}
}