package com.ics.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ics.common.core.domain.IcsCustomerStaff;

import java.util.List;

/**
 * 企业员工Service接口
 *
 * @author ics
 * @date 2024-02-19
 */
public interface IIcsCustomerStaffService extends IService<IcsCustomerStaff> {
    /**
     * 查询企业员工
     *
     * @param id 企业员工ID
     * @return 企业员工
     */
    IcsCustomerStaff selectIcsCustomerStaffById(Long id);

    /**
     * 查询企业员工列表
     *
     * @param icsCustomerStaff 企业员工
     * @return 企业员工集合
     */
    List<IcsCustomerStaff> selectIcsCustomerStaffList(IcsCustomerStaff icsCustomerStaff);

    /**
     * 新增企业员工
     *
     * @param icsCustomerStaff 企业员工
     * @return 结果
     */
    int insertIcsCustomerStaff(IcsCustomerStaff icsCustomerStaff);

    /**
     * 修改企业员工
     *
     * @param icsCustomerStaff 企业员工
     * @return 结果
     */
    int updateIcsCustomerStaff(IcsCustomerStaff icsCustomerStaff);

    /**
     * 批量删除企业员工
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteIcsCustomerStaffByIds(String ids);

    /**
     * 删除企业员工信息
     *
     * @param id 企业员工ID
     * @return 结果
     */
    int deleteIcsCustomerStaffById(Long id);


    /**
     * 检查手机号码是否唯一
     * @return
     */
    String checkMobileUnique(String mobile);

    IcsCustomerStaff selectUserByOpenid(String openid);

    List<IcsCustomerStaff> selectUserByCustomer(Long customerId);

    List<IcsCustomerStaff> selectListByUserIds(List<Long> userIds);

    List<IcsCustomerStaff> getStaffListNotId(IcsCustomerStaff icsCustomerStaff);

    List<IcsCustomerStaff> getStaffListByUser(IcsCustomerStaff icsCustomerStaff);


    int updateByCustomer(IcsCustomerStaff customerStaff);

    List<IcsCustomerStaff> selectCustomerStaffList(IcsCustomerStaff icsCustomerStaff);

    String importCustomerStaff(List<IcsCustomerStaff> userList,Long customerId);

    List<IcsCustomerStaff> getUserList(IcsCustomerStaff customerStaff);

    IcsCustomerStaff selectByPhoneAndOpenId(String phoneNumber, String openid);

    IcsCustomerStaff selectUserByMobile(String phone);

    List<IcsCustomerStaff> selectList();

    List<IcsCustomerStaff> selectListByCustomerId();

    List<IcsCustomerStaff> selectCustomerStaff(IcsCustomerStaff icsCustomerStaff);


//    IcsCustomerStaff selectUserByMobileAndParkId(String phoneNumber, String parkId);
}
