package com.hdkj.lt.bf.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hdkj.lt.base.annotations.MybatisLikeInterceptorMethod;
import com.hdkj.lt.bf.entity.dto.SwitchInfoListRequest;
import com.hdkj.lt.bf.entity.dto.TopoDTO;
import com.hdkj.lt.bf.entity.vo.FeederSwitchInfoVO;
import com.hdkj.lt.bf.entity.vo.SwitchInfoVO;
import com.hdkj.lt.bf.entity.vo.SwitchOrTransformerVO;
import com.hdkj.lt.core.bizms.modle.po.DwdShbDsSwitchBase;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Sunlit
 * @description 针对表【dwd_shb_ds_switch_base(配电开关台账台账信息)】的数据库操作Mapper
 * @createDate 2025-06-26 17:19:37
 * @Entity com.hdkj.lt.core.bizms.modle.po.DwdShbDsSwitchBase
 */
public interface DwdShbDsSwitchBaseMapper extends BaseMapper<DwdShbDsSwitchBase> {

    @MybatisLikeInterceptorMethod
    Page<SwitchInfoVO> getSwitchInfoPageByCondition(Page page, @Param("params") SwitchInfoListRequest request);

    List<FeederSwitchInfoVO> getSwitchListByFeederId(@Param("feederId") String feederId);

    FeederSwitchInfoVO getStartSwitchInfoByFeederId(@Param("feederId") String feederId);

    @MybatisLikeInterceptorMethod
    List<SwitchInfoVO> getSwitchInfoByCondition(@Param("params") SwitchInfoListRequest request);

    List<SwitchOrTransformerVO> getSwitchAndTransformerList(@Param("name") String name, @Param("feeder") String feederId,
                                                            @Param("psrType")List<String> psrType);

    SwitchOrTransformerVO getShowSwitch(@Param("feederId") String feederId, @Param("psrId") String psrId);

    List<TopoDTO> getTree(@Param("feederId") String feeder);
}




