|
|
@@ -16,105 +16,65 @@ class Taskorderguquan
|
|
16
|
16
|
|
|
17
|
17
|
public function assignment()
|
|
18
|
18
|
{
|
|
19
|
|
- try {
|
|
20
|
|
- // 1. 获取所有用户数据(按level_id正序排序保证父级在前)
|
|
21
|
|
- $users = Db::name('user')
|
|
22
|
|
- ->where('is_del', '=', 0)
|
|
23
|
|
- ->where('status', '=', 1)
|
|
24
|
|
- ->where('user_group', '>=', 2)
|
|
25
|
|
- ->order('level_id', 'asc')
|
|
26
|
|
- ->field('uid,account,nickname,level_id,is_del,status,user_group')
|
|
27
|
|
- ->select()
|
|
28
|
|
- ->toArray();
|
|
29
|
|
-
|
|
30
|
|
- // 2. 构建以UID为键的映射表
|
|
31
|
|
- $userMap = [];
|
|
32
|
|
- foreach ($users as $user) {
|
|
33
|
|
- $user['children'] = []; // 初始化子节点
|
|
34
|
|
- $userMap[$user['uid']] = [
|
|
35
|
|
- '用户ID' => $user['uid'],
|
|
36
|
|
- '用户账号' => $user['account'],
|
|
37
|
|
- '用户昵称' => $user['nickname'],
|
|
38
|
|
- '用户身份' => $user['user_group'],
|
|
39
|
|
- '上级用户ID' => $user['level_id'],
|
|
40
|
|
- '直属下级用户人数' => 0,
|
|
41
|
|
- '直属下级用户列表' => $user['children'],
|
|
42
|
|
- ];
|
|
43
|
|
- }
|
|
44
|
|
-
|
|
45
|
|
- // 3. 递归构建树形结构
|
|
46
|
|
- $tree = [];
|
|
47
|
|
- foreach ($userMap as $uid => &$user) {
|
|
48
|
|
- $parentId = $user['上级用户ID'];
|
|
49
|
|
-
|
|
50
|
|
- if ($parentId == 0) {
|
|
51
|
|
- // 顶级节点直接加入树
|
|
52
|
|
- $tree[] = &$user;
|
|
53
|
|
- } elseif (isset($userMap[$parentId])) {
|
|
54
|
|
- // 非顶级节点加入父节点的children
|
|
55
|
|
- $userMap[$parentId]['直属下级用户列表'][] = &$user;
|
|
56
|
|
- $userMap[$parentId]['直属下级用户人数']++;
|
|
57
|
|
- }
|
|
58
|
|
- }
|
|
59
|
|
- unset($user); // 销毁引用
|
|
60
|
|
-
|
|
61
|
|
- return json($tree);
|
|
62
|
|
- } catch (\Exception $e) {
|
|
63
|
|
- // 记录错误日志
|
|
64
|
|
- return json(['code' => 0, 'msg' => '树结构生成失败']);
|
|
65
|
|
- }
|
|
66
|
19
|
|
|
67
|
20
|
/**
|
|
68
|
|
- * 8000元补贴下面人员
|
|
69
|
|
- * 13231658486周行体1000
|
|
70
|
|
- * 13333069689魏惠新1000
|
|
|
21
|
+ * 10000元补贴下面人员
|
|
|
22
|
+ * 13231658486周行体1500
|
|
|
23
|
+ * 13333069689魏惠新2000
|
|
71
|
24
|
* 13959100621周金花500
|
|
72
|
|
- * 13701061395李素红300
|
|
73
|
|
- * 17501006833邢艳丽300
|
|
|
25
|
+ * 13701061395李素红500
|
|
|
26
|
+ * 17501006833邢艳丽500
|
|
74
|
27
|
* 15631982690魏震洪400
|
|
75
|
28
|
* 18603401312黄金花400
|
|
76
|
|
- * 13521438652徐立苹300
|
|
|
29
|
+ * 13521438652徐立苹500
|
|
77
|
30
|
* 15832971815孟晓玮500
|
|
78
|
31
|
* 18600200909陈冠霖500
|
|
79
|
32
|
* 18001316701闫旭400
|
|
80
|
|
- * 13811180929周京晨500
|
|
81
|
|
- * 15810064711 王玲 300
|
|
|
33
|
+ * 15810064711 王 玲 500
|
|
|
34
|
+ * 13932925303会强400
|
|
82
|
35
|
* 15321221558李伟300
|
|
83
|
|
- * 15373282785天一500
|
|
84
|
36
|
* 15232797965侯玉兰50
|
|
85
|
|
- * 13601071082隋彩云100
|
|
|
37
|
+ * 13601071082隋彩云300
|
|
86
|
38
|
* 13161909228刘银霞50
|
|
87
|
39
|
* 18760167163刘春梅50
|
|
|
40
|
+ * 18911752386魏利琴50
|
|
88
|
41
|
* 13215917919李小秋50
|
|
|
42
|
+ * 15332507711张传莲50
|
|
89
|
43
|
* 18715313601大饼500
|
|
90
|
44
|
*
|
|
91
|
|
- * 共计8000元
|
|
|
45
|
+ * 计10000元
|
|
|
46
|
+ *
|
|
|
47
|
+ * 2000转给周军VR市场使用
|
|
|
48
|
+ *
|
|
|
49
|
+ * 43258.35做合伙人分红
|
|
92
|
50
|
*
|
|
93
|
|
- * 5.7万做股权,联创,合伙人分红
|
|
|
51
|
+ * 共计55258.35
|
|
94
|
52
|
*/
|
|
95
|
53
|
$data = [
|
|
96
|
|
- '13231658486' => 1000,
|
|
97
|
|
- '13333069689' => 1000,
|
|
|
54
|
+ '13231658486' => 1500,
|
|
|
55
|
+ '13333069689' => 2000,
|
|
98
|
56
|
'13959100621' => 500,
|
|
99
|
|
- '13701061395' => 300,
|
|
100
|
|
- '17501006833' => 300,
|
|
|
57
|
+ '13701061395' => 500,
|
|
|
58
|
+ '17501006833' => 500,
|
|
101
|
59
|
'15631982690' => 400,
|
|
102
|
60
|
'18603401312' => 400,
|
|
103
|
|
- '13521438652' => 300,
|
|
|
61
|
+ '13521438652' => 500,
|
|
104
|
62
|
'15832971815' => 500,
|
|
105
|
63
|
'18600200909' => 500,
|
|
106
|
64
|
'18001316701' => 400,
|
|
107
|
|
- '13811180929' => 500,
|
|
108
|
|
- '15810064711' => 300,
|
|
|
65
|
+ '15810064711' => 500,
|
|
|
66
|
+ '13932925303' => 400,
|
|
109
|
67
|
'15321221558' => 300,
|
|
110
|
|
- '15373282785' => 500,
|
|
111
|
68
|
'15232797965' => 50,
|
|
112
|
|
- '13601071082' => 100,
|
|
|
69
|
+ '13601071082' => 300,
|
|
113
|
70
|
'13161909228' => 50,
|
|
114
|
71
|
'18760167163' => 50,
|
|
|
72
|
+ '18911752386' => 50,
|
|
115
|
73
|
'13215917919' => 50,
|
|
|
74
|
+ '15332507711' => 50,
|
|
116
|
75
|
'18715313601' => 500,
|
|
117
|
76
|
];
|
|
|
77
|
+
|
|
118
|
78
|
$result = Db::name("user")
|
|
119
|
79
|
->whereIn("account", array_keys($data))
|
|
120
|
80
|
->where('is_del', 0)
|
|
|
@@ -141,6 +101,54 @@ class Taskorderguquan
|
|
141
|
101
|
}
|
|
142
|
102
|
return json($res);
|
|
143
|
103
|
|
|
|
104
|
+ try {
|
|
|
105
|
+ // 1. 获取所有用户数据(按level_id正序排序保证父级在前)
|
|
|
106
|
+ $users = Db::name('user')
|
|
|
107
|
+ ->where('is_del', '=', 0)
|
|
|
108
|
+ ->where('status', '=', 1)
|
|
|
109
|
+ ->where('user_group', '>=', 2)
|
|
|
110
|
+ ->order('level_id', 'asc')
|
|
|
111
|
+ ->field('uid,account,nickname,level_id,is_del,status,user_group')
|
|
|
112
|
+ ->select()
|
|
|
113
|
+ ->toArray();
|
|
|
114
|
+
|
|
|
115
|
+ // 2. 构建以UID为键的映射表
|
|
|
116
|
+ $userMap = [];
|
|
|
117
|
+ foreach ($users as $user) {
|
|
|
118
|
+ $user['children'] = []; // 初始化子节点
|
|
|
119
|
+ $userMap[$user['uid']] = [
|
|
|
120
|
+ '用户ID' => $user['uid'],
|
|
|
121
|
+ '用户账号' => $user['account'],
|
|
|
122
|
+ '用户昵称' => $user['nickname'],
|
|
|
123
|
+ '用户身份' => $user['user_group'],
|
|
|
124
|
+ '上级用户ID' => $user['level_id'],
|
|
|
125
|
+ '直属下级用户人数' => 0,
|
|
|
126
|
+ '直属下级用户列表' => $user['children'],
|
|
|
127
|
+ ];
|
|
|
128
|
+ }
|
|
|
129
|
+
|
|
|
130
|
+ // 3. 递归构建树形结构
|
|
|
131
|
+ $tree = [];
|
|
|
132
|
+ foreach ($userMap as $uid => &$user) {
|
|
|
133
|
+ $parentId = $user['上级用户ID'];
|
|
|
134
|
+
|
|
|
135
|
+ if ($parentId == 0) {
|
|
|
136
|
+ // 顶级节点直接加入树
|
|
|
137
|
+ $tree[] = &$user;
|
|
|
138
|
+ } elseif (isset($userMap[$parentId])) {
|
|
|
139
|
+ // 非顶级节点加入父节点的children
|
|
|
140
|
+ $userMap[$parentId]['直属下级用户列表'][] = &$user;
|
|
|
141
|
+ $userMap[$parentId]['直属下级用户人数']++;
|
|
|
142
|
+ }
|
|
|
143
|
+ }
|
|
|
144
|
+ unset($user); // 销毁引用
|
|
|
145
|
+
|
|
|
146
|
+ return json($tree);
|
|
|
147
|
+ } catch (\Exception $e) {
|
|
|
148
|
+ // 记录错误日志
|
|
|
149
|
+ return json(['code' => 0, 'msg' => '树结构生成失败']);
|
|
|
150
|
+ }
|
|
|
151
|
+
|
|
144
|
152
|
|
|
145
|
153
|
$result = [
|
|
146
|
154
|
'oldOrderExistGongXian' => [],
|