Skip to content

Commit 9bbed26

Browse files
authored
Merge pull request #65 from Decodeat/Refactor/#64
Refactor: 좋아요시 user_behavior에 추가/삭제되도록 수정
2 parents 1a0e8d2 + c68d9e2 commit 9bbed26

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

src/main/java/com/DecodEat/domain/products/service/ProductService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@ public ProductLikeResponseDTO addOrUpdateLike(Long userId, Long productId) {
365365
// 이미 눌렀으면 → 좋아요 취소
366366
productLikeRepository.delete(existingLike.get());
367367
isLiked = false;
368+
userBehaviorService.deleteUserBehavior(user,product, Behavior.LIKE);
369+
368370
} else {
369371
// 처음 누르면 → 좋아요 추가
370372
ProductLike productLike = ProductLike.builder()
@@ -373,6 +375,7 @@ public ProductLikeResponseDTO addOrUpdateLike(Long userId, Long productId) {
373375
.build();
374376
productLikeRepository.save(productLike);
375377
isLiked = true;
378+
userBehaviorService.saveUserBehavior(user,product, Behavior.LIKE);
376379
}
377380
return ProductConverter.toProductLikeDTO(productId, isLiked);
378381
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
package com.DecodEat.domain.users.repository;
22

3+
import com.DecodEat.domain.products.entity.Product;
4+
import com.DecodEat.domain.users.entity.Behavior;
5+
import com.DecodEat.domain.users.entity.User;
36
import com.DecodEat.domain.users.entity.UserBehavior;
47
import org.springframework.data.jpa.repository.JpaRepository;
58

69
public interface UserBehaviorRepository extends JpaRepository<UserBehavior, Long> {
10+
11+
void deleteByUserAndProductAndBehavior(User user, Product product, Behavior behavior);
12+
713
}

src/main/java/com/DecodEat/domain/users/service/UserBehaviorService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
@Service
1313
@RequiredArgsConstructor
1414
public class UserBehaviorService {
15+
1516
private final UserBehaviorRepository userBehaviorRepository;
17+
1618
@Transactional
1719
public void saveUserBehavior(User user, Product product, Behavior behavior) {
1820
UserBehavior userBehavior = UserBehavior.builder()
@@ -22,4 +24,10 @@ public void saveUserBehavior(User user, Product product, Behavior behavior) {
2224
.build();
2325
userBehaviorRepository.save(userBehavior);
2426
}
27+
28+
@Transactional
29+
public void deleteUserBehavior(User user, Product product, Behavior behavior) {
30+
userBehaviorRepository.deleteByUserAndProductAndBehavior(user, product, behavior);
31+
}
32+
2533
}

0 commit comments

Comments
 (0)