pref: 禁用会员记录禁用时间
This commit is contained in:
parent
369e75cb7e
commit
4d9dd13ffb
@ -316,11 +316,12 @@ class UsersController extends AbstractController
|
|||||||
* @apiName searchinfo
|
* @apiName searchinfo
|
||||||
*
|
*
|
||||||
* @apiParam {Object} keys 搜索条件
|
* @apiParam {Object} keys 搜索条件
|
||||||
* - keys.key 昵称、邮箱
|
* - keys.key 昵称、邮箱关键字
|
||||||
|
* - keys.disable 0-排除禁止(默认),1-含禁止,2-仅禁止
|
||||||
* - keys.project_id 在指定项目ID
|
* - keys.project_id 在指定项目ID
|
||||||
* - keys.no_project_id 不在指定项目ID
|
* - keys.no_project_id 不在指定项目ID
|
||||||
* @apiParam {Object} sorts 排序方式
|
* @apiParam {Object} sorts 排序方式
|
||||||
* - sorts.az 字母
|
* - sorts.az 按字母:asc|desc
|
||||||
*
|
*
|
||||||
* @apiParam {Number} [take] 获取数量,10-100
|
* @apiParam {Number} [take] 获取数量,10-100
|
||||||
* @apiParam {Number} [page] 当前页,默认:1(赋值分页模式,take参数无效)
|
* @apiParam {Number} [page] 当前页,默认:1(赋值分页模式,take参数无效)
|
||||||
@ -336,13 +337,20 @@ class UsersController extends AbstractController
|
|||||||
//
|
//
|
||||||
$keys = Request::input('keys');
|
$keys = Request::input('keys');
|
||||||
$sorts = Request::input('sorts');
|
$sorts = Request::input('sorts');
|
||||||
if (is_array($keys)) {
|
$keys = is_array($keys) ? $keys : [];
|
||||||
|
$sorts = is_array($sorts) ? $sorts : [];
|
||||||
|
//
|
||||||
if ($keys['key']) {
|
if ($keys['key']) {
|
||||||
$builder->where(function($query) use ($keys) {
|
$builder->where(function($query) use ($keys) {
|
||||||
$query->where("email", "like", "%{$keys['key']}%")
|
$query->where("email", "like", "%{$keys['key']}%")
|
||||||
->orWhere("nickname", "like", "%{$keys['key']}%");
|
->orWhere("nickname", "like", "%{$keys['key']}%");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (intval($keys['disable']) == 0) {
|
||||||
|
$builder->whereNull("disable_at");
|
||||||
|
} elseif (intval($keys['disable']) == 2) {
|
||||||
|
$builder->whereNotNull("disable_at");
|
||||||
|
}
|
||||||
if (intval($keys['project_id']) > 0) {
|
if (intval($keys['project_id']) > 0) {
|
||||||
$builder->whereIn('userid', function ($query) use ($keys) {
|
$builder->whereIn('userid', function ($query) use ($keys) {
|
||||||
$query->select('userid')->from('project_users')->where('project_id', $keys['project_id']);
|
$query->select('userid')->from('project_users')->where('project_id', $keys['project_id']);
|
||||||
@ -353,12 +361,9 @@ class UsersController extends AbstractController
|
|||||||
$query->select('userid')->from('project_users')->where('project_id', $keys['no_project_id']);
|
$query->select('userid')->from('project_users')->where('project_id', $keys['no_project_id']);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (is_array($sorts)) {
|
|
||||||
if (in_array($sorts['az'], ['asc', 'desc'])) {
|
if (in_array($sorts['az'], ['asc', 'desc'])) {
|
||||||
$builder->orderBy('az', $sorts['az']);
|
$builder->orderBy('az', $sorts['az']);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//
|
//
|
||||||
if (Request::exists('page')) {
|
if (Request::exists('page')) {
|
||||||
$list = $builder->orderBy('userid')->paginate(Base::getPaginate(100, 10));
|
$list = $builder->orderBy('userid')->paginate(Base::getPaginate(100, 10));
|
||||||
@ -484,10 +489,12 @@ class UsersController extends AbstractController
|
|||||||
case 'setdisable':
|
case 'setdisable':
|
||||||
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
||||||
$upArray['identity'][] = 'disable';
|
$upArray['identity'][] = 'disable';
|
||||||
|
$upArray['disable_at'] = Carbon::now();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'cleardisable':
|
case 'cleardisable':
|
||||||
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
||||||
|
$upArray['disable_at'] = null;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
|
@ -59,6 +59,7 @@ class User extends AbstractModel
|
|||||||
protected $primaryKey = 'userid';
|
protected $primaryKey = 'userid';
|
||||||
|
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
|
'disable_at',
|
||||||
'updated_at',
|
'updated_at',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class FileUsersAddPermission extends Migration
|
|||||||
public function down()
|
public function down()
|
||||||
{
|
{
|
||||||
Schema::table('file_users', function (Blueprint $table) {
|
Schema::table('file_users', function (Blueprint $table) {
|
||||||
//
|
$table->dropColumn("permission");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class UsersAddDisableAt extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
$isAdd = false;
|
||||||
|
Schema::table('users', function (Blueprint $table) use (&$isAdd) {
|
||||||
|
if (!Schema::hasColumn('users', 'disable_at')) {
|
||||||
|
$isAdd = true;
|
||||||
|
$table->timestamp('disable_at')->nullable()->after('created_ip')->comment('禁用时间');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if ($isAdd) {
|
||||||
|
User::where("identity", "like", "%,disable,%")->update([
|
||||||
|
'disable_at' => Carbon::now(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('users', function (Blueprint $table) {
|
||||||
|
$table->dropColumn("disable_at");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -40,6 +40,7 @@ class UsersTableSeeder extends Seeder
|
|||||||
'line_at' => seeders_at('2021-07-01 17:43:48'),
|
'line_at' => seeders_at('2021-07-01 17:43:48'),
|
||||||
'task_dialog_id' => 18,
|
'task_dialog_id' => 18,
|
||||||
'created_ip' => '',
|
'created_ip' => '',
|
||||||
|
'disable_at' => null,
|
||||||
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
||||||
'updated_at' => seeders_at('2021-07-01 17:43:48'),
|
'updated_at' => seeders_at('2021-07-01 17:43:48'),
|
||||||
),
|
),
|
||||||
@ -62,6 +63,7 @@ class UsersTableSeeder extends Seeder
|
|||||||
'line_at' => seeders_at('2021-07-01 16:57:40'),
|
'line_at' => seeders_at('2021-07-01 16:57:40'),
|
||||||
'task_dialog_id' => 16,
|
'task_dialog_id' => 16,
|
||||||
'created_ip' => '',
|
'created_ip' => '',
|
||||||
|
'disable_at' => null,
|
||||||
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:58:00'),
|
'updated_at' => seeders_at('2021-07-01 16:58:00'),
|
||||||
),
|
),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user