AdminUserService.php
3.95 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
115
116
117
118
119
<?php
namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\IntracodeModel;
use App\Model\UserDepartmentModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;
class AdminUserService
{
public function getAdminUserInfoByCodeId($codeId)
{
$intraCodeModel = new IntracodeModel();
$userInfoModel = new UserInfoModel();
$adminId = $intraCodeModel->where('code_id', $codeId)->value('admin_id');
return $userInfoModel->where('userId', $adminId)->first();
}
public function getAdminUserNameByCodeId($codeId)
{
$intraCodeModel = new IntracodeModel();
$userInfoModel = new UserInfoModel();
$adminId = $intraCodeModel->where('code_id', $codeId)->value('admin_id');
return $userInfoModel->where('userId', $adminId)->value('name');
}
public function getAdminUserListByCodeIds($codeIds = [])
{
$intraCodeModel = new IntracodeModel();
$userInfoModel = new UserInfoModel();
$adminIds = $intraCodeModel->whereIn('code_id', $codeIds)->pluck('admin_id');
return $userInfoModel->whereIn('userId', $adminIds)->get()->toArray();
}
public function getCodeIdByUserName($userName)
{
$userId = UserInfoModel::where('name', $userName)->value('userId');
$codeId = IntracodeModel::where('admin_id', $userId)->value('code_id');
return $codeId;
}
public function getAdminIdByUserName($userName)
{
return UserInfoModel::where('name', $userName)->value('userId');
}
public function getAdminIdByEmail($email)
{
return UserInfoModel::where('email', $email)->value('userId');
}
public function getCodeIdsByUserId($userId)
{
$intraCodeModel = new IntracodeModel();
return $intraCodeModel->where('admin_id', $userId)->value('code_id');
}
public function getCodeIdsByUserIds($userIds)
{
$intraCodeModel = new IntracodeModel();
return $intraCodeModel->whereIn('admin_id', $userIds)->pluck('code_id');
}
public function getAdminUserInfo($userId)
{
$userInfoModel = new UserInfoModel();
$user = $userInfoModel->where('userId', $userId)->first();
return $user ?: [];
}
//获取离职人员列表
public function getResignedUsers()
{
$userInfoModel = new UserInfoModel();
$users = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id')
->where('user_info.status', 4)->where('lie_intracode.code_id', '!=', '')->get();
return $users ? $users->toArray() : [];
}
//获取未离职人员列表
public function getOnJobUsers()
{
$userInfoModel = new UserInfoModel();
$user = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id')
->where('user_info.status', '!=', 4)->where('lie_intracode.code_id', '!=', '')->get();
return $user ? $user->toArray() : [];
}
//判断是否是离职人员
public function checkIsResignedByCodeId($codeId)
{
$userInfoModel = new UserInfoModel();
$count = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id')
->where('lie_intracode.code_id', $codeId)
->where('user_info.status', 4)->where('lie_intracode.code_id', '!=', '')->count();
return (bool)$count;
}
//获取渠道开发员(运营部)的所有用户信息
public function getPurchaseUsers()
{
$departmentService = new DepartmentService();
//市场部
$usersMarket = $departmentService->getUserByDepartmentId(4);
//运营部
$usersOperation = $departmentService->getUserByDepartmentId(9);
$users = array_merge($usersMarket, $usersOperation);
$userIds = array_column($users, 'userId');
$intraCodeModel = new IntracodeModel();
return $intraCodeModel->getEncodeByUserIds($userIds);
}
}