package cn.com.ty.lift.system.settings.service;

import cn.com.ty.lift.system.settings.dao.entity.MtCompanyAttestation;
import cn.com.ty.lift.system.settings.dao.entity.model.CompanyAttestationRequest;
import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
import cn.com.xwy.boot.web.dto.RestResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 公司认证信息 服务类
 * </p>
 *
 * @author huangyuan
 * @since 2019-12-12
 */
public interface IMtCompanyAttestationService extends IService<MtCompanyAttestation> {

    /**
     * @param companyAttestationRequest
     * @return
     * @description 发起认证
     * @date 2019-12-12 11:42
     */
    RestResponse applyAudit(CompanyAttestationRequest companyAttestationRequest);


    /**
     * @param companyAttestationRequest
     * @return
     * @description 认证通过
     * @date 2019-12-12 15:24
     */
    RestResponse auditPass(CompanyAttestationRequest companyAttestationRequest);

    /***
     * @description 认证失败
     * @date 2019-12-12 15:26
     * @param companyAttestationRequest
     * @return
     */
    RestResponse auditFail(CompanyAttestationRequest companyAttestationRequest);

    /**
     * @param
     * @return
     * @description 获取用户申请列表
     * @date 2019-12-17 22:35
     */
    RestResponse applyList(CompanyAttestationRequest companyAttestationRequest);

    /**
     * @param
     * @return
     * @description 获取认证信息结果
     * @date 2020-01-07 19:35
     */
    RestResponse getAuditResult(CompanyAttestationRequest companyAttestationRequest);

    /**
     * @param
     * @return
     * @description 获取公司id -> 处理时间
     * @date 2020/2/19 2:15 下午
     */
    Map<Long, LocalDateTime> getMtCompanyIdToDealTime(List<Long> companyIdList);

    /**
     * @param
     * @return
     * @description
     * @date 2020/5/25 2:29 下午
     */
    RestResponse applyCompanyList(MaintenanceCompanyRequest maintenanceCompanyRequest);
}
