package com.qmth.jkserver.service;

import com.qmth.boot.core.solar.model.AppInfo;
import com.qmth.jkserver.dto.result.AppInfoResult;
import com.qmth.jkserver.enums.AuthEnum;

import java.util.Map;

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

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

    /**
     * 授权信息初始化
     *
     * @param appInfo
     * @param accessKey
     * @param accessSecret
     * @return
     * @throws Exception
     */
    AppInfo appInfoInit(AppInfo appInfo, String accessKey, String accessSecret) throws Exception;

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

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

    /**
     * 查询授权信息
     *
     * @return
     */
    AppInfoResult selectAuthInfo() throws Exception;

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

    /**
     * 更新学校启用/禁用
     *
     * @param orgCodesMap
     */
    public void updateSchoolEnable(Map<String, String> orgCodesMap);
}