Store에 리뷰를 추가하려는 작업을 하려한다. 리뷰작성이 가능하려면 받아온 store_id가 유효한지와 해당 가게가 정상영업중인지 확인해야한다.
boolean을 반환하며 정상영업시 true, 폐업시 false를 반환한다.
Store store= storeRepository.findById(storeId)
.orElseThrow(()-> FoodCategoryHandler(ErrorCode._BAD_REQUEST));
if (store.getState() == false){
throw new IllegalStateException("da")
}
/* class StoreHandler 中 일부 */
public class StoreHandler extends GeneralException {
public StoreHandler(BaseErrorCode errorCode) {super(errorCode);}
}
/* enum errorStatus 中 일부 */
// 가게 관리 에러
STORE_NOT_EXTIST(HttpStatus.BAD_REQUEST, "STORE4001", "가게가 없습니다."),
/* ReviewCommandServiceImpl.java 中 일부 */
Store store = storeRepository.findByIdAndStateTrue(storeId)
.orElseThrow(() -> new StoreHandler(ErrorStatus.STORE_NOT_EXTIST));
/* StoreRepository.java 中 일부 */
public interface StoreRepository extends JpaRepository<Store, Long> {
Optional<Store> findByIdAndStateTrue(Long storeId);
}
출처 : UMC 5기 워크북