Skip to content

Commit

Permalink
feat: error fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeongh00 committed Aug 2, 2024
1 parent 6af9117 commit e49b386
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import com.likelion.coremodule.cart.service.CartQueryService;
import com.likelion.coremodule.menu.domain.Menu;
import com.likelion.coremodule.menu.service.MenuQueryService;
import com.likelion.coremodule.order.domain.Order;
import com.likelion.coremodule.order.domain.OrderItem;
import com.likelion.coremodule.order.service.OrderQueryService;
import com.likelion.coremodule.review.domain.Review;
import com.likelion.coremodule.review.service.ReviewQueryService;
import com.likelion.coremodule.store.domain.Store;
Expand All @@ -34,6 +37,7 @@ public class StoreInfoUseCase {
private final CartQueryService cartQueryService;
private final ReviewQueryService reviewQueryService;
private final JwtUtil jwtUtil;
private final OrderQueryService orderQueryService;

public List<StoreInfo> findStoreInfo() {

Expand All @@ -55,8 +59,16 @@ public List<StoreInfo> findStoreInfo() {
List<Review> reviews = new ArrayList<>();

for (Menu m : menus) {
List<Review> review = reviewQueryService.findReviewsByMenuId(m.getId());
reviews.addAll(review);

List<OrderItem> items = orderQueryService.findOrderItemsByMenuId(m.getId());
for (OrderItem item : items) {
if (orderQueryService.countOrderById(item.getOrder().getId()) > 0) {
Order order = orderQueryService.findOrderById(item.getOrder().getId());

List<Review> review = reviewQueryService.findAllByOrderId(order.getId());
reviews.addAll(review);
}
}
}

final StoreInfo storeInfo = getStoreInfo(store, reviews, menuDetails);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.likelion.commonmodule.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.util.DefaultUriBuilderFactory;

@Configuration
public class WebClientConfig {
@Bean
public DefaultUriBuilderFactory defaultUriBuilderFactory() {
final DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
factory.setEncodingMode(DefaultUriBuilderFactory.EncodingMode.NONE);
return factory;
}

@Bean
public WebClient webClient() {
return WebClient.builder()
.uriBuilderFactory(defaultUriBuilderFactory())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ public class VisitList extends BaseEntity {

private VisitStatus visit_status;

public void updateToPreparing() {
this.visit_status = VisitStatus.PREPARING;
}

public void updateToPrepared() {
this.visit_status = VisitStatus.PREPARED;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.likelion.coremodule.VisitList.exception.VisitErrorCode;
import com.likelion.coremodule.VisitList.exception.VisitException;
import com.likelion.coremodule.VisitList.repository.VisitListRepository;
import com.likelion.coremodule.VisitList.service.VisitListQueryService;
import com.likelion.coremodule.market.domain.Market;
import com.likelion.coremodule.market.domain.MarketQrVisit;
import com.likelion.coremodule.market.exception.MarketErrorCode;
Expand All @@ -17,6 +18,7 @@
import com.likelion.coremodule.user.domain.User;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDate;
import java.util.List;
Expand All @@ -27,6 +29,7 @@ public class MarketQueryService {

private final MarketRepository marketRepository;
private final MarketQrVisitRepository marketQrVisitRepository;
private final VisitListQueryService visitListQueryService;
private final UserQueryService userQueryService;
private final StoreQueryService storeQueryService;
private final VisitListRepository visitListRepository;
Expand All @@ -47,6 +50,31 @@ public Integer findMyMarketVisit(Long marketId, Long userId) {
return marketQrVisitRepository.countAllByMarketIdAndUserUserId(marketId, userId);
}

@Transactional
public void saveVisitListToPreparing(Long storeId, String email) {

User user = userQueryService.findByEmail(email);
Store store = storeQueryService.findStoreById(storeId);

// 현재 날짜 가져오기
LocalDate today = LocalDate.now();

// 오늘 동일한 사용자가 동일한 가게를 방문한 기록이 있는지 확인
if (visitListRepository.findVisitListByUserUserIdAndStoreIdAndVisitedDate(user.getUserId(), storeId, today) != null) {
VisitList visitList = visitListRepository.findVisitListByUserUserIdAndStoreIdAndVisitedDate(user.getUserId(), storeId, today);
visitList.updateToPreparing();
} else {
final VisitList visitList = VisitList.builder()
.store(store)
.user(user)
.visit_status(VisitStatus.PREPARING)
.visitedDate(today)
.build();
visitListRepository.save(visitList);
}
}

@Transactional
public void saveVisitList(Long storeId, String email) {

User user = userQueryService.findByEmail(email);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,14 @@ public class MenuQueryService {
private final MenuRepository menuRepository;

public List<Menu> findAllMenus() {

return menuRepository.findAll();
}

public Menu findMenuById(Long menuId) {

return menuRepository.findById(menuId).orElseThrow(() -> new MenuException(MenuErrorCode.NO_MENU_INFO));
}

public List<Menu> findMenusByStoreId(Long storeId) {

return menuRepository.findAllByStoreId(storeId);
}
}

0 comments on commit e49b386

Please sign in to comment.