package com.chinaweal.aiccs.aiccs.security.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyAppInfo;
import com.chinaweal.aiccs.org.entity.TUsers;

/**
 * 批量吊销外部应用接入信息 Service
 *
 * @author lroyia
 * @since 2026/1/12 16:30
 **/
public interface IPenaltyAppInfoService extends IService<PenaltyAppInfo> {

    /**
     * 获取用户信息
     *
     * @param accessToken 当前登录的accessToken
     * @return 用户信息
     */
    TUsers getUserInfo(String accessToken);

    /**
     * 生成AccessToken
     *
     * @param appInfo 应用信息
     * @param user    用户信息
     * @return 生成结果
     */
    String generateAccessToken(PenaltyAppInfo appInfo, TUsers user);

    /**
     * 删除accessToken
     *
     * @param accessToken accessToken
     */
    void removeAccessToken(String accessToken);

    /**
     * 校验是否存在accessToken
     *
     * @param accessToken accessToken
     * @return 校验结果
     */
    boolean existsAccessToken(String accessToken);
}
