package com.yh.saas.plugin.yiliangyiyun.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.yh.saas.plugin.yiliangyiyun.entity.IdentityAuthenticationInfo;
import com.baomidou.mybatisplus.service.IService;
import com.yh.saas.plugin.yiliangyiyun.exception.AppServiceException;
import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;

import java.util.List;

/**
 * <p>
 * 记录身份认证 服务类
 * </p>
 *
 * @author Gongdc
 * @since 2021-07-23
 */
public interface IIdentityAuthenticationInfoService extends IService<IdentityAuthenticationInfo> {
    /**
     *
     * 粮商认证列表
     * @param identityAuthenticationInfo
     */
    Page<IdentityAuthenticationInfo> selectIdentityAuthenticationInfo(IdentityAuthenticationInfo identityAuthenticationInfo);

    /**
     * 更改手机号
     * @param identityAuthenticationInfo
     */
    String modifyIdentityPhone(IdentityAuthenticationInfo identityAuthenticationInfo);

    /**
     * 添加身份认证
     * @param identityAuthenticationInfo
     */
    String addIdentityAuthenticationInfo(IdentityAuthenticationInfo identityAuthenticationInfo) throws ServiceException;

    /**
     * 编辑身份认证
     * @param identityAuthenticationInfo
     */
    String editIdentityAuthenticationInfo(IdentityAuthenticationInfo identityAuthenticationInfo);

    /**
     * 查看身份认证
     * @param id
     */
    IdentityAuthenticationInfo getIdentityAuthenticationInfo(String id);
    /**
     * 删除身份认证
     * @param id
     */
    void deleteIdentityAuthenticationInfo(String id);
    /**
     * 查看
     * @param
     */
    IdentityAuthenticationInfo getInfo(String commonId) throws ServiceException;
    /**
     * 审核
     * @param identityAuthenticationInfo
     * @return
     */
    String examine(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     * 设置默认
     * @param identityAuthenticationInfo
     */
    String setDefault(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     *
     * 粮商认证列表PC端
     * @param identityAuthenticationInfo
     */
    Page<IdentityAuthenticationInfo> selectIdentityAuthenticationInfoPc(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     *
     * 查粮农身份
     * @param identityAuthenticationInfo
     */
    IdentityAuthenticationInfo selectCount(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     *
     * 查手机号是否存在
     * @param identityAuthenticationInfo
     */
    IdentityAuthenticationInfo selectPhone(IdentityAuthenticationInfo identityAuthenticationInfo) throws AppServiceException;
    /**
     *
     * 粮商认证列表PC端(自采客户)
     * @param identityAuthenticationInfo
     */
    Page<IdentityAuthenticationInfo> selectIdentityAuthenticationInfoPurchase(IdentityAuthenticationInfo identityAuthenticationInfo);

    /**
     * 手机端扫码成为公司客户
     * @param identityAuthenticationInfo
     */
    String saveCompanyIdentity(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     * 库内自采客户管理删除身份认证
     * @param identityAuthenticationInfo
     */
    void deleteCompanyIdentity(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     *
     * 自采客户下拉列表
     * @param identityAuthenticationInfo
     */
    List<IdentityAuthenticationInfo> identityAuthenticationInfoCustomer(IdentityAuthenticationInfo identityAuthenticationInfo);
    /**
     *
     * 送粮登记货主下拉列表
     * @param identityAuthenticationInfo
     */
    List<IdentityAuthenticationInfo> identityAuthenticationInfoUser(IdentityAuthenticationInfo identityAuthenticationInfo) throws AppServiceException;

}
