Преглед изворни кода

feat(user): 在用户树结构中添加身份信息显示

- 查询用户数据时增加 user_group 字段
- 添加用户身份映射数组,定义从1到7的身份级别
- 在用户名称后添加身份信息显示,格式为"(身份:X)"
- 修改 buildTree 方法参数以传递身份映射
- 更新父节点名称构造逻辑以包含身份信息
shichen пре 5 месеци
родитељ
комит
b24734de2c
1 измењених фајлова са 20 додато и 9 уклоњено
  1. 20 9
      app/common/repositories/user/UserRepository.php

+ 20 - 9
app/common/repositories/user/UserRepository.php

@@ -4930,21 +4930,32 @@ class UserRepository extends BaseRepository
4930 4930
     public function getUserForTree($field,$parentId = 0)
4931 4931
     {
4932 4932
         // 获取所有用户数据
4933
-        $users = $this->dao->selectWhere(['is_del'=>0], 'uid,' . $field . ',nickname,account');
4933
+        $users = $this->dao->selectWhere(['is_del'=>0], 'uid,' . $field . ',nickname,account,user_group');
4934 4934
         if (empty($users)) {
4935 4935
             return [];
4936 4936
         }
4937 4937
         $users = $users->toArray();
4938
-        
4938
+
4939
+        // 用户身份
4940
+        $userGroup = [
4941
+            1 => '用户',
4942
+            2 => '业务员',
4943
+            3 => '业务经理',
4944
+            4 => '初级合伙人',
4945
+            5 => '中级合伙人',
4946
+            6 => '高级合伙人',
4947
+            7 => '董事',
4948
+        ];
4949
+
4939 4950
         // 创建uid到昵称的映射
4940 4951
         $idToName = [];
4941 4952
         foreach ($users as $user) {
4942
-            $idToName[$user['uid']] = $user['nickname'] . '(' . $user['account'] .')' ?? ('用户' . $user['uid']);
4953
+            $idToName[$user['uid']] = $user['nickname'] . '(' . $user['account'] .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $user['uid']);
4943 4954
         }
4944 4955
         
4945 4956
         // 构建树
4946
-        $tree = $this->buildTree($users, $parentId, $field, $idToName);
4947
-        
4957
+        $tree = $this->buildTree($users, $parentId, $field, $idToName, $userGroup);
4958
+
4948 4959
         // 如果parentId大于0,需要返回以该用户为根节点的树
4949 4960
         if ($parentId > 0) {
4950 4961
             // 查找parentId对应的用户
@@ -4963,7 +4974,7 @@ class UserRepository extends BaseRepository
4963 4974
                 
4964 4975
                 // 构建以该用户为根节点的树
4965 4976
                 $parentNode = [
4966
-                    'name' => $parentUser['nickname']. '(' . $parentUser['account'] .')' ?? ('用户' . $parentUser['uid']),
4977
+                    'name' => $parentUser['nickname']. '(' .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $parentUser['uid']),
4967 4978
                     'parent' => $userParentName,
4968 4979
                     'parentId' => $userParentId > 0 ? $userParentId : null,
4969 4980
                     'children' => $tree // 子节点就是之前构建的树
@@ -4986,14 +4997,14 @@ class UserRepository extends BaseRepository
4986 4997
      * @param array $idToName uid到昵称的映射
4987 4998
      * @return array
4988 4999
      */
4989
-    private function buildTree($users, $parentId, $field, $idToName)
5000
+    private function buildTree($users, $parentId, $field, $idToName,$userGroup)
4990 5001
     {
4991 5002
         $branch = [];
4992 5003
         foreach ($users as $user) {
4993 5004
             if ($user[$field] == $parentId) {
4994
-                $children = $this->buildTree($users, $user['uid'], $field, $idToName);
5005
+                $children = $this->buildTree($users, $user['uid'], $field, $idToName,$userGroup);
4995 5006
                 $node = [
4996
-                    'name' => $user['nickname']. '(' . $user['account'] .')' ?? ('用户' . $user['uid']),
5007
+                    'name' => $user['nickname']. '(' . $user['account'] .')(身份:' . $userGroup[$user['user_group']] . ')' ?? ('用户' . $user['uid']),
4997 5008
                     'parent' => $parentId == 0 ? null : ($idToName[$parentId] ?? null),
4998 5009
                     'parentId' => $parentId == 0 ? null : $parentId,
4999 5010
                     'children' => $children