package cn.superdesk.uniorder.dao.mapper.organisation;

import cn.superdesk.uniorder.dao.entity.organisation.SysEnterprise;
import cn.superdesk.uniorder.dao.entity.organisation.SysEnterpriseExample;
import cn.superdesk.uniorder.dto.param.organisation.SysVirtQueryParam;
import cn.superdesk.uniorder.dto.vo._function.select.SelectOptionVirt;
import cn.superdesk.uniorder.dto.vo.sys.SysSelectVo;
import cn.superdesk.uniorder.dto.vo.sys.SysVirtVo;
import cn.superdesk.uniorder.dto.vo.sys.sysPlatformVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

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

public interface SysEnterpriseMapper {
    long countByExample(SysEnterpriseExample example);

    int deleteByExample(SysEnterpriseExample example);

    int deleteByPrimaryKey(Long id);

    int insert(SysEnterprise record);

    int insertSelective(SysEnterprise record);

    List<SysEnterprise> selectByExample(SysEnterpriseExample example);

    SysEnterprise selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") SysEnterprise record, @Param("example") SysEnterpriseExample example);

    int updateByExample(@Param("record") SysEnterprise record, @Param("example") SysEnterpriseExample example);

    int updateByPrimaryKeySelective(SysEnterprise record);

    int updateByPrimaryKey(SysEnterprise record);

    List<SelectOptionVirt> queryQchjcCustomerList();

    List<SysVirtVo> getVirtList(SysVirtQueryParam param);

    List<SysSelectVo> selectList(Map<String,Object> params);

    @Select("select enterprise_id bizVirId,organization_id bizOrgId,biz_platform_code bizCode from sys_enterprise where id in (${enterpriseIds})")
    List<sysPlatformVo> getvirtBizIdById(String enterpriseIds);
}