Skip to content

Commit ade58cd

Browse files
committed
Merge branch 'develop' into refactor/T3-148
2 parents 8dafb05 + a023f32 commit ade58cd

11 files changed

Lines changed: 86 additions & 9 deletions

File tree

src/main/java/bitnagil/bitnagil_backend/emotionMarble/domain/EmotionMarble.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@
1010
import lombok.Builder;
1111
import lombok.Getter;
1212
import lombok.NoArgsConstructor;
13+
import org.hibernate.annotations.SQLDelete;
14+
import org.hibernate.annotations.Where;
1315

1416
import java.time.LocalDate;
1517
import java.time.LocalDateTime;
16-
import java.util.UUID;
1718

1819
@Getter
1920
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2021
@Entity
22+
@SQLDelete(sql = "UPDATE emotion_marble SET deleted_at = NOW() WHERE emotion_marble_id = ?")
23+
@Where(clause = "deleted_at IS NULL")
2124
public class EmotionMarble extends BaseTimeEntity {
2225

2326
@EmbeddedId
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package bitnagil.bitnagil_backend.global.config;
2+
3+
import bitnagil.bitnagil_backend.global.interceptor.LoggingInterceptor;
4+
import org.springframework.beans.factory.annotation.Autowired;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
7+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8+
9+
@Configuration
10+
public class WebConfig implements WebMvcConfigurer {
11+
12+
@Autowired
13+
private LoggingInterceptor loggingInterceptor;
14+
15+
@Override
16+
public void addInterceptors(InterceptorRegistry registry) {
17+
registry.addInterceptor(loggingInterceptor)
18+
.addPathPatterns("/**") // 모든 경로
19+
.excludePathPatterns(
20+
"/v3/api-docs/**",
21+
"/swagger-ui/**",
22+
"/swagger-resources/**",
23+
"/swagger-ui.html",
24+
"/webjars/**"
25+
);
26+
}
27+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package bitnagil.bitnagil_backend.global.interceptor;
2+
3+
import jakarta.servlet.http.HttpServletRequest;
4+
import jakarta.servlet.http.HttpServletResponse;
5+
import lombok.extern.slf4j.Slf4j;
6+
import org.springframework.stereotype.Component;
7+
import org.springframework.web.servlet.HandlerInterceptor;
8+
9+
@Slf4j
10+
@Component
11+
public class LoggingInterceptor implements HandlerInterceptor {
12+
13+
@Override
14+
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
15+
log.info("️⏹ [REQUEST] {} {}", request.getMethod(), request.getRequestURI());
16+
return true;
17+
}
18+
19+
@Override
20+
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
21+
log.info("⏹ [RESPONSE] {} {} - Status: {}", request.getMethod(), request.getRequestURI(), response.getStatus());
22+
}
23+
}

src/main/java/bitnagil/bitnagil_backend/onboarding/domain/Case.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,23 @@
66
import lombok.Builder;
77
import lombok.Getter;
88
import lombok.NoArgsConstructor;
9+
import org.hibernate.annotations.SQLDelete;
10+
import org.hibernate.annotations.Where;
911

