package com.xhpc.user.mapper;

import com.xhpc.system.api.domain.SysUser;
import com.xhpc.user.domain.XhpcInternetUser;
import org.apache.ibatis.annotations.Param;

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

/**
 * 流量用户信息 数据层
 *
 * @author ruoyi
 */
public interface XhpcInternetUserMapper {

    /**
     * 修改流量用户信息
     *
     * @param xhpcInternetUser 流量用户信息
     * @return 结果
     */
    public int update(XhpcInternetUser xhpcInternetUser);

    /**
     * 新增流量用户信息
     *
     * @param xhpcInternetUser 流量用户信息
     * @return 结果
     */
    public int insert(XhpcInternetUser xhpcInternetUser);

    /**
     * 批量删除流量用户信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteByIds(String[] ids);


    /**
     * 查询流量用户详情
     *
     * @param internetUserId 流量用户id
     * @return 结果
     */
    public Map<String, Object> info(@Param("internetUserId") Long internetUserId);

    /**
     * 流量用户分页列表
     *
     * @param name         流量用户名称
     * @param contactName  联系人
     * @param contactPhone 联系人电话
     * @return 结果
     */
    public List<Map<String, Object>> selectInternetList(@Param("name") String name, @Param("contactName") String contactName, @Param("contactPhone") String contactPhone, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd,@Param("tenantId")String tenantId);

    /**
     * 通过流量用户ID查询用户
     *
     * @param internetUserId 流量用户ID
     * @return 结果
     */
    public SysUser getUserByInternetUserId(@Param("internetUserId") Long internetUserId);

    /**
     * 流量用户列表
     *
     * @param name 流量用户名称
     * @return 结果
     */
    public List<Map<String, Object>> list(@Param("name") String name);

    /**
     * 根据第三方平台及监管平台的operatorId 查询
     * @param operatorIdEvcs
     * @return
     */
    XhpcInternetUser getOperatorIdEvcs(@Param("operatorIdEvcs")String operatorIdEvcs);

    /**
     * 查询operatorId 是否重复
     */

    int getCountOperatorIdEvcs(@Param("internetUserId")Long internetUserId,@Param("operatorIdEvcs")String operatorIdEvcs);
}
