package rewards.internal.restaurant;
import org.apache.ibatis.annotations.Select;
/**
* Loads restaurant aggregates. Called by the reward network to find and reconstitute Restaurant entities from an
* external form such as a set of RDMS rows.
*
* Objects returned by this repository are guaranteed to be fully-initialized and ready to use.
*/
public interface RestaurantMapper {
/**
* Load a Restaurant entity by its merchant number.
* @param merchantNumber the merchant number
* @return the restaurant
*/
@Select(" SELECT " +
" ID as entityId, " +
" MERCHANT_NUMBER as number, " +
" NAME as name, " +
" BENEFIT_PERCENTAGE as benefitPercentage, " +
" BENEFIT_AVAILABILITY_POLICY as benefitAvailabilityPolicy " +
" FROM T_RESTAURANT " +
" WHERE MERCHANT_NUMBER = #{merchantNumber}")
public Restaurant findByMerchantNumber(String merchantNumber);
}