Server : nginx/1.20.1
System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64
User : www ( 1000)
PHP Version : 7.3.28
Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/0531yanglao.com/app/admin/service/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/0531yanglao.com/app/admin/service/AdminMyService.php
<?php
/*
 * @Description  : 个人中心
 * @Author       : https://github.com/skyselang
 * @Date         : 2020-10-12
 * @LastEditTime : 2021-03-20
 */

namespace app\admin\service;

use think\facade\Db;
use think\facade\Filesystem;
use app\common\cache\AdminUserCache;

class AdminMyService
{
    /**
     * 我的信息
     *
     * @param integer $admin_user_id 管理员id
     * 
     * @return array
     */
    public static function info($admin_user_id)
    {
        $admin_user = AdminUserService::info($admin_user_id);

        $data['admin_user_id'] = $admin_user['admin_user_id'];
        $data['avatar']        = $admin_user['avatar'];
        $data['username']      = $admin_user['username'];
        $data['nickname']      = $admin_user['nickname'];
        $data['email']         = $admin_user['email'];
        $data['create_time']   = $admin_user['create_time'];
        $data['update_time']   = $admin_user['update_time'];
        $data['login_time']    = $admin_user['login_time'];
        $data['logout_time']   = $admin_user['logout_time'];
        $data['is_delete']     = $admin_user['is_delete'];
        $data['roles']         = $admin_user['roles'];
        //$data['menu_tree']         = $admin_user['menu_tree'];

        return $data;
    }

    /**
     * 修改信息
     *
     * @param array $param 管理员信息
     * 
     * @return array
     */
    public static function edit($param, $method = 'get')
    {
        $admin_user_id = $param['admin_user_id'];

        if ($method == 'get') {
            $admin_user = self::info($admin_user_id);

            $data['admin_user_id'] = $admin_user['admin_user_id'];
            $data['username']      = $admin_user['username'];
            $data['nickname']      = $admin_user['nickname'];
            $data['email']         = $admin_user['email'];
            $data['is_delete']     = $admin_user['is_delete'];

            return $data;
        } else {
            unset($param['admin_user_id']);

            $param['update_time'] = datetime();

            $res = Db::name('admin_user')
                ->where('admin_user_id', $admin_user_id)
                ->update($param);

            if (empty($res)) {
                exception();
            }

            $param['admin_user_id'] = $admin_user_id;

            AdminUserCache::upd($admin_user_id);

            return $param;
        }
    }

    /**
     * 修改密码
     *
     * @param array $param 管理员密码
     * 
     * @return array
     */
    public static function pwd($param)
    {
        $admin_user_id = $param['admin_user_id'];
        $password_old  = $param['password_old'];
        $password_new  = $param['password_new'];

        $admin_user = AdminUserService::info($admin_user_id);

        if (md5($password_old) != $admin_user['password']) {
            exception('旧密码错误');
        }

        $update['password']    = md5($password_new);
        $update['update_time'] = datetime();

        $res = Db::name('admin_user')
            ->where('admin_user_id', $admin_user_id)
            ->update($update);

        if (empty($res)) {
            exception();
        }

        $update['admin_user_id'] = $admin_user_id;
        $update['password']      = $res;

        AdminUserCache::upd($admin_user_id);

        return $update;
    }

    /**
     * 更换头像
     *
     * @param array $param 头像信息
     * 
     * @return array
     */
    public static function avatar($param)
    {
        $admin_user_id = $param['admin_user_id'];
        $avatar        = $param['avatar'];

        $avatar_name = Filesystem::disk('public')
            ->putFile('admin_user', $avatar, function () use ($admin_user_id) {
                return $admin_user_id . '/' . $admin_user_id . '_avatar';
            });

        $update['avatar']      = 'storage/' . $avatar_name . '?t=' . date('YmdHis');
        $update['update_time'] = datetime();

        $res = Db::name('admin_user')
            ->where('admin_user_id', $admin_user_id)
            ->update($update);

        if (empty($res)) {
            exception();
        }

        AdminUserCache::upd($admin_user_id);
        $admin_user = AdminUserService::info($admin_user_id);

        $data['admin_user_id'] = $admin_user['admin_user_id'];
        $data['update_time']   = $admin_user['update_time'];
        $data['avatar']        = $admin_user['avatar'];

        return $data;
    }

    /**
     * 我的日志
     *
     * @param array   $where 条件
     * @param integer $page  页数
     * @param integer $limit 数量
     * @param array   $order 排序
     * @param string  $field 字段
     * 
     * @return array 
     */
    public static function log($where = [], $page = 1, $limit = 10,  $order = [], $field = '')
    {
        $data = AdminLogService::list($where, $page, $limit, $order, $field);

        return $data;
    }
}