package com.ruoyi.mall.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.mall.domain.MallCompanyUser;

/**
 * 公司基站管理员Service接口
 *
 * @author LCL
 * @date 2024-03-12
 */
public interface IMallCompanyUserService
{
    /**
     * 查询公司基站管理员
     *
     * @param companyUserId 公司基站管理员主键
     * @return 公司基站管理员
     */
    public MallCompanyUser selectMallCompanyUserByCompanyUserId(Long companyUserId);

    /**
     * 查询公司基站管理员列表
     *
     * @param mallCompanyUser 公司基站管理员
     * @return 公司基站管理员集合
     */
    public List<MallCompanyUser> selectMallCompanyUserList(MallCompanyUser mallCompanyUser);

    /**
     * 新增公司基站管理员
     *
     * @param mallCompanyUser 公司基站管理员
     * @return 结果
     */
    public int insertMallCompanyUser(MallCompanyUser mallCompanyUser);

    /**
     * 修改公司基站管理员
     *
     * @param mallCompanyUser 公司基站管理员
     * @return 结果
     */
    public int updateMallCompanyUser(MallCompanyUser mallCompanyUser);

    /**
     * 批量删除公司基站管理员
     *
     * @param companyUserIds 需要删除的公司基站管理员主键集合
     * @return 结果
     */
    public int deleteMallCompanyUserByCompanyUserIds(Long[] companyUserIds);

    /**
     * 删除公司基站管理员信息
     *
     * @param companyUserId 公司基站管理员主键
     * @return 结果
     */
    public int deleteMallCompanyUserByCompanyUserId(Long companyUserId);

    /**
     * 根据ID判断公司基站管理员状态
     *
     * @param companyUserId 公司基站管理员主键ID
     * @return AjaxResult
     */
    public AjaxResult determineCompanyUser(Long companyUserId);

    /**
     * 根据公司基站管理员账号查询公司基站管理员
     *
     * @param companyUserAccount 公司基站管理员账号
     * @return 公司基站管理员
     */
    public MallCompanyUser selectMallCompanyUserByCompanyUserAccount(String companyUserAccount);

    /**
     * 根据系统用户ID查询公司基站管理员
     *
     * @param sysUserId 系统用户ID
     * @return 公司基站管理员
     */
    public MallCompanyUser selectMallCompanyUserByCompanySysUserId(Long sysUserId);
}
