package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.biz.dal.entity.TenantStaff;
import com.yonge.cooleshow.biz.dal.wrapper.TenantStaffWrapper;
import com.yonge.cooleshow.common.enums.UserLockFlag;

/**
 * 机构员工表
 * 2023-07-21 17:32:49
 */
public interface TenantStaffService extends IService<TenantStaff>  {

	/**
     * 查询详情
     * @param id 详情ID
     * @return TenantStaff
     */
	TenantStaff detail(Long id);

    /**
     * 分页查询
     * @param page IPage<TenantStaff>
     * @param query TenantStaffWrapper.TenantStaffQuery
     * @return IPage<TenantStaff>
     */
    IPage<TenantStaffWrapper.TenantStaff> selectPage(IPage<TenantStaffWrapper.TenantStaff> page, TenantStaffWrapper.TenantStaffQuery query);
	
    /**
     * 添加
     * @param tenantStaff TenantStaffWrapper.TenantStaff
     * @return Boolean
     */
     Boolean add(TenantStaffWrapper.TenantStaff tenantStaff);   

    /**
     * 更新
     * @param tenantStaff TenantStaffWrapper.TenantStaff
     * @return Boolean
     */
     Boolean update(TenantStaffWrapper.TenantStaffAdd tenantStaff);

    /**
     * 获取机构用户
     *
     * @param phone
     * @return
     */
    TenantStaff getByPhone(String phone);

    /**
     * 根据用户ID获取员工信息
     * @param userId 用户Id
     * @return TenantStaff
     */
    TenantStaff getByUserId(Long userId);

    void updateStatus(Long id, UserLockFlag status);

    void clearWxOpenId(Long id);
}