diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/cake/Cake.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/cake/Cake.java index dfb5f373..929917c1 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/cake/Cake.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/cake/Cake.java @@ -20,6 +20,7 @@ import org.hibernate.annotations.ColumnDefault; import lombok.AccessLevel; +import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; @@ -58,6 +59,7 @@ public class Cake extends AuditEntity { @Column(name = "deleted_at") private LocalDateTime deletedAt; + @Builder public Cake(String cakeImageUrl, CakeShop cakeShop) { this.cakeImageUrl = cakeImageUrl; this.cakeShop = cakeShop; @@ -98,4 +100,19 @@ public void removeCakeCategories() { public void removeCakeTags() { this.cakeTags.clear(); } + + public void registerTags(List tags) { + tags.forEach(tag -> this.cakeTags.add(CakeTagMapper.supplyCakeTagBy(this, tag))); + } + + public void registerCategories(List cakeCategories) { + cakeCategories.forEach(cakeCategory -> { + cakeCategory.updateCake(this); + this.cakeCategories.add(cakeCategory); + }); + } + + public void updateCakeShop(CakeShop cakeShop) { + this.cakeShop = cakeShop; + } } diff --git a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/shop/CakeShop.java b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/shop/CakeShop.java index f0cef2bb..4c9d7096 100644 --- a/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/shop/CakeShop.java +++ b/cakk-domain/mysql/src/main/java/com/cakk/domain/mysql/entity/shop/CakeShop.java @@ -26,6 +26,7 @@ import com.cakk.domain.mysql.dto.param.shop.CakeShopUpdateParam; import com.cakk.domain.mysql.dto.param.shop.UpdateShopAddressParam; import com.cakk.domain.mysql.entity.audit.AuditEntity; +import com.cakk.domain.mysql.entity.cake.Cake; import com.cakk.domain.mysql.entity.user.BusinessInformation; @Getter @@ -83,6 +84,9 @@ public class CakeShop extends AuditEntity { @OneToMany(mappedBy = "cakeShop", cascade = CascadeType.PERSIST, orphanRemoval = true) private List cakeShopOperations = new ArrayList<>(); + @OneToMany(mappedBy = "cakeShop", cascade = CascadeType.PERSIST) + private List cakes = new ArrayList<>(); + @Builder public CakeShop( String shopName, @@ -148,4 +152,9 @@ public void updateShopOperationDays(List cakeShopOperations) this.cakeShopOperations.add(cakeShopOperation); }); } + + public void registerCake(Cake cake) { + cake.updateCakeShop(this); + this.cakes.add(cake); + } }