package com.hotent.uc.manager;

import org.springframework.web.multipart.MultipartFile;

import com.hotent.base.manager.BaseManager;
import com.hotent.base.model.CommonResult;
import com.hotent.uc.model.ElectronicSeal;
import com.hotent.uc.params.seal.ImportSignatureObject;

import java.util.Optional;

/**
 * 
 * <pre> 
 * 描述：uc_electronic_seal 处理接口
 * 构建组：x7
 * 作者:lihq
 * 邮箱:lihq@jee-soft.cn
 * 日期:2020-10-19 18:18:31
 * 版权：广州宏天软件股份有限公司
 * </pre>
 */
public interface ElectronicSealManager extends BaseManager<ElectronicSeal>{

    /**
     * 将状态改为已过期
     * @param id
     */
    void setIsUse(String id);
    
    /**
     * 处理批量导入的用户签章数据
     * @param signatureData
     * @return
     * @throws Exception 
     */
    CommonResult<String> importSignature(ImportSignatureObject signatureData) throws Exception;

    /**
     * 新增uc_electronic_seal
     * 新增签章
     * @param electronicSeal
     * @return
     * @throws Exception
     */
    CommonResult<String> saveElectronicSeal(ElectronicSeal electronicSeal) throws Exception;

    /**
     * front用户自己添加电子签章
     * @param electronicSeal
     * @return
     * @throws Exception
     */
    CommonResult<String> userSaveElectronicSeal(ElectronicSeal electronicSeal) throws Exception;

    /**
     * 手机端更新签章
     * @param electronicSeal
     * @return
     * @throws Exception
     */
    CommonResult<String> mobileUpdateElectronicSeal(ElectronicSeal electronicSeal) throws Exception;

    /**
     * 获取当前登录用户的电子签章
     * @return
     */
    ElectronicSeal getCurrentUserSeal();

    CommonResult<String> getUser(Optional<String> password, Optional<Boolean> secretFree) throws Exception;
}