1012
@Getter
1113
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1214
@Entity
1315
@Table(name = "routine_case") // 이렇게 예약어 회피
16+
@SQLDelete(sql = "UPDATE routine_case SET deleted_at = NOW() WHERE case_id = ?")
17+
@Where(clause = "deleted_at IS NULL")
1418
public class Case extends BaseTimeEntity {
1519

1620
@Id
1721
@GeneratedValue(strategy = GenerationType.IDENTITY)
1822
private Long caseId;
1923

2024
@Builder
21-
public Case(Long caseId, String caseName) {
25+
public Case(Long caseId) {
2226
this.caseId = caseId;
2327
}
2428
}

src/main/java/bitnagil/bitnagil_backend/onboarding/domain/Onboarding.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@
77
import lombok.AccessLevel;
88
import lombok.Getter;
99
import lombok.NoArgsConstructor;
10+
import org.hibernate.annotations.SQLDelete;
11+
import org.hibernate.annotations.Where;
1012

1113
import java.time.LocalTime;
1214

1315
@Getter
1416
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1517
@Entity
18+
@SQLDelete(sql = "UPDATE onboarding SET deleted_at = NOW() WHERE onboarding_id = ?")
19+
@Where(clause = "deleted_at IS NULL")
1620
public class Onboarding extends BaseTimeEntity {
1721

1822
@Id

src/main/java/bitnagil/bitnagil_backend/recommendedRoutine/domain/RecommendedRoutine.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@
99
import lombok.AccessLevel;
1010
import lombok.Getter;
1111
import lombok.NoArgsConstructor;
12+
import org.hibernate.annotations.SQLDelete;
13+
import org.hibernate.annotations.Where;
1214

1315
import java.time.LocalTime;
1416

1517
@Getter
1618
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1719
@Entity
20+
@SQLDelete(sql = "UPDATE recommended_routine SET deleted_at = NOW() WHERE recommended_routine_id = ?")
21+
@Where(clause = "deleted_at IS NULL")
1822
public class RecommendedRoutine extends BaseTimeEntity {
1923

2024
@Id

src/main/java/bitnagil/bitnagil_backend/recommendedRoutine/domain/RecommendedSubRoutine.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@
55
import lombok.AccessLevel;
66
import lombok.Getter;
77
import lombok.NoArgsConstructor;
8+
import org.hibernate.annotations.SQLDelete;
9+
import org.hibernate.annotations.Where;
810

911
@Getter
1012
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1113
@Entity
14+
@SQLDelete(sql = "UPDATE recommended_sub_routine SET deleted_at = NOW() WHERE recommended_sub_routine_id = ?")
15+
@Where(clause = "deleted_at IS NULL")
1216
public class RecommendedSubRoutine extends BaseTimeEntity {
1317

1418
@Id

src/main/java/bitnagil/bitnagil_backend/routineInfoV2/domain/RoutineInfoV2.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,17 @@
2020
import lombok.Builder;
2121
import lombok.Getter;
2222
import lombok.NoArgsConstructor;
23+
import org.hibernate.annotations.SQLDelete;
24+
import org.hibernate.annotations.Where;
2325

2426
/**
2527
* 추후 v2를 대비한 루틴에 대한 정보를 관리하는 엔티티 클래스입니다.
2628
*/
2729
@Getter
2830
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2931
@Entity
32+
@SQLDelete(sql = "UPDATE routine_info_v2 SET deleted_at = NOW() WHERE routine_info_id = ?")
33+
@Where(clause = "deleted_at IS NULL")
3034
public class RoutineInfoV2 {
3135
@Id
3236
@GeneratedValue(strategy = GenerationType.IDENTITY)

src/main/java/bitnagil/bitnagil_backend/routineV2/domain/RoutineV2.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@
1919
import lombok.Builder;
2020
import lombok.Getter;
2121
import lombok.NoArgsConstructor;
22+
import org.hibernate.annotations.SQLDelete;
23+
import org.hibernate.annotations.Where;
2224

2325
/**
2426
* 추후 v2를 대비한 일자별 루틴을 관리하는 엔티티 클래스입니다.
2527
*/
2628
@Getter
2729
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2830
@Entity
31+
@SQLDelete(sql = "UPDATE routine_v2 SET deleted_at = NOW() WHERE routine_id = ?")
32+
@Where(clause = "deleted_at IS NULL")
2933
public class RoutineV2 {
3034
@Id
3135
@GeneratedValue(strategy = GenerationType.IDENTITY)

src/main/java/bitnagil/bitnagil_backend/user/domain/User.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package bitnagil.bitnagil_backend.user.domain;
22

3-
import java.time.LocalDateTime;
4-
53
import bitnagil.bitnagil_backend.enums.Role;
64
import bitnagil.bitnagil_backend.enums.SocialType;
75
import bitnagil.bitnagil_backend.global.entity.BaseTimeEntity;
8-
import bitnagil.bitnagil_backend.global.entity.HistoryPk;
96
import bitnagil.bitnagil_backend.onboarding.domain.Onboarding;
107
import jakarta.persistence.*;
11-
import jakarta.validation.constraints.NotNull;
128
import lombok.AccessLevel;
139
import lombok.Builder;
1410
import lombok.Getter;
1511
import lombok.NoArgsConstructor;
12+
import org.hibernate.annotations.SQLDelete;
13+
import org.hibernate.annotations.Where;
1614

1715
/**
1816
* 소셜 인증을 통해 가입한 사용자의 정보를 저장하는 JPA 엔티티 클래스입니다.
@@ -21,6 +19,8 @@
2119
@Getter
2220
@NoArgsConstructor(access = AccessLevel.PROTECTED)
2321
@Entity
22+
@SQLDelete(sql = "UPDATE user SET role = 'WITHDRAWN', deleted_at = NOW() WHERE user_id = ?")
23+
@Where(clause = "deleted_at IS NULL")
2424
public class User extends BaseTimeEntity {
2525

2626
@Id
@@ -75,6 +75,7 @@ public void updateOnboarding(Onboarding onboarding) {
7575
this.onboarding = onboarding;
7676
}
7777

78+
// todo: 운영 반영 후 이슈가 없으면 제거
7879
public void changeRoleToWithdrawn() {
7980
this.role = Role.WITHDRAWN;
8081
}

0 commit comments

Comments
 (0)