Skip to content

Commit b983512

Browse files
willjswSunwoo Jung
andauthored
[Chore] Soft Delete 일괄 적용 (#245)
* refactor #216: BaseTimeEntity updateDeletedAt 접근 제어자 변경 * chore #216: Member 변경된 Soft Delete 적용 * chore #216: Cart 변경된 Soft Delete 적용 * chore #216: Category 변경된 Soft Delete 적용 * chore #216: Coupon 변경된 Soft Delete 적용 * chore #216: DeliveryAddress 변경된 Soft Delete 적용 * chore #216: DeliveryPolicy 변경된 Soft Delete 적용 * chore #216: Discount 변경된 Soft Delete 적용 & MemberAssert 중복 적용 제거 * chore #216: Order 변경된 Soft Delete 적용 * chore #216: Payment 변경된 Soft Delete 적용 * chore #216: Product 변경된 Soft Delete 적용 * chore #216: Refund 변경된 Soft Delete 적용 * chore #216: Review 변경된 Soft Delete 적용 * chore #216: Store 변경된 Soft Delete 적용 * refactor #216: spotless apply --------- Co-authored-by: Sunwoo Jung <sunwoo@Sunwooui-MacBookPro.local>
1 parent 997f744 commit b983512

32 files changed

Lines changed: 35 additions & 67 deletions

File tree

src/main/java/com/irum/come2us/domain/cart/application/service/CartService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,6 @@ public void deleteCart(UUID cartId) {
7777
.findById(cartId)
7878
.orElseThrow(() -> new CommonException(CartErrorCode.CART_NOT_FOUND));
7979
memberUtil.assertMemberResourceAccess(cart.getMember());
80-
cartRepository.delete(cart);
80+
cart.softDelete(memberUtil.getCurrentMember().getMemberId());
8181
}
8282
}

src/main/java/com/irum/come2us/domain/cart/domain/entity/Cart.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,13 @@
99
import lombok.Builder;
1010
import lombok.Getter;
1111
import lombok.NoArgsConstructor;
12-
import org.hibernate.annotations.SQLDelete;
1312
import org.hibernate.annotations.UuidGenerator;
1413
import org.hibernate.annotations.Where;
1514

1615
@Entity
1716
@Getter
1817
@Table(name = "p_cart")
1918
@NoArgsConstructor(access = AccessLevel.PROTECTED)
20-
@SQLDelete(sql = "UPDATE p_cart SET deleted_at = NOW() WHERE cart_id = ?")
2119
@Where(clause = "deleted_at IS NULL")
2220
public class Cart extends BaseEntity {
2321

src/main/java/com/irum/come2us/domain/category/application/service/CategoryService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.irum.come2us.domain.category.presentation.dto.response.CategoryResponse;
99
import com.irum.come2us.global.presentation.advice.exception.CommonException;
1010
import com.irum.come2us.global.presentation.advice.exception.errorcode.CategoryErrorCode;
11+
import com.irum.come2us.global.util.MemberUtil;
1112
import java.util.List;
1213
import java.util.UUID;
1314
import java.util.stream.Collectors;
@@ -21,6 +22,7 @@
2122
public class CategoryService {
2223

2324
private final CategoryRepository categoryRepository;
25+
private final MemberUtil memberUtil;
2426

2527
@Transactional(readOnly = true)
2628
public List<CategoryInfoResponse> findRootCategories() {
@@ -90,6 +92,6 @@ public void deleteCategory(UUID id) {
9092
.findById(id)
9193
.orElseThrow(
9294
() -> new CommonException(CategoryErrorCode.CATEGORY_NOT_FOUND));
93-
categoryRepository.delete(category);
95+
category.softDelete(memberUtil.getCurrentMember().getMemberId());
9496
}
9597
}

src/main/java/com/irum/come2us/domain/category/domain/entity/Category.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@
99
import java.util.UUID;
1010
import lombok.*;
1111
import org.hibernate.annotations.UuidGenerator;
12+
import org.hibernate.annotations.Where;
1213

1314
@Getter
1415
@Entity
1516
@Table(name = "p_category")
1617
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1718
@AllArgsConstructor(access = AccessLevel.PRIVATE)
19+
@Where(clause = "deleted_at IS NULL")
1820
@Builder(access = AccessLevel.PRIVATE)
1921
public class Category extends BaseEntity {
2022

src/main/java/com/irum/come2us/domain/coupon/application/service/AppliedCouponService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.irum.come2us.domain.coupon.domain.repository.AppliedCouponRepository;
66
import com.irum.come2us.domain.coupon.domain.repository.CouponRepository;
77
import com.irum.come2us.domain.payment.domain.entity.Payment;
8+
import com.irum.come2us.global.util.MemberUtil;
89
import java.util.List;
910
import java.util.UUID;
1011
import lombok.RequiredArgsConstructor;
@@ -17,6 +18,7 @@
1718
public class AppliedCouponService {
1819
private final AppliedCouponRepository appliedCouponRepository;
1920
private final CouponRepository couponRepository;
21+
private final MemberUtil memberUtil;
2022

2123
/** 쿠폰 사용 처리 */
2224
public void createAppliedCouponList(Payment payment, List<UUID> couponIdList) {

src/main/java/com/irum/come2us/domain/coupon/application/service/CouponService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.irum.come2us.global.presentation.advice.exception.CommonException;
1111
import com.irum.come2us.global.presentation.advice.exception.errorcode.CouponErrorCode;
1212
import com.irum.come2us.global.presentation.advice.exception.errorcode.MemberErrorCode;
13+
import com.irum.come2us.global.util.MemberUtil;
1314
import java.time.LocalDateTime;
1415
import java.util.List;
1516
import java.util.UUID;
@@ -24,6 +25,7 @@ public class CouponService {
2425
private final CouponRepository couponRepository;
2526
private final MemberRepository memberRepository;
2627
private final AppliedCouponRepository appliedCouponRepository;
28+
private final MemberUtil memberUtil;
2729

2830
public void createCoupon(CouponGenerateRequest request, Long memberId) {
2931

@@ -55,7 +57,8 @@ public void deleteCoupon(UUID couponId, Long memberId) {
5557
if (!coupon.getMember().getMemberId().equals(memberId)) {
5658
throw new CommonException(CouponErrorCode.ONLY_OWNER_CAN_DELETE);
5759
}
58-
couponRepository.delete(coupon);
60+
memberUtil.assertMemberResourceAccess(coupon.getMember());
61+
coupon.softDelete(memberUtil.getCurrentMember().getMemberId());
5962
}
6063

6164
/** 쿠폰 유효성 검증 및 할인 금액 계산 */

src/main/java/com/irum/come2us/domain/coupon/domain/entity/AppliedCoupon.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import lombok.Builder;
1010
import lombok.Getter;
1111
import lombok.NoArgsConstructor;
12-
import org.hibernate.annotations.SQLDelete;
1312
import org.hibernate.annotations.UuidGenerator;
1413
import org.hibernate.annotations.Where;
1514

@@ -20,7 +19,6 @@
2019
@Getter
2120
@Builder
2221
@AllArgsConstructor
23-
@SQLDelete(sql = "UPDATE p_applied_coupon SET deleted_at = NOW() WHERE applied_coupon_id = ?")
2422
@Where(clause = "deleted_at IS NULL")
2523
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2624
public class AppliedCoupon extends BaseEntity {

src/main/java/com/irum/come2us/domain/coupon/domain/entity/Coupon.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
package com.irum.come2us.domain.coupon.domain.entity;
22

33
import com.irum.come2us.domain.member.domain.entity.Member;
4+
import com.irum.come2us.global.domain.BaseEntity;
45
import jakarta.persistence.*;
56
import jakarta.validation.constraints.Min;
67
import java.time.LocalDateTime;
78
import java.util.UUID;
89
import lombok.*;
910
import org.hibernate.annotations.UuidGenerator;
11+
import org.hibernate.annotations.Where;
1012

1113
// 1. 엔티티
1214

1315
@Entity
1416
@Table(name = "p_coupon")
1517
@Getter
1618
@NoArgsConstructor(access = AccessLevel.PROTECTED)
17-
public class Coupon {
19+
@Where(clause = "deleted_at IS NULL")
20+
public class Coupon extends BaseEntity {
1821

1922
@Id // 쿠폰 아이디
2023
@UuidGenerator(style = UuidGenerator.Style.RANDOM)

src/main/java/com/irum/come2us/domain/deliveryaddress/application/service/DeliveryAddressService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ public void removeDeliveryAddress(UUID deliveryAddressId) {
100100
.findTopByMemberOrderByCreatedAtDesc(member)
101101
.ifPresent(DeliveryAddress::markAsDefault);
102102
}
103-
deliveryAddressRepository.delete(address);
103+
memberUtil.assertMemberResourceAccess(address.getMember());
104+
address.softDelete(memberUtil.getCurrentMember().getMemberId());
104105
}
105106

106107
private DeliveryAddress validDeliveryAddress(UUID deliveryAddressId) {
@@ -130,6 +131,6 @@ public void applyValidUpdate(DeliveryAddress address, String newName, String new
130131
if (!StringUtils.hasText(newName) && !StringUtils.hasText(newContact))
131132
throw new CommonException(GlobalErrorCode.EMPTY_REQUEST);
132133
if (StringUtils.hasText(newName)) address.updateRecipientName(newName);
133-
if (StringUtils.hasText(newContact)) address.updateAddressDetail(newContact);
134+
if (StringUtils.hasText(newContact)) address.updateRecipientContact(newContact);
134135
}
135136
}

src/main/java/com/irum/come2us/domain/deliveryaddress/domain/entity/DeliveryAddress.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@
88
import lombok.Builder;
99
import lombok.Getter;
1010
import lombok.NoArgsConstructor;
11-
import org.hibernate.annotations.SQLDelete;
1211
import org.hibernate.annotations.UuidGenerator;
1312
import org.hibernate.annotations.Where;
1413

1514
@Getter
1615
@Entity
1716
@Table(name = "p_delivery_address")
18-
@SQLDelete(sql = "UPDATE p_delivery_address SET deleted_at = NOW() WHERE delivery_address_id = ?")
1917
@Where(clause = "deleted_at IS NULL")
2018
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2119
public class DeliveryAddress extends BaseEntity {

0 commit comments

Comments
 (0)