Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,6 @@ public void deleteCart(UUID cartId) {
.findById(cartId)
.orElseThrow(() -> new CommonException(CartErrorCode.CART_NOT_FOUND));
memberUtil.assertMemberResourceAccess(cart.getMember());
cartRepository.delete(cart);
cart.softDelete(memberUtil.getCurrentMember().getMemberId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Entity
@Getter
@Table(name = "p_cart")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@SQLDelete(sql = "UPDATE p_cart SET deleted_at = NOW() WHERE cart_id = ?")
@Where(clause = "deleted_at IS NULL")
public class Cart extends BaseEntity {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.irum.come2us.domain.category.presentation.dto.response.CategoryResponse;
import com.irum.come2us.global.presentation.advice.exception.CommonException;
import com.irum.come2us.global.presentation.advice.exception.errorcode.CategoryErrorCode;
import com.irum.come2us.global.util.MemberUtil;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
Expand All @@ -21,6 +22,7 @@
public class CategoryService {

private final CategoryRepository categoryRepository;
private final MemberUtil memberUtil;

@Transactional(readOnly = true)
public List<CategoryInfoResponse> findRootCategories() {
Expand Down Expand Up @@ -90,6 +92,6 @@ public void deleteCategory(UUID id) {
.findById(id)
.orElseThrow(
() -> new CommonException(CategoryErrorCode.CATEGORY_NOT_FOUND));
categoryRepository.delete(category);
category.softDelete(memberUtil.getCurrentMember().getMemberId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
import java.util.UUID;
import lombok.*;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Getter
@Entity
@Table(name = "p_category")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Where(clause = "deleted_at IS NULL")
@Builder(access = AccessLevel.PRIVATE)
public class Category extends BaseEntity {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.irum.come2us.domain.coupon.domain.repository.AppliedCouponRepository;
import com.irum.come2us.domain.coupon.domain.repository.CouponRepository;
import com.irum.come2us.domain.payment.domain.entity.Payment;
import com.irum.come2us.global.util.MemberUtil;
import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
Expand All @@ -17,6 +18,7 @@
public class AppliedCouponService {
private final AppliedCouponRepository appliedCouponRepository;
private final CouponRepository couponRepository;
private final MemberUtil memberUtil;

/** 쿠폰 사용 처리 */
public void createAppliedCouponList(Payment payment, List<UUID> couponIdList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.irum.come2us.global.presentation.advice.exception.CommonException;
import com.irum.come2us.global.presentation.advice.exception.errorcode.CouponErrorCode;
import com.irum.come2us.global.presentation.advice.exception.errorcode.MemberErrorCode;
import com.irum.come2us.global.util.MemberUtil;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
Expand All @@ -24,6 +25,7 @@ public class CouponService {
private final CouponRepository couponRepository;
private final MemberRepository memberRepository;
private final AppliedCouponRepository appliedCouponRepository;
private final MemberUtil memberUtil;

public void createCoupon(CouponGenerateRequest request, Long memberId) {

Expand Down Expand Up @@ -55,7 +57,8 @@ public void deleteCoupon(UUID couponId, Long memberId) {
if (!coupon.getMember().getMemberId().equals(memberId)) {
throw new CommonException(CouponErrorCode.ONLY_OWNER_CAN_DELETE);
}
couponRepository.delete(coupon);
memberUtil.assertMemberResourceAccess(coupon.getMember());
coupon.softDelete(memberUtil.getCurrentMember().getMemberId());
}

/** 쿠폰 유효성 검증 및 할인 금액 계산 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

Expand All @@ -20,7 +19,6 @@
@Getter
@Builder
@AllArgsConstructor
@SQLDelete(sql = "UPDATE p_applied_coupon SET deleted_at = NOW() WHERE applied_coupon_id = ?")
@Where(clause = "deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class AppliedCoupon extends BaseEntity {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
package com.irum.come2us.domain.coupon.domain.entity;

import com.irum.come2us.domain.member.domain.entity.Member;
import com.irum.come2us.global.domain.BaseEntity;
import jakarta.persistence.*;
import jakarta.validation.constraints.Min;
import java.time.LocalDateTime;
import java.util.UUID;
import lombok.*;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

// 1. 엔티티

@Entity
@Table(name = "p_coupon")
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Coupon {
@Where(clause = "deleted_at IS NULL")
public class Coupon extends BaseEntity {

@Id // 쿠폰 아이디
@UuidGenerator(style = UuidGenerator.Style.RANDOM)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ public void removeDeliveryAddress(UUID deliveryAddressId) {
.findTopByMemberOrderByCreatedAtDesc(member)
.ifPresent(DeliveryAddress::markAsDefault);
}
deliveryAddressRepository.delete(address);
memberUtil.assertMemberResourceAccess(address.getMember());
address.softDelete(memberUtil.getCurrentMember().getMemberId());
}

private DeliveryAddress validDeliveryAddress(UUID deliveryAddressId) {
Expand Down Expand Up @@ -130,6 +131,6 @@ public void applyValidUpdate(DeliveryAddress address, String newName, String new
if (!StringUtils.hasText(newName) && !StringUtils.hasText(newContact))
throw new CommonException(GlobalErrorCode.EMPTY_REQUEST);
if (StringUtils.hasText(newName)) address.updateRecipientName(newName);
if (StringUtils.hasText(newContact)) address.updateAddressDetail(newContact);
if (StringUtils.hasText(newContact)) address.updateRecipientContact(newContact);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Getter
@Entity
@Table(name = "p_delivery_address")
@SQLDelete(sql = "UPDATE p_delivery_address SET deleted_at = NOW() WHERE delivery_address_id = ?")
@Where(clause = "deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class DeliveryAddress extends BaseEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,9 @@ public void changeDeliveryPolicy(
public void withdrawDeliveryPolicy(UUID deliveryPolicyId) {
DeliveryPolicy deliveryPolicy = validDeliveryPolicy(deliveryPolicyId);
Store store = deliveryPolicy.getStore();

store.setDeliveryPolicy(null);
deliveryPolicy.setStore(null);

deliveryPolicyRepository.delete(deliveryPolicy);
deliveryPolicy.softDelete(memberUtil.getCurrentMember().getMemberId());
}

@Transactional(readOnly = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,12 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Entity
@Getter
@Table(name = "p_delivery_policy")
@SQLDelete(sql = "UPDATE p_delivery_policy SET deleted_at = NOW() WHERE delivery_policy_id = ?")
@Where(clause = "deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class DeliveryPolicy extends BaseEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,15 @@
import com.irum.come2us.domain.discount.presentation.dto.response.DiscountInfoListResponse;
import com.irum.come2us.domain.discount.presentation.dto.response.DiscountInfoResponse;
import com.irum.come2us.domain.member.application.util.MemberValidator;
import com.irum.come2us.domain.member.domain.entity.Member;
import com.irum.come2us.domain.product.domain.entity.Product;
import com.irum.come2us.domain.product.domain.repository.ProductRepository;
import com.irum.come2us.domain.store.domain.entity.Store;
import com.irum.come2us.domain.store.domain.repository.StoreRepository;
import com.irum.come2us.global.presentation.advice.exception.CommonException;
import com.irum.come2us.global.presentation.advice.exception.errorcode.DiscountErrorCode;
import com.irum.come2us.global.presentation.advice.exception.errorcode.MemberErrorCode;
import com.irum.come2us.global.presentation.advice.exception.errorcode.ProductErrorCode;
import com.irum.come2us.global.presentation.advice.exception.errorcode.StoreErrorCode;
import com.irum.come2us.global.util.MemberUtil;
import java.util.List;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
Expand All @@ -33,6 +32,7 @@ public class DiscountService {
private final ProductRepository productRepository;
private final StoreRepository storeRepository;
private final MemberValidator memberValidator;
private final MemberUtil memberUtil;

public void createDiscount(DiscountRegisterRequest request) {
Product product = assertOwnerProduct(request.productId());
Expand Down Expand Up @@ -76,7 +76,7 @@ public void changeDiscountInfo(UUID discountId, DiscountInfoUpdateRequest reques

public void removeDiscount(UUID discountId) {
Discount discount = getValidDiscount(discountId);
discountRepository.delete(discount);
discount.softDelete(memberUtil.getCurrentMember().getMemberId());
}

private void checkDuplicateDiscount(UUID productId) {
Expand All @@ -91,7 +91,7 @@ private Discount getValidDiscount(UUID discountId) {
.findById(discountId)
.orElseThrow(
() -> new CommonException(DiscountErrorCode.DISCOUNT_NOT_FOUND));
assertMember(discount.getProduct().getStore().getMember());
memberUtil.assertMemberResourceAccess(discount.getProduct().getStore().getMember());
return discount;
}

Expand All @@ -101,7 +101,7 @@ private Discount getValidDiscountOfProduct(UUID productId) {
.findByProductId(productId)
.orElseThrow(
() -> new CommonException(DiscountErrorCode.DISCOUNT_NOT_FOUND));
assertMember(discount.getProduct().getStore().getMember());
memberUtil.assertMemberResourceAccess(discount.getProduct().getStore().getMember());
return discount;
}

Expand All @@ -110,7 +110,7 @@ private Product assertOwnerProduct(UUID productId) { // 본인의 상품에 대
productRepository
.findById(productId)
.orElseThrow(() -> new CommonException(ProductErrorCode.PRODUCT_NOT_FOUND));
assertMember(product.getStore().getMember());
memberUtil.assertMemberResourceAccess(product.getStore().getMember());
return product;
}

Expand All @@ -119,13 +119,7 @@ private Store assertOwnerStore(UUID storeId) {
storeRepository
.findById(storeId)
.orElseThrow(() -> new CommonException(StoreErrorCode.STORE_NOT_FOUND));
assertMember(store.getMember());
memberUtil.assertMemberResourceAccess(store.getMember());
return store;
}

private void assertMember(Member member) {
Member currentMember = memberValidator.getCurrentMember();
if (!member.getMemberId().equals(currentMember.getMemberId()))
throw new CommonException(MemberErrorCode.UNAUTHORIZED_ACCESS);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,12 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Entity
@Getter
@Table(name = "p_discount")
@SQLDelete(sql = "UPDATE p_discount SET deleted_at = NOW() WHERE discount_id = ?")
@Where(clause = "deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Discount extends BaseEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,6 @@ public void changeManagerPassword(Long memberId, MemberPasswordUpdateRequest req
public void removeManager(Long memberId) {
Member member = memberValidator.getMemberById(memberId);
memberValidator.assertMemberIsManager(member);
memberRepository.delete(member);
member.updateDeletedAt();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,11 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;

@Getter
@Entity
@Table(name = "p_member")
@SQLDelete(sql = "UPDATE p_member SET deleted_at = NOW() WHERE member_id = ?")
@Where(clause = "deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member extends BaseTimeEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.util.List;
import java.util.UUID;
import lombok.*;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.SQLRestriction;
import org.hibernate.annotations.UuidGenerator;

Expand All @@ -20,7 +19,6 @@
@Getter
@NoArgsConstructor
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@SQLDelete(sql = "UPDATE p_order SET deleted_at = NOW() WHERE order_id=?")
@SQLRestriction("deleted_at is null")
@Table(name = "p_order")
public class Order extends BaseEntity {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
@Builder
@Getter
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@SQLDelete(sql = "UPDATE p_order_detail SET deleted_at = NOW() WHERE order_detail_id=?")
@SQLRestriction("deleted_at is null")
@NoArgsConstructor
@Table(name = "p_order_detail")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@
import java.util.List;
import java.util.UUID;
import lombok.*;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.SQLRestriction;
import org.hibernate.annotations.UuidGenerator;

@Builder
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@SQLDelete(sql = "UPDATE p_payment SET deleted_at = NOW() WHERE payment_id=?")
@SQLRestriction("deleted_at is null")
@NoArgsConstructor
@Entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,7 @@ public void deleteProductImage(UUID productId, UUID imageId) {

fileStorageService.delete(image.getImageUrl());
image.unmarkAsDefault();
productImageRepository.delete(image);
productImageRepository.flush();
image.softDelete(memberUtil.getCurrentMember().getMemberId());

if (wasDefault) {
productImageRepository
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,8 +252,7 @@ public void deleteProduct(UUID productId) {
.orElseThrow(() -> new CommonException(ProductErrorCode.PRODUCT_NOT_FOUND));

memberUtil.assertMemberResourceAccess(product.getStore().getMember());

productRepository.delete(product);
product.softDelete(memberUtil.getCurrentMember().getMemberId());
log.info("상품 삭제 완료: productId={}", productId);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,13 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.UuidGenerator;
import org.hibernate.annotations.Where;

@Entity
@Getter
@Table(name = "p_product")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@SQLDelete(sql = "UPDATE p_product SET deleted_at = NOW() WHERE product_id = ?")
@Where(clause = "deleted_at IS NULL")
public class Product extends BaseEntity {
@Id
Expand Down
Loading