/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */
package com.yami.shop.security.admin.util;

import com.yami.shop.security.admin.model.YamiSysUser;
import com.yami.shop.security.common.bo.UserInfoInTokenBO;
import com.yami.shop.security.common.util.AuthUserContext;
import lombok.experimental.UtilityClass;

/**
 * SecurityUtils 类是一个工具类，位于 com.yami.shop.security.admin.util 包下。
 * 它提供了一个静态方法 getSysUser()，用于获取当前登录用户的系统用户信息。
 * 这个类使用了 Lombok 的 @UtilityClass 注解，表明它是一个工具类，包含一些静态实用方法。
 *
 * @author LGH
 */
@UtilityClass
public class SecurityUtils {
    /**
     * 获取用户
     *
     * @return 返回当前登录用户的系统用户信息
     */
    public YamiSysUser getSysUser() {
        UserInfoInTokenBO userInfoInTokenBO = AuthUserContext.get();

        YamiSysUser details = new YamiSysUser();
        details.setUserId(Long.valueOf(userInfoInTokenBO.getUserId()));
        details.setEnabled(userInfoInTokenBO.getEnabled());
        details.setUsername(userInfoInTokenBO.getNickName());
        details.setAuthorities(userInfoInTokenBO.getPerms());
        details.setShopId(userInfoInTokenBO.getShopId());
        return details;
    }
}
