pref: 禁用会员记录禁用时间
This commit is contained in:
parent
369e75cb7e
commit
4d9dd13ffb
@ -316,11 +316,12 @@ class UsersController extends AbstractController
|
||||
* @apiName searchinfo
|
||||
*
|
||||
* @apiParam {Object} keys 搜索条件
|
||||
* - keys.key 昵称、邮箱
|
||||
* - keys.key 昵称、邮箱关键字
|
||||
* - keys.disable 0-排除禁止(默认),1-含禁止,2-仅禁止
|
||||
* - keys.project_id 在指定项目ID
|
||||
* - keys.no_project_id 不在指定项目ID
|
||||
* @apiParam {Object} sorts 排序方式
|
||||
* - sorts.az 字母
|
||||
* - sorts.az 按字母:asc|desc
|
||||
*
|
||||
* @apiParam {Number} [take] 获取数量,10-100
|
||||
* @apiParam {Number} [page] 当前页,默认:1(赋值分页模式,take参数无效)
|
||||
@ -336,28 +337,32 @@ class UsersController extends AbstractController
|
||||
//
|
||||
$keys = Request::input('keys');
|
||||
$sorts = Request::input('sorts');
|
||||
if (is_array($keys)) {
|
||||
if ($keys['key']) {
|
||||
$builder->where(function($query) use ($keys) {
|
||||
$query->where("email", "like", "%{$keys['key']}%")
|
||||
->orWhere("nickname", "like", "%{$keys['key']}%");
|
||||
});
|
||||
}
|
||||
if (intval($keys['project_id']) > 0) {
|
||||
$builder->whereIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['project_id']);
|
||||
});
|
||||
}
|
||||
if (intval($keys['no_project_id']) > 0) {
|
||||
$builder->whereNotIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['no_project_id']);
|
||||
});
|
||||
}
|
||||
$keys = is_array($keys) ? $keys : [];
|
||||
$sorts = is_array($sorts) ? $sorts : [];
|
||||
//
|
||||
if ($keys['key']) {
|
||||
$builder->where(function($query) use ($keys) {
|
||||
$query->where("email", "like", "%{$keys['key']}%")
|
||||
->orWhere("nickname", "like", "%{$keys['key']}%");
|
||||
});
|
||||
}
|
||||
if (is_array($sorts)) {
|
||||
if (in_array($sorts['az'], ['asc', 'desc'])) {
|
||||
$builder->orderBy('az', $sorts['az']);
|
||||
}
|
||||
if (intval($keys['disable']) == 0) {
|
||||
$builder->whereNull("disable_at");
|
||||
} elseif (intval($keys['disable']) == 2) {
|
||||
$builder->whereNotNull("disable_at");
|
||||
}
|
||||
if (intval($keys['project_id']) > 0) {
|
||||
$builder->whereIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['project_id']);
|
||||
});
|
||||
}
|
||||
if (intval($keys['no_project_id']) > 0) {
|
||||
$builder->whereNotIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['no_project_id']);
|
||||
});
|
||||
}
|
||||
if (in_array($sorts['az'], ['asc', 'desc'])) {
|
||||
$builder->orderBy('az', $sorts['az']);
|
||||
}
|
||||
//
|
||||
if (Request::exists('page')) {
|
||||
@ -484,10 +489,12 @@ class UsersController extends AbstractController
|
||||
case 'setdisable':
|
||||
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
||||
$upArray['identity'][] = 'disable';
|
||||
$upArray['disable_at'] = Carbon::now();
|
||||
break;
|
||||
|
||||
case 'cleardisable':
|
||||
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
|
||||
$upArray['disable_at'] = null;
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
|
@ -59,6 +59,7 @@ class User extends AbstractModel
|
||||
protected $primaryKey = 'userid';
|
||||
|
||||
protected $hidden = [
|
||||
'disable_at',
|
||||
'updated_at',
|
||||
];
|
||||
|
||||
|
@ -49,7 +49,7 @@ class FileUsersAddPermission extends Migration
|
||||
public function down()
|
||||
{
|
||||
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'),
|
||||
'task_dialog_id' => 18,
|
||||
'created_ip' => '',
|
||||
'disable_at' => null,
|
||||
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
||||
'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'),
|
||||
'task_dialog_id' => 16,
|
||||
'created_ip' => '',
|
||||
'disable_at' => null,
|
||||
'created_at' => seeders_at('2021-07-01 11:01:14'),
|
||||
'updated_at' => seeders_at('2021-07-01 16:58:00'),
|
||||
),
|
||||
|
Loading…
x
Reference in New Issue
Block a user