package com.qmth.teachcloud.common.service;

import com.qmth.boot.core.solar.model.AppInfo;
import com.qmth.teachcloud.common.enums.AuthEnum;

/**
 * @Description: 授权信息service
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2022/5/17
 */
public interface AuthInfoService {

    /**
     * 授权信息初始化
     *
     * @return
     */
    AppInfo appInfoInit();

    /**
     * app是否过期
     *
     * @param code
     */
    void appHasExpired(String code);

    /**
     * 离线激活
     *
     * @param licenseData
     */
    void updateLicense(byte[] licenseData) throws Exception;

    /**
     * 查询授权信息
     *
     * @return
     */
    Long selectAuthInfo();

    /**
     * 保存授权信息
     *
     * @param appInfo
     * @param authEnum
     * @param file
     * @throws Exception
     */
    public void saveAuthInfo(AppInfo appInfo, AuthEnum authEnum, byte[] file) throws Exception;
}