package com.friday.operation.api.tooldriver.service;

import com.friday.base.common.response.DubboResult;
import com.friday.operation.api.keepalive.dto.smartrpa.*;

public interface ILicense {
    DubboResult<MachineLicenseRespDto> getLicense(MachineLicenseAcquireReqDto reqDto);

    DubboResult<Boolean> verifyLicense(MachineLicenseAuthReqDto dto);

    DubboResult<Boolean> verifyLoginState(String license);

    /**
     * RPA程序--许可管理--仅获取当前存在的License数据，更新对应local remote design executor 默认许可数据
     * 配合校验接口
     * @param reqDto
     * @return
     */
    DubboResult<MachineLicenseRespDto> getExistLicenseOnly(MachineLicenseAcquireReqDto reqDto);

    DubboResult<Integer> updateMachineLicense(MachineLicenseAuthUpdateDto req);

    DubboResult<MachineLicenseInfo>  getRobotLicenseInfo(MachineLicenseInfoReq req);

    DubboResult<Boolean> checkRobotLicenseTime(MachineLicenseAuthUpdateDto dto);

    /**
     * 校验机器许可是否过期 blank服务 启动 建立工位接口使用
     */
    DubboResult<Boolean> checkRobotLicenseTimeDubbo(String robotKey);
}
