|
@@ -37,7 +37,7 @@ class UseradminController extends Controller
|
|
|
$name = Helper::getPostString('name');
|
|
$name = Helper::getPostString('name');
|
|
|
$name = $name ? '%' . $name : null;
|
|
$name = $name ? '%' . $name : null;
|
|
|
$cri = DbCriteria::simpleCompareWithPage(['name' => $name])
|
|
$cri = DbCriteria::simpleCompareWithPage(['name' => $name])
|
|
|
- ->setSelect('id, name, auth_ids, descr, create_date, show_ids')
|
|
|
|
|
|
|
+ ->setSelect('id, name, auth_ids, descr, create_date, show_ids, date_auth_type')
|
|
|
->setOrder('id desc');
|
|
->setOrder('id desc');
|
|
|
$data = DB::getListWithCriteria('role', $cri);
|
|
$data = DB::getListWithCriteria('role', $cri);
|
|
|
if (!empty($data['records'])) {
|
|
if (!empty($data['records'])) {
|
|
@@ -70,33 +70,49 @@ class UseradminController extends Controller
|
|
|
$cri = DbCriteria::simpleCompareWithPage($filters)
|
|
$cri = DbCriteria::simpleCompareWithPage($filters)
|
|
|
->setAlias('u')
|
|
->setAlias('u')
|
|
|
->setDebugUntil('234', '-1')
|
|
->setDebugUntil('234', '-1')
|
|
|
- ->setSelect('u.id, u.username, r.name as role_name, u.status, u.role_id, u.sex, u.phone, u.create_date, u.avatar, u.update_date, u.company_ids, u.school_ids')
|
|
|
|
|
|
|
+ ->setSelect('u.id, u.username, r.date_auth_type, u.cities, r.name as role_name, u.status, u.role_id, u.sex, u.phone, u.create_date, u.avatar, u.update_date, u.company_ids, u.school_ids')
|
|
|
->setJoin('left join wx_role r on u.role_id = r.id')
|
|
->setJoin('left join wx_role r on u.role_id = r.id')
|
|
|
->setOrder('id desc');
|
|
->setOrder('id desc');
|
|
|
$data = DB::getListWithCriteria('useradmin', $cri);
|
|
$data = DB::getListWithCriteria('useradmin', $cri);
|
|
|
- if (!empty($data['records'])) {
|
|
|
|
|
- $schools = Helper::arrayColumn(
|
|
|
|
|
- DB::getListWithCriteria('school', DbCriteria::simpleCompare([])->setSelect('id, name')),
|
|
|
|
|
- 'name',
|
|
|
|
|
- 'id'
|
|
|
|
|
- );
|
|
|
|
|
- $companys = Helper::arrayColumn(
|
|
|
|
|
- DB::getListWithCriteria('company', DbCriteria::simpleCompare([])->setSelect('id, name')),
|
|
|
|
|
- 'name',
|
|
|
|
|
- 'id'
|
|
|
|
|
- );
|
|
|
|
|
- $data['records'] = array_map(function ($item) use ($schools, $companys) {
|
|
|
|
|
- $item['avatar'] = Helper::getImageUrl($item['avatar']);
|
|
|
|
|
|
|
+ if (empty($data['records'])) {
|
|
|
|
|
+ Helper::ok([]);
|
|
|
|
|
+ }
|
|
|
|
|
+ $schools = Helper::arrayColumn(
|
|
|
|
|
+ DB::getListWithCriteria('school', DbCriteria::simpleCompare([])->setSelect('id, name')),
|
|
|
|
|
+ 'name',
|
|
|
|
|
+ 'id'
|
|
|
|
|
+ );
|
|
|
|
|
+ $companys = Helper::arrayColumn(
|
|
|
|
|
+ DB::getListWithCriteria('company', DbCriteria::simpleCompare([])->setSelect('id, name')),
|
|
|
|
|
+ 'name',
|
|
|
|
|
+ 'id'
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ foreach ($data['records'] as &$item) {
|
|
|
|
|
+ $item['avatar'] = Helper::getImageUrl($item['avatar']);
|
|
|
|
|
+ if ($item['date_auth_type'] == AUTH_TYPE_CITY) {
|
|
|
|
|
+ $item['company_ids'] = [];
|
|
|
|
|
+ $item['school_ids'] = [];
|
|
|
|
|
+ $item['company_names'] = [];
|
|
|
|
|
+ $item['school_names'] = [];
|
|
|
|
|
+ $item['cities'] = array_filter(explode(',', $item['cities']));
|
|
|
|
|
+ } elseif ($item['date_auth_type'] == AUTH_TYPE_ALL) {
|
|
|
|
|
+ $item['company_ids'] = [];
|
|
|
|
|
+ $item['school_ids'] = [];
|
|
|
|
|
+ $item['cities'] = ['全部'];
|
|
|
|
|
+ $item['company_names'] = ['全部'];
|
|
|
|
|
+ $item['school_names'] = ['全部'];
|
|
|
|
|
+ } else {
|
|
|
$item['company_ids'] = $item['company_ids'] ? array_map(function ($item) {return (int)$item;}, explode(',', $item['company_ids'])) : [];
|
|
$item['company_ids'] = $item['company_ids'] ? array_map(function ($item) {return (int)$item;}, explode(',', $item['company_ids'])) : [];
|
|
|
$item['school_ids'] = $item['school_ids'] ? array_map(function ($item) {return (int)$item;}, explode(',', $item['school_ids'])) : [];
|
|
$item['school_ids'] = $item['school_ids'] ? array_map(function ($item) {return (int)$item;}, explode(',', $item['school_ids'])) : [];
|
|
|
|
|
+ $item['cities'] = [];
|
|
|
$item['company_names'] = array_map(function ($item) use ($companys) {
|
|
$item['company_names'] = array_map(function ($item) use ($companys) {
|
|
|
if (isset($companys[$item])) return $companys[$item];
|
|
if (isset($companys[$item])) return $companys[$item];
|
|
|
}, $item['company_ids']);
|
|
}, $item['company_ids']);
|
|
|
$item['school_names'] = array_map(function ($item) use ($schools) {
|
|
$item['school_names'] = array_map(function ($item) use ($schools) {
|
|
|
if (isset($schools[$item])) return $schools[$item];
|
|
if (isset($schools[$item])) return $schools[$item];
|
|
|
}, $item['school_ids']);
|
|
}, $item['school_ids']);
|
|
|
- return $item;
|
|
|
|
|
- }, $data['records']);
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
Helper::ok($data);
|
|
Helper::ok($data);
|
|
|
}
|
|
}
|
|
@@ -122,6 +138,25 @@ class UseradminController extends Controller
|
|
|
Helper::ok();
|
|
Helper::ok();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function actionSaveDataAuth()
|
|
|
|
|
+ {
|
|
|
|
|
+ $id = Helper::getPostInt('id');
|
|
|
|
|
+ $authType = Helper::getPostInt('auth_type');
|
|
|
|
|
+ if ($id < 0 || !in_array($authType, [0, 1, 2])) {
|
|
|
|
|
+ Helper::error('参数错误');
|
|
|
|
|
+ }
|
|
|
|
|
+ $info = [
|
|
|
|
|
+ 'date_auth_type' => $authType,
|
|
|
|
|
+ ];
|
|
|
|
|
+ DB::updateById('role', $info, $id);
|
|
|
|
|
+ $users = DB::getListWithCriteria('useradmin', DbCriteria::simpleCompare(['role_id' => $id])->setSelect('id'))?:[];
|
|
|
|
|
+ Logger::errorMult('auth_change', $users);
|
|
|
|
|
+ foreach ($users['records'] as $user) {
|
|
|
|
|
+ $this->clearAuth($user['id']);
|
|
|
|
|
+ }
|
|
|
|
|
+ Helper::ok();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function actionEditUser()
|
|
public function actionEditUser()
|
|
|
{
|
|
{
|
|
|
$id = Helper::getPostInt('id');
|
|
$id = Helper::getPostInt('id');
|
|
@@ -132,6 +167,7 @@ class UseradminController extends Controller
|
|
|
$role_id = Helper::getPostInt('role_id');
|
|
$role_id = Helper::getPostInt('role_id');
|
|
|
$company_ids = Helper::getArrParam($_POST, 'company_ids', 'array_int', []);
|
|
$company_ids = Helper::getArrParam($_POST, 'company_ids', 'array_int', []);
|
|
|
$school_ids = Helper::getArrParam($_POST, 'school_ids', 'array_int', []);
|
|
$school_ids = Helper::getArrParam($_POST, 'school_ids', 'array_int', []);
|
|
|
|
|
+ $cities = Helper::getArrParam($_POST, 'cities', 'array_string', []);
|
|
|
// username不能为空和重复
|
|
// username不能为空和重复
|
|
|
if (!$username) {
|
|
if (!$username) {
|
|
|
Helper::error('用户名不能为空');
|
|
Helper::error('用户名不能为空');
|
|
@@ -151,6 +187,7 @@ class UseradminController extends Controller
|
|
|
'role_id' => $role_id,
|
|
'role_id' => $role_id,
|
|
|
'company_ids' => $company_ids ? implode(',', $company_ids) : '',
|
|
'company_ids' => $company_ids ? implode(',', $company_ids) : '',
|
|
|
'school_ids' => $school_ids ? implode(',', $school_ids) : '',
|
|
'school_ids' => $school_ids ? implode(',', $school_ids) : '',
|
|
|
|
|
+ 'cities' => $cities ? implode(',', $cities) : '',
|
|
|
];
|
|
];
|
|
|
if (!$id) {
|
|
if (!$id) {
|
|
|
// 新增用户
|
|
// 新增用户
|