Skip to content

Commit

Permalink
fix: Fixed comments
Browse files Browse the repository at this point in the history
  • Loading branch information
koreanMike513 committed Feb 9, 2025
1 parent cc8b56e commit a8cfcc2
Show file tree
Hide file tree
Showing 9 changed files with 127 additions and 222 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,13 @@ public void update(
String foodName,
BigDecimal price,
int totalQuantity,
Currency currency,
LocalDateTime collectionStartTime,
LocalDateTime collectionEndTime
) {

this.foodName = foodName;
this.price = price;
this.totalQuantity = totalQuantity;
this.currency = currency;
this.collectionStartTime = collectionStartTime;
this.collectionEndTime = collectionEndTime;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,17 @@
@NoArgsConstructor
public class FoodSearchCondition {
// TODO 거리 추가 구현
// 위도 경도 DEFAULT SET TO LONDON
Double lat = 51.5072;
Double lon = -0.118092;

Double lat = London.lat;
Double lon = London.lon;
String search;
int page = 0;
int size = 25;
List<String> sortBy = List.of("RATE_HIGH");

// 위도 경도 DEFAULT SET TO LONDON
static class London {
private static final Double lat = 51.5072;
private static final Double lon = -0.118092;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,11 @@ public class CreateFoodRequestDTO {
@JsonProperty("collection_end")
private LocalDateTime collectionEndTime;

public Food toEntity(Currency currency) {
public Food toEntity() {
return Food.builder()
.foodName(foodName)
.price(price)
.totalQuantity(totalQuantity)
.currency(currency)
.collectionStartTime(collectionStartTime)
.collectionEndTime(collectionEndTime)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class FoodDTO {
private String currencySymbol;

@JsonProperty("rate")
private double rate;
private BigDecimal rate;

@JsonProperty("collection_start")
private LocalDateTime collectionStartTime;
Expand All @@ -59,7 +59,7 @@ public FoodDTO(
int totalQuantity,
String currencyCode,
String currencySymbol,
double rate,
BigDecimal rate,
LocalDateTime collectionStartTime,
LocalDateTime collectionEndTime
) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -56,11 +55,7 @@ public Page<FoodDTO> getFoodList(FoodSearchCondition condition, Pageable pageabl
.from(food)
.innerJoin(food.currency, currency)
.innerJoin(food.store, store)
.where(Expressions.anyOf(
eqFoodName(condition.getSearch()),
eqFoodTag(condition.getSearch()),
eqStoreName(condition.getSearch()))
)
.where(eqFoodNameTagsAndStoreName(condition.getSearch()))
.orderBy(getOrders(condition.getSortBy()))
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
Expand All @@ -75,26 +70,36 @@ public Page<FoodDTO> getFoodList(FoodSearchCondition condition, Pageable pageabl
return new PageImpl<>(result, pageable, count);
}

private BooleanExpression eqFoodName(String search) {
return (search != null) ? food.foodName.containsIgnoreCase(search) : null;
}

private BooleanExpression eqFoodTag(String search) {
return (search != null) ? food.tags.containsIgnoreCase(search) : null;
}
private BooleanExpression eqFoodNameTagsAndStoreName(String search) {
return (search != null)
? Expressions.anyOf(
food.foodName.containsIgnoreCase(search),
Expressions.booleanTemplate(
"LOWER({0}) LIKE LOWER(CONCAT('%', {1}, '%'))",
food.tags, search),
food.store.name.containsIgnoreCase(search))

private BooleanExpression eqStoreName(String search) {
return (search != null) ? food.store.name.containsIgnoreCase(search) : null;
: null;
}

private OrderSpecifier[] getOrders(List<String> sortBy) {
List<OrderSpecifier> list = new ArrayList<>();
int size = 0, idx = 0;

for (String sort : sortBy) {
if (sortByMap.containsKey(sort))
size++;
}

if (size == 0)
return new OrderSpecifier[]{ food.rate.desc() };

OrderSpecifier[] list = new OrderSpecifier[size];

for (String sort : sortBy) {
if (sortByMap.containsKey(sort))
list.add(sortByMap.get(sort));
list[idx++] = sortByMap.get(sort);
}

return list.toArray(OrderSpecifier[]::new);
return list;
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package com.f_lab.joyeuse_planete.foods.service;

import com.f_lab.joyeuse_planete.core.domain.Currency;
import com.f_lab.joyeuse_planete.core.domain.Food;
import com.f_lab.joyeuse_planete.core.exceptions.ErrorCode;
import com.f_lab.joyeuse_planete.core.exceptions.JoyeusePlaneteApplicationException;
import com.f_lab.joyeuse_planete.foods.domain.FoodSearchCondition;
import com.f_lab.joyeuse_planete.foods.dto.request.CreateFoodRequestDTO;
import com.f_lab.joyeuse_planete.foods.dto.request.UpdateFoodRequestDTO;
import com.f_lab.joyeuse_planete.foods.dto.response.FoodDTO;
import com.f_lab.joyeuse_planete.foods.repository.CurrencyRepository;
import com.f_lab.joyeuse_planete.foods.repository.FoodRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -25,7 +23,6 @@
public class FoodService {

private final FoodRepository foodRepository;
private final CurrencyRepository currencyRepository;

public FoodDTO getFood(Long foodId) {
return FoodDTO.from(findFood(foodId));
Expand All @@ -37,8 +34,7 @@ public Page<FoodDTO> getFoodList(FoodSearchCondition condition, Pageable pageabl

@Transactional
public void createFood(CreateFoodRequestDTO request) {
Currency currency = findCurrency(request.getCurrencyCode());
Food food = request.toEntity(currency);
Food food = request.toEntity();

foodRepository.save(food);
}
Expand All @@ -51,13 +47,11 @@ public void deleteFood(Long foodId) {
@Transactional
public void updateFood(Long foodId, UpdateFoodRequestDTO request) {
Food food = findFood(foodId);
Currency currency = findCurrency(request.getCurrencyCode());

food.update(
request.getFoodName(),
request.getPrice(),
request.getTotalQuantity(),
currency,
request.getCollectionStartTime(),
request.getCollectionEndTime()
);
Expand Down Expand Up @@ -88,9 +82,4 @@ private Food findFoodWithLock(Long foodId) {
return foodRepository.findFoodByFoodIdWithPessimisticLock(foodId)
.orElseThrow(() -> new JoyeusePlaneteApplicationException(ErrorCode.FOOD_NOT_EXIST_EXCEPTION));
}

private Currency findCurrency(String currencyCode) {
return currencyRepository.findByCurrencyCode(currencyCode)
.orElseThrow(() -> new JoyeusePlaneteApplicationException(ErrorCode.CURRENCY_NOT_EXIST_EXCEPTION));
}
}
Loading

0 comments on commit a8cfcc2

Please sign in to comment.