mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 02:12:53 +00:00
85 lines
3.4 KiB
PHP
85 lines
3.4 KiB
PHP
<?php
|
|
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Module\Base;
|
|
|
|
/**
|
|
* App\Models\UserDelete
|
|
*
|
|
* @property int $id
|
|
* @property int|null $operator 操作人员
|
|
* @property int|null $userid 用户id
|
|
* @property string|null $email 邮箱帐号
|
|
* @property string|null $reason 注销原因
|
|
* @property string|null $cache 会员资料缓存
|
|
* @property \Illuminate\Support\Carbon|null $created_at
|
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelAppend()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel cancelHidden()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel change($array)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel getKeyValue()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete newModelQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete newQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete query()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel remove()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AbstractModel saveOrIgnore()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereCache($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereCreatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereEmail($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereOperator($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereReason($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereUpdatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|UserDelete whereUserid($value)
|
|
* @mixin \Eloquent
|
|
*/
|
|
class UserDelete extends AbstractModel
|
|
{
|
|
public function getCacheAttribute($value)
|
|
{
|
|
if (!is_array($value)) {
|
|
$value = Base::json2array($value);
|
|
// 昵称
|
|
if (!$value['nickname']) {
|
|
$value['nickname'] = Base::formatName($value['email']);
|
|
}
|
|
// 头像
|
|
$value['userimg'] = User::getAvatar($value['userid'], $value['userimg'], $value['email'], $value['nickname']);
|
|
// 部门
|
|
$value['department'] = array_filter(is_array($value['department']) ? $value['department'] : Base::explodeInt($value['department']));
|
|
}
|
|
return $value;
|
|
}
|
|
|
|
/**
|
|
* userid 获取 基础信息
|
|
* @param int $userid 会员ID
|
|
* @return array|null
|
|
*/
|
|
public static function userid2basic($userid)
|
|
{
|
|
return \Cache::remember("UserDelete:{$userid}", now()->addDays(3), function () use ($userid) {
|
|
$row = self::whereUserid($userid)->first();
|
|
if (empty($row) || empty($row->cache)) {
|
|
return null;
|
|
}
|
|
$cache = $row->cache;
|
|
$cache = array_intersect_key($cache, array_flip(array_merge(User::$basicField, ['department_name'])));
|
|
$cache['delete_at'] = $row->created_at->toDateTimeString();
|
|
return $cache;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* userid 获取 昵称
|
|
* @param $userid
|
|
* @return string
|
|
*/
|
|
public static function userid2nickname($userid)
|
|
{
|
|
return self::userid2basic($userid)['nickname'] ?? '';
|
|
}
|
|
}
|