diff --git a/infra/sql/ddl.sql b/infra/sql/ddl.sql index b552128c..ea4a283d 100644 --- a/infra/sql/ddl.sql +++ b/infra/sql/ddl.sql @@ -86,6 +86,8 @@ create table not_owned_search_history ( user_id bigint not null, address varchar(255) not null, title varchar(255) not null, + store_id varchar(255) not null, + is_crawled bit, primary key (id) ) engine=InnoDB; @@ -96,7 +98,7 @@ create table not_found_store ( id bigint not null auto_increment, modified_at datetime(6), address varchar(255) not null, - store_id varchar(255), + store_id varchar(255) not null, title varchar(255) not null, primary key (id) ) engine=InnoDB; diff --git a/src/main/java/com/ourmenu/backend/domain/cache/application/UrlConverterService.java b/src/main/java/com/ourmenu/backend/domain/cache/application/UrlConverterService.java index 9d51a058..9c1c8e59 100644 --- a/src/main/java/com/ourmenu/backend/domain/cache/application/UrlConverterService.java +++ b/src/main/java/com/ourmenu/backend/domain/cache/application/UrlConverterService.java @@ -55,6 +55,6 @@ public String getHomeRecommendTagImgUrl(Tag tag) { private boolean isETCMenuPin(MenuPin pin) { return pin.equals(MenuPin.TWO) || pin.equals(MenuPin.THREE) || pin.equals(MenuPin.FOUR) || pin.equals( - MenuPin.FIVE); + MenuPin.FIVE) || pin.equals(MenuPin.ETC); } } \ No newline at end of file diff --git a/src/main/java/com/ourmenu/backend/domain/cache/domain/MenuPin.java b/src/main/java/com/ourmenu/backend/domain/cache/domain/MenuPin.java index 5b424361..eb457195 100644 --- a/src/main/java/com/ourmenu/backend/domain/cache/domain/MenuPin.java +++ b/src/main/java/com/ourmenu/backend/domain/cache/domain/MenuPin.java @@ -24,7 +24,8 @@ public enum MenuPin { TWO("2", "two"), THREE("3", "three"), FOUR("4", "four"), - FIVE("5", "five"); + FIVE("5", "five"), + ETC("기타(십자)", "ETC"); private String name; private String imgUrl; diff --git a/src/main/java/com/ourmenu/backend/domain/search/application/SearchService.java b/src/main/java/com/ourmenu/backend/domain/search/application/SearchService.java index 8ec646ec..13d11bcf 100644 --- a/src/main/java/com/ourmenu/backend/domain/search/application/SearchService.java +++ b/src/main/java/com/ourmenu/backend/domain/search/application/SearchService.java @@ -213,6 +213,8 @@ private void saveSearchHistory(Long userId, GetStoreResponse getStoreResponse) { NotOwnedMenuSearch notOwnedMenuSearch = NotOwnedMenuSearch.builder() .title(getStoreResponse.getStoreTitle()) .address(getStoreResponse.getStoreAddress()) + .storeId(getStoreResponse.getStoreId()) + .isCrawled(getStoreResponse.isCrawled()) .userId(userId) .build(); notOwnedMenuSearchRepository.save(notOwnedMenuSearch); diff --git a/src/main/java/com/ourmenu/backend/domain/search/domain/NotOwnedMenuSearch.java b/src/main/java/com/ourmenu/backend/domain/search/domain/NotOwnedMenuSearch.java index a81c900a..57ee478e 100644 --- a/src/main/java/com/ourmenu/backend/domain/search/domain/NotOwnedMenuSearch.java +++ b/src/main/java/com/ourmenu/backend/domain/search/domain/NotOwnedMenuSearch.java @@ -7,7 +7,6 @@ import jakarta.persistence.Id; import jakarta.persistence.Table; import jakarta.validation.constraints.NotNull; -import java.time.LocalDateTime; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; @@ -32,6 +31,12 @@ public class NotOwnedMenuSearch extends BaseEntity { @NotNull private String address; + @NotNull + private String storeId; + + @NotNull + private boolean isCrawled; + @NotNull private Long userId; } diff --git a/src/main/java/com/ourmenu/backend/domain/search/dto/GetSearchHistoryResponse.java b/src/main/java/com/ourmenu/backend/domain/search/dto/GetSearchHistoryResponse.java index fdc5b89d..c0e13547 100644 --- a/src/main/java/com/ourmenu/backend/domain/search/dto/GetSearchHistoryResponse.java +++ b/src/main/java/com/ourmenu/backend/domain/search/dto/GetSearchHistoryResponse.java @@ -16,12 +16,18 @@ public class GetSearchHistoryResponse { private String storeAddress; + private String storeId; + + private boolean isCrawled; + private LocalDateTime modifiedAt; - public static GetSearchHistoryResponse from(NotOwnedMenuSearch notOwnedMenuSearch){ + public static GetSearchHistoryResponse from(NotOwnedMenuSearch notOwnedMenuSearch) { return GetSearchHistoryResponse.builder() .menuTitle(notOwnedMenuSearch.getTitle()) .storeAddress(notOwnedMenuSearch.getAddress()) + .storeId(notOwnedMenuSearch.getId().toString()) + .isCrawled(false) .modifiedAt(notOwnedMenuSearch.getModifiedAt()) .build(); } diff --git a/src/main/java/com/ourmenu/backend/domain/search/dto/GetStoreResponse.java b/src/main/java/com/ourmenu/backend/domain/search/dto/GetStoreResponse.java index f5d29a5a..40b5bf20 100644 --- a/src/main/java/com/ourmenu/backend/domain/search/dto/GetStoreResponse.java +++ b/src/main/java/com/ourmenu/backend/domain/search/dto/GetStoreResponse.java @@ -21,6 +21,7 @@ public class GetStoreResponse { private List menus; private Double storeMapX; private Double storeMapY; + private boolean isCrawled; public static GetStoreResponse from(SearchableStore searchableStore) { List getStoreMenuResponses = searchableStore.getStoreMenus().stream() @@ -40,6 +41,7 @@ public static GetStoreResponse from(SearchableStore searchableStore) { .menus(getStoreMenuResponses) .storeMapX(mapX) .storeMapY(mapY) + .isCrawled(true) .build(); } @@ -50,6 +52,7 @@ public static GetStoreResponse from(NotFoundStore notFoundStore) { .storeAddress(notFoundStore.getAddress()) .storeMapX(notFoundStore.getMapX()) .storeMapY(notFoundStore.getMapY()) + .isCrawled(false) .build(); } }