package com.viettel.campaign.repository;

import com.viettel.campaign.model.CampaignCompleteCode;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long> {

    Page<CampaignCompleteCode> findAll(Pageable pageable);

    @Query("FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') ")
    List<CampaignCompleteCode> findByName(@Param("name") String name, Pageable pageable);

    List<CampaignCompleteCode> findByCompleteNameContains(String name, Pageable pageable);


    @Modifying
    @Query("delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)")
    int deleteds(@Param("ids") List<Long> ids);

}
