Skip to content

Commit

Permalink
Merge pull request #19 from d-h-k/BE-Sally
Browse files Browse the repository at this point in the history
[BE] 카테고리 DTO 생성 및 유틸 패키지 분리
  • Loading branch information
sallyjellyy committed Apr 23, 2021
2 parents c7ba9e8 + 0af912c commit d22efdc
Show file tree
Hide file tree
Showing 10 changed files with 220 additions and 129 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package com.codesquad.team14.domain;

import com.codesquad.team14.dto.item.ItemDto;
import org.springframework.data.annotation.Id;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Category {
Expand All @@ -12,6 +15,8 @@ public class Category {

private String name;

private boolean isBest;

private final Set<Item> items = new HashSet<>();

public Category(String name) {
Expand All @@ -26,14 +31,31 @@ public String getName() {
return name;
}

public boolean isBest() {
return isBest;
}

public Set<Item> getItems() {
return items;
}

public List<ItemDto> getItemDtoList() {
List<ItemDto> itemDtoList = new ArrayList<>();
for (Item item : items) {
itemDtoList.add(ItemDto.from(item));
}

return itemDtoList;
}

public void setName(String name) {
this.name = name;
}

public void setBest() {
isBest = !isBest;
}

public void addItem(Item item) {
items.add(item);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.codesquad.team14.domain;

import com.codesquad.team14.utils.Badge;
import com.codesquad.team14.utils.DeliveryType;
import org.springframework.data.annotation.Id;

import java.util.List;
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.codesquad.team14.dto.category;

import com.codesquad.team14.domain.Category;
import com.codesquad.team14.dto.item.ItemDto;

import java.util.List;

public class CategoryDto {
private Long id;
private String name;
private List<ItemDto> items;

private CategoryDto(Long id, String name, List<ItemDto> items) {
this.id = id;
this.name = name;
this.items = items;
}

public static CategoryDto from(Category category) {
return new CategoryDto(
category.getId(),
category.getName(),
category.getItemDtoList()
);
}

public Long getId() {
return id;
}

public String getName() {
return name;
}

public List<ItemDto> getItems() {
return items;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package com.codesquad.team14.dto.item;

import com.codesquad.team14.domain.Item;

import java.util.Arrays;
import java.util.List;

public class DetailedItemDto {
private final Long id;
private final String topImage;
private final List<String> thumbImages;
private final String description;
private final String deliveryInfo;
private final String deliveryFee;
private final int nPrice;
private final int sPrice;
private final int point;

public DetailedItemDto(Long id, String topImage, List<String> thumbImages, String description, String deliveryInfo,
String deliveryFee, int nPrice, int sPrice, int point) {
this.id = id;
this.topImage = topImage;
this.thumbImages = thumbImages;
this.description = description;
this.deliveryInfo = deliveryInfo;
this.deliveryFee = deliveryFee;
this.nPrice = nPrice;
this.sPrice = sPrice;
this.point = point;
}

public static DetailedItemDto from(Item item) {
return new DetailedItemDto(
item.getId(),
item.getImages().split(", ")[0],
Arrays.asList(item.getImages().split(", ")),
item.getDescription(),
item.getDeliveryInfo(),
item.getDeliveryFeePolicy(),
item.getNPrice(),
item.getSPrice(),
item.getSPrice() / 100
);
}

public Long getId() {
return id;
}

public String getTopImage() {
return topImage;
}

public List<String> getThumbImages() {
return thumbImages;
}

public String getDescription() {
return description;
}

public String getDeliveryInfo() {
return deliveryInfo;
}

public String getDeliveryFee() {
return deliveryFee;
}

public int getnPrice() {
return nPrice;
}

public int getsPrice() {
return sPrice;
}

public int getPoint() {
return point;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package com.codesquad.team14.dto.item;

import com.codesquad.team14.domain.Item;
import com.codesquad.team14.utils.Badge;

import java.util.List;

public class ItemDto {
private Long id;
private String topImage;
private String deliveryTypes;
private String title;
private String description;
private int nPrice;
private int sPrice;
private List<Badge> badges;

private ItemDto(Long id, String image, String deliveryTypes, String title,
String description, int nPrice, int sPrice, List<Badge> badges) {
this.id = id;
this.topImage = image;
this.deliveryTypes = deliveryTypes;
this.title = title;
this.description = description;
this.nPrice = nPrice;
this.sPrice = sPrice;
this.badges = badges;
}

public static ItemDto from(Item item) {
return new ItemDto(
item.getId(),
item.getImages().split(", ")[0],
item.getDeliveryTypes().toString(),
item.getTitle(),
item.getDescription(),
item.getNPrice(),
item.getSPrice(),
item.getBadges()
);
}

public Long getId() {
return id;
}

public String getTopImage() {
return topImage;
}

public String getDeliveryTypes() {
return deliveryTypes;
}

public String getTitle() {
return title;
}

public String getDescription() {
return description;
}

public int getnPrice() {
return nPrice;
}

public int getsPrice() {
return sPrice;
}

public List<Badge> getBadges() {
return badges;
}

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
package com.codesquad.team14.repository;

import com.codesquad.team14.domain.Category;
import com.codesquad.team14.domain.Item;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CategoryRepository extends CrudRepository<Category, Long> {
}
Loading

0 comments on commit d22efdc

Please sign in to comment.