package org.dromara.mp.service;

import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.mp.domain.SysUnitDomain;
import org.dromara.mp.domain.bo.SysUnitDomainBo;
import org.dromara.mp.domain.vo.SysUnitDomainVo;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 单位域名配置Service接口
 *
 * @author LionLi
 * @date 2024-04-07
 */
public interface ISysUnitDomainService {

    /**
     * 查询单位域名配置
     */
    SysUnitDomainVo queryById(Long id);


    /**
     * @Param
     * @Return
     * @Author sunzexing
     * @Date 2024-04-07 15:11
     * 说明：根据域名查询配置信息
     **/
    SysUnitDomainVo queryByMpDomain(String mpDomain);


//
//    /**
//     * @Param
//     * @Return
//     * @Author sunzexing
//     * @Date 2024-04-07 16:35
//     * 说明：获取短信配置
//     **/
//
//    Map selSmsConfig(String domainCode);

    /**
     * @Param
     * @Return
     * @Author sunzexing
     * @Date 2024-04-07 16:35
     * 说明：获取短信配置
     **/

    SysUnitDomain selSmsConfig(String domainCode);





    /**
     * @Param
     * @Return
     * @Author sunzexing
     * @Date 2024-04-07 16:36
     * 说明： 获取人脸核验，ocr等配置
     **/
    Map mpOtherThirdConfig(String domainCode);



    boolean sendSms(String phone,String domainCode);

    /**
     * 查询单位域名配置列表
     */
    TableDataInfo<SysUnitDomainVo> queryPageList(SysUnitDomainBo bo, PageQuery pageQuery);

    /**
     * 查询单位域名配置列表
     */
    List<SysUnitDomainVo> queryList(SysUnitDomainBo bo);

    /**
     * 新增单位域名配置
     */
    Boolean insertByBo(SysUnitDomainBo bo);

    /**
     * 修改单位域名配置
     */
    Boolean updateByBo(SysUnitDomainBo bo);

    /**
     * 校验并批量删除单位域名配置信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
