package com.ruoyi.ibs.grid.mapper;

import com.ruoyi.ibs.draw.domain.vo.ShapeCustVO;
import com.ruoyi.ibs.grid.domain.dto.virtual.VirtualCustDTO;
import com.ruoyi.ibs.grid.domain.vo.RegionCustVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 吴凯程
 * @Date 2024/9/29
 **/
@Mapper
public interface CustInfoMapper {

    Integer countBusinessCustByCode(@Param("codeList") List<String> codeList);

    Integer countRetailCustByCode(@Param("codeList") List<String> codeList);

    Integer countMerchantCustByCode(@Param("codeList") List<String> codeList);

    List<RegionCustVO> selectRegionCustByCode(@Param("code") String code);

    List<RegionCustVO> selectRegionRetailByCode(@Param("code") String code);

    List<RegionCustVO> selectRegionBusinessByCode(@Param("code") String code);

    List<RegionCustVO> selectRegionMerchantByCode(@Param("code") String code);

    List<ShapeCustVO> selectPrivateCustByCode(@Param("codeList") List<String> codeList, @Param("dept") String dept);

    List<ShapeCustVO> selectPublicCustByCode(@Param("codeList") List<String> codeList, @Param("dept") String dept);

    List<ShapeCustVO> selectCustByCode(@Param("codeList") List<String> codeList, @Param("dept") String dept);


    Integer insertToRetailByVirtualCustDTO(@Param("dept") String dept, @Param("list") List<VirtualCustDTO> virtualCustDTOList, @Param("updateBy") String updateBy, @Param("updateTime") String updateTime);

    Integer insertToMerchantByVirtualCustDTO(@Param("dept") String dept, @Param("list") List<VirtualCustDTO> virtualCustDTOList, @Param("updateBy") String updateBy, @Param("updateTime") String updateTime);

    Integer insertToBusinessByVirtualCustDTO(@Param("dept") String dept, @Param("list") List<VirtualCustDTO> virtualCustDTOList, @Param("updateBy") String updateBy, @Param("updateTime") String updateTime);

    List<String> selectExistCustByCustId(@Param("dept") String dept, @Param("custType") String custType, @Param("custIds") String custIds);



}
