From 39095a7a9d2d96393f95d6bbeea5c7f76f9d84d3 Mon Sep 17 00:00:00 2001 From: ddnjs Date: Sun, 26 Nov 2023 16:12:08 +0900 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=EC=9D=BC=EC=A0=95=EC=B0=BE?= =?UTF-8?q?=EA=B8=B0=20-=20=ED=82=A4=EC=9B=8C=EB=93=9C=EB=A1=9C=20?= =?UTF-8?q?=EA=B2=80=EC=83=89=EA=B8=B0=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 17 ++-- .../catcher/core/domain/entity/QAddress.java | 43 +++++++++ .../core/domain/entity/QBaseTimeEntity.java | 39 +++++++++ .../core/domain/entity/QCatcherItem.java | 78 +++++++++++++++++ .../catcher/core/domain/entity/QCategory.java | 39 +++++++++ .../catcher/core/domain/entity/QLocation.java | 51 +++++++++++ .../catcher/core/domain/entity/QSchedule.java | 87 +++++++++++++++++++ .../core/domain/entity/QUploadFile.java | 45 ++++++++++ .../com/catcher/core/domain/entity/QUser.java | 75 ++++++++++++++++ .../catcher/core/domain/entity/Schedule.java | 60 +++++++++++++ .../core/domain/entity/UploadFile.java | 31 +++++++ .../com/catcher/core/domain/entity/User.java | 82 +++++++++++++++++ .../core/domain/entity/enums/ContentType.java | 5 ++ .../domain/entity/enums/ScheduleStatus.java | 6 ++ .../domain/entity/enums/UserProvider.java | 5 ++ .../core/domain/entity/enums/UserRole.java | 14 +++ .../catcher/core/dto/ScheduleCondition.java | 23 +++++ .../catcher/core/service/ScheduleService.java | 34 ++++++++ .../datasource/ScheduleRepository.java | 11 +++ .../datasource/config/QuerydslConfig.java | 19 ++++ .../custom/ScheduleRepositoryCustom.java | 22 +++++ .../custom/ScheduleRepositoryImpl.java | 42 +++++++++ .../catcher/resource/ScheduleController.java | 29 +++++++ 23 files changed, 852 insertions(+), 5 deletions(-) create mode 100644 src/main/generated/com/catcher/core/domain/entity/QAddress.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QCategory.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QLocation.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QSchedule.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QUploadFile.java create mode 100644 src/main/generated/com/catcher/core/domain/entity/QUser.java create mode 100644 src/main/java/com/catcher/core/domain/entity/Schedule.java create mode 100644 src/main/java/com/catcher/core/domain/entity/UploadFile.java create mode 100644 src/main/java/com/catcher/core/domain/entity/User.java create mode 100644 src/main/java/com/catcher/core/domain/entity/enums/ContentType.java create mode 100644 src/main/java/com/catcher/core/domain/entity/enums/ScheduleStatus.java create mode 100644 src/main/java/com/catcher/core/domain/entity/enums/UserProvider.java create mode 100644 src/main/java/com/catcher/core/domain/entity/enums/UserRole.java create mode 100644 src/main/java/com/catcher/core/dto/ScheduleCondition.java create mode 100644 src/main/java/com/catcher/core/service/ScheduleService.java create mode 100644 src/main/java/com/catcher/datasource/ScheduleRepository.java create mode 100644 src/main/java/com/catcher/datasource/config/QuerydslConfig.java create mode 100644 src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java create mode 100644 src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java create mode 100644 src/main/java/com/catcher/resource/ScheduleController.java diff --git a/build.gradle b/build.gradle index 6772dec..6d08ad2 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,8 @@ plugins { id 'java' id 'org.springframework.boot' version '3.1.4' id 'io.spring.dependency-management' version '1.1.3' + // QueryDsl +// id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'com.catcher' @@ -57,14 +59,19 @@ dependencies { //s3 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' + + //QueryDsl + implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' + annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" + annotationProcessor "jakarta.annotation:jakarta.annotation-api" + annotationProcessor "jakarta.persistence:jakarta.persistence-api" +// implementation "com.querydsl:querydsl-jpa:5.0.0" +// implementation "com.querydsl:querydsl-apt:5.0.0" +// implementation "com.querydsl:querydsl-core:5.0.0" } dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } -} - -tasks.named('test') { - useJUnitPlatform() -} +} \ No newline at end of file diff --git a/src/main/generated/com/catcher/core/domain/entity/QAddress.java b/src/main/generated/com/catcher/core/domain/entity/QAddress.java new file mode 100644 index 0000000..3d71784 --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QAddress.java @@ -0,0 +1,43 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; + + +/** + * QAddress is a Querydsl query type for Address + */ +@Generated("com.querydsl.codegen.DefaultEmbeddableSerializer") +public class QAddress extends BeanPath
{ + + private static final long serialVersionUID = 1419426487L; + + public static final QAddress address = new QAddress("address"); + + public final StringPath areaCode = createString("areaCode"); + + public final StringPath description = createString("description"); + + public final StringPath latitude = createString("latitude"); + + public final StringPath longitude = createString("longitude"); + + public QAddress(String variable) { + super(Address.class, forVariable(variable)); + } + + public QAddress(Path path) { + super(path.getType(), path.getMetadata()); + } + + public QAddress(PathMetadata metadata) { + super(Address.class, metadata); + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java b/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java new file mode 100644 index 0000000..22c2297 --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java @@ -0,0 +1,39 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; + + +/** + * QBaseTimeEntity is a Querydsl query type for BaseTimeEntity + */ +@Generated("com.querydsl.codegen.DefaultSupertypeSerializer") +public class QBaseTimeEntity extends EntityPathBase { + + private static final long serialVersionUID = -388254050L; + + public static final QBaseTimeEntity baseTimeEntity = new QBaseTimeEntity("baseTimeEntity"); + + public final DateTimePath createdAt = createDateTime("createdAt", java.time.ZonedDateTime.class); + + public final DateTimePath updatedAt = createDateTime("updatedAt", java.time.ZonedDateTime.class); + + public QBaseTimeEntity(String variable) { + super(BaseTimeEntity.class, forVariable(variable)); + } + + public QBaseTimeEntity(Path path) { + super(path.getType(), path.getMetadata()); + } + + public QBaseTimeEntity(PathMetadata metadata) { + super(BaseTimeEntity.class, metadata); + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java b/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java new file mode 100644 index 0000000..dae597b --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java @@ -0,0 +1,78 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; +import com.querydsl.core.types.dsl.PathInits; + + +/** + * QCatcherItem is a Querydsl query type for CatcherItem + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QCatcherItem extends EntityPathBase { + + private static final long serialVersionUID = -1062823650L; + + private static final PathInits INITS = PathInits.DIRECT2; + + public static final QCatcherItem catcherItem = new QCatcherItem("catcherItem"); + + public final QBaseTimeEntity _super = new QBaseTimeEntity(this); + + public final QCategory category; + + //inherited + public final DateTimePath createdAt = _super.createdAt; + + public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); + + public final StringPath description = createString("description"); + + public final DateTimePath endAt = createDateTime("endAt", java.time.ZonedDateTime.class); + + public final NumberPath id = createNumber("id", Long.class); + + public final StringPath itemHashValue = createString("itemHashValue"); + + public final QLocation location; + + public final StringPath resourceUrl = createString("resourceUrl"); + + public final DateTimePath startAt = createDateTime("startAt", java.time.ZonedDateTime.class); + + public final StringPath thumbnailUrl = createString("thumbnailUrl"); + + public final StringPath title = createString("title"); + + //inherited + public final DateTimePath updatedAt = _super.updatedAt; + + public QCatcherItem(String variable) { + this(CatcherItem.class, forVariable(variable), INITS); + } + + public QCatcherItem(Path path) { + this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); + } + + public QCatcherItem(PathMetadata metadata) { + this(metadata, PathInits.getFor(metadata, INITS)); + } + + public QCatcherItem(PathMetadata metadata, PathInits inits) { + this(CatcherItem.class, metadata, inits); + } + + public QCatcherItem(Class type, PathMetadata metadata, PathInits inits) { + super(type, metadata, inits); + this.category = inits.isInitialized("category") ? new QCategory(forProperty("category")) : null; + this.location = inits.isInitialized("location") ? new QLocation(forProperty("location"), inits.get("location")) : null; + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QCategory.java b/src/main/generated/com/catcher/core/domain/entity/QCategory.java new file mode 100644 index 0000000..603d97b --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QCategory.java @@ -0,0 +1,39 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; + + +/** + * QCategory is a Querydsl query type for Category + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QCategory extends EntityPathBase { + + private static final long serialVersionUID = -1973193061L; + + public static final QCategory category = new QCategory("category"); + + public final NumberPath id = createNumber("id", Long.class); + + public final StringPath name = createString("name"); + + public QCategory(String variable) { + super(Category.class, forVariable(variable)); + } + + public QCategory(Path path) { + super(path.getType(), path.getMetadata()); + } + + public QCategory(PathMetadata metadata) { + super(Category.class, metadata); + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QLocation.java b/src/main/generated/com/catcher/core/domain/entity/QLocation.java new file mode 100644 index 0000000..ef202cc --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QLocation.java @@ -0,0 +1,51 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; +import com.querydsl.core.types.dsl.PathInits; + + +/** + * QLocation is a Querydsl query type for Location + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QLocation extends EntityPathBase { + + private static final long serialVersionUID = -122660526L; + + private static final PathInits INITS = PathInits.DIRECT2; + + public static final QLocation location = new QLocation("location"); + + public final QAddress address; + + public final NumberPath id = createNumber("id", Long.class); + + public QLocation(String variable) { + this(Location.class, forVariable(variable), INITS); + } + + public QLocation(Path path) { + this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); + } + + public QLocation(PathMetadata metadata) { + this(metadata, PathInits.getFor(metadata, INITS)); + } + + public QLocation(PathMetadata metadata, PathInits inits) { + this(Location.class, metadata, inits); + } + + public QLocation(Class type, PathMetadata metadata, PathInits inits) { + super(type, metadata, inits); + this.address = inits.isInitialized("address") ? new QAddress(forProperty("address")) : null; + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QSchedule.java b/src/main/generated/com/catcher/core/domain/entity/QSchedule.java new file mode 100644 index 0000000..6be543c --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QSchedule.java @@ -0,0 +1,87 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; +import com.querydsl.core.types.dsl.PathInits; + + +/** + * QSchedule is a Querydsl query type for Schedule + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QSchedule extends EntityPathBase { + + private static final long serialVersionUID = 1573342260L; + + private static final PathInits INITS = PathInits.DIRECT2; + + public static final QSchedule schedule = new QSchedule("schedule"); + + public final QBaseTimeEntity _super = new QBaseTimeEntity(this); + + public final NumberPath budget = createNumber("budget", Long.class); + + //inherited + public final DateTimePath createdAt = _super.createdAt; + + public final StringPath description = createString("description"); + + public final DateTimePath endAt = createDateTime("endAt", java.time.ZonedDateTime.class); + + public final NumberPath id = createNumber("id", Long.class); + + public final QLocation location; + + public final StringPath locationDetail = createString("locationDetail"); + + public final NumberPath participantLimit = createNumber("participantLimit", Long.class); + + public final DateTimePath participateEndAt = createDateTime("participateEndAt", java.time.ZonedDateTime.class); + + public final DateTimePath participateStartAt = createDateTime("participateStartAt", java.time.ZonedDateTime.class); + + public final DateTimePath startAt = createDateTime("startAt", java.time.ZonedDateTime.class); + + public final EnumPath status = createEnum("status", com.catcher.core.domain.entity.enums.ScheduleStatus.class); + + public final StringPath title = createString("title"); + + //inherited + public final DateTimePath updatedAt = _super.updatedAt; + + public final QUploadFile uploadFile; + + public final QUser user; + + public final NumberPath viewCount = createNumber("viewCount", Long.class); + + public QSchedule(String variable) { + this(Schedule.class, forVariable(variable), INITS); + } + + public QSchedule(Path path) { + this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); + } + + public QSchedule(PathMetadata metadata) { + this(metadata, PathInits.getFor(metadata, INITS)); + } + + public QSchedule(PathMetadata metadata, PathInits inits) { + this(Schedule.class, metadata, inits); + } + + public QSchedule(Class type, PathMetadata metadata, PathInits inits) { + super(type, metadata, inits); + this.location = inits.isInitialized("location") ? new QLocation(forProperty("location"), inits.get("location")) : null; + this.uploadFile = inits.isInitialized("uploadFile") ? new QUploadFile(forProperty("uploadFile")) : null; + this.user = inits.isInitialized("user") ? new QUser(forProperty("user")) : null; + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java b/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java new file mode 100644 index 0000000..7847e1a --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java @@ -0,0 +1,45 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; + + +/** + * QUploadFile is a Querydsl query type for UploadFile + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QUploadFile extends EntityPathBase { + + private static final long serialVersionUID = 596989306L; + + public static final QUploadFile uploadFile = new QUploadFile("uploadFile"); + + public final NumberPath contentId = createNumber("contentId", Long.class); + + public final EnumPath contentType = createEnum("contentType", com.catcher.core.domain.entity.enums.ContentType.class); + + public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); + + public final StringPath fileUrl = createString("fileUrl"); + + public final NumberPath id = createNumber("id", Long.class); + + public QUploadFile(String variable) { + super(UploadFile.class, forVariable(variable)); + } + + public QUploadFile(Path path) { + super(path.getType(), path.getMetadata()); + } + + public QUploadFile(PathMetadata metadata) { + super(UploadFile.class, metadata); + } + +} + diff --git a/src/main/generated/com/catcher/core/domain/entity/QUser.java b/src/main/generated/com/catcher/core/domain/entity/QUser.java new file mode 100644 index 0000000..9845b70 --- /dev/null +++ b/src/main/generated/com/catcher/core/domain/entity/QUser.java @@ -0,0 +1,75 @@ +package com.catcher.core.domain.entity; + +import static com.querydsl.core.types.PathMetadataFactory.*; + +import com.querydsl.core.types.dsl.*; + +import com.querydsl.core.types.PathMetadata; +import javax.annotation.processing.Generated; +import com.querydsl.core.types.Path; + + +/** + * QUser is a Querydsl query type for User + */ +@Generated("com.querydsl.codegen.DefaultEntitySerializer") +public class QUser extends EntityPathBase { + + private static final long serialVersionUID = 1283914728L; + + public static final QUser user = new QUser("user"); + + public final QBaseTimeEntity _super = new QBaseTimeEntity(this); + + //inherited + public final DateTimePath createdAt = _super.createdAt; + + public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); + + public final StringPath email = createString("email"); + + public final NumberPath id = createNumber("id", Long.class); + + public final StringPath introduceContent = createString("introduceContent"); + + public final StringPath nickname = createString("nickname"); + + public final StringPath password = createString("password"); + + public final StringPath phone = createString("phone"); + + public final StringPath profileImageUrl = createString("profileImageUrl"); + + //inherited + public final DateTimePath updatedAt = _super.updatedAt; + + public final DateTimePath userAgeTerm = createDateTime("userAgeTerm", java.time.ZonedDateTime.class); + + public final DateTimePath userLocationTerm = createDateTime("userLocationTerm", java.time.ZonedDateTime.class); + + public final DateTimePath userMarketingTerm = createDateTime("userMarketingTerm", java.time.ZonedDateTime.class); + + public final StringPath username = createString("username"); + + public final DateTimePath userPrivacyTerm = createDateTime("userPrivacyTerm", java.time.ZonedDateTime.class); + + public final EnumPath userProvider = createEnum("userProvider", com.catcher.core.domain.entity.enums.UserProvider.class); + + public final EnumPath userRole = createEnum("userRole", com.catcher.core.domain.entity.enums.UserRole.class); + + public final DateTimePath userServiceTerm = createDateTime("userServiceTerm", java.time.ZonedDateTime.class); + + public QUser(String variable) { + super(User.class, forVariable(variable)); + } + + public QUser(Path path) { + super(path.getType(), path.getMetadata()); + } + + public QUser(PathMetadata metadata) { + super(User.class, metadata); + } + +} + diff --git a/src/main/java/com/catcher/core/domain/entity/Schedule.java b/src/main/java/com/catcher/core/domain/entity/Schedule.java new file mode 100644 index 0000000..34062c5 --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/Schedule.java @@ -0,0 +1,60 @@ +package com.catcher.core.domain.entity; + +import com.catcher.core.domain.entity.enums.ScheduleStatus; +import jakarta.persistence.*; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.time.ZonedDateTime; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(name = "schedule") +public class Schedule extends BaseTimeEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "user_id", nullable = false) + private User user; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "location_id") + private Location location; + + private Long participantLimit; + + private String locationDetail; + + @Column(nullable = false) + private String title; + + private String description; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "upload_file_id", nullable = false) + private UploadFile uploadFile; + + @Column(nullable = false) + private Long viewCount; + + private Long budget; + + @Enumerated(value = EnumType.STRING) + private ScheduleStatus status; + + @Column(name = "start_at", nullable = false) + private ZonedDateTime startAt; // 일정 시작 + + @Column(name = "end_at", nullable = false) + private ZonedDateTime endAt; // 일정 종료 + + @Column(name = "participate_start_at", nullable = false) + private ZonedDateTime participateStartAt; // 모집 시작 + + @Column(name = "participate_end_at", nullable = false) + private ZonedDateTime participateEndAt; // 모집 종료 +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/UploadFile.java b/src/main/java/com/catcher/core/domain/entity/UploadFile.java new file mode 100644 index 0000000..546aa3c --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/UploadFile.java @@ -0,0 +1,31 @@ +package com.catcher.core.domain.entity; + +import com.catcher.core.domain.entity.enums.ContentType; +import jakarta.persistence.*; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.time.ZonedDateTime; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(name = "upload_file") +public class UploadFile { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(nullable = false) + private Long contentId; + + @Enumerated(value = EnumType.STRING) + private ContentType contentType; + + @Column(nullable = false) + private String fileUrl; + + @Column(name = "deleted_at") + private ZonedDateTime deletedAt; +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/User.java b/src/main/java/com/catcher/core/domain/entity/User.java new file mode 100644 index 0000000..9147daa --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/User.java @@ -0,0 +1,82 @@ +package com.catcher.core.domain.entity; + +import com.catcher.core.domain.entity.enums.UserProvider; +import com.catcher.core.domain.entity.enums.UserRole; +import jakarta.persistence.*; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import java.time.ZonedDateTime; + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(name = "users") +public class User extends BaseTimeEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(unique = true, nullable = false) + private String username; + + // TODO: encrypted maybe? + @Column(nullable = false) + private String password; + + @Column(unique = true, nullable = false) + private String phone; + + @Column(unique = true, nullable = false) + private String email; + + // TODO : 첨부파일 외래키 참조해야 지 + private String profileImageUrl; + + private String introduceContent; + + @Column(unique = true, nullable = false) + private String nickname; + + @Enumerated(value = EnumType.STRING) + private UserProvider userProvider; + + @Enumerated(value = EnumType.STRING) + private UserRole userRole; + + @Column(nullable = false) + private ZonedDateTime userAgeTerm; // 필수 약관 + + @Column(nullable = false) + private ZonedDateTime userServiceTerm; // 필수 약관 + + @Column(nullable = false) + private ZonedDateTime userPrivacyTerm; // 필수 약관 + + @Column(nullable = false) + private ZonedDateTime userLocationTerm; // 필수 약관 + + private ZonedDateTime userMarketingTerm; // 선택 약관 + + private ZonedDateTime deletedAt; + + @Builder + public User(String username, String password, String email, String profileImageUrl, String phone, String nickname, UserProvider userProvider, UserRole role, ZonedDateTime userAgeTerm, ZonedDateTime userServiceTerm, ZonedDateTime userPrivacyTerm, ZonedDateTime userLocationTerm, String introduceContent, ZonedDateTime userMarketingTerm){ + this.username = username; + this.password = password; + this.email = email; + this.profileImageUrl = profileImageUrl; + this.userProvider = userProvider; + this.phone = phone; + this.nickname = nickname; + this.userRole = role; + this.userAgeTerm = userAgeTerm; + this.userServiceTerm = userServiceTerm; + this.userPrivacyTerm = userPrivacyTerm; + this.userLocationTerm = userLocationTerm; + this.introduceContent = introduceContent; + this.userMarketingTerm = userMarketingTerm; + } +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/enums/ContentType.java b/src/main/java/com/catcher/core/domain/entity/enums/ContentType.java new file mode 100644 index 0000000..bd09a05 --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/enums/ContentType.java @@ -0,0 +1,5 @@ +package com.catcher.core.domain.entity.enums; + +public enum ContentType { + COMMENT, REPLY, SCHEDULEDETAIL, SCHEDULE +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/enums/ScheduleStatus.java b/src/main/java/com/catcher/core/domain/entity/enums/ScheduleStatus.java new file mode 100644 index 0000000..1f47b13 --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/enums/ScheduleStatus.java @@ -0,0 +1,6 @@ +package com.catcher.core.domain.entity.enums; + +public enum ScheduleStatus { + REPORT, DELETE, PUBLIC, PRIVATE, PARTIAL, TEMPORARY +} +//신고, 삭제, 공개, 비공개, 일부 공개, 임시 저장 \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/enums/UserProvider.java b/src/main/java/com/catcher/core/domain/entity/enums/UserProvider.java new file mode 100644 index 0000000..0dd62b2 --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/enums/UserProvider.java @@ -0,0 +1,5 @@ +package com.catcher.core.domain.entity.enums; + +public enum UserProvider { + CATCHER, NAVER, KAKAO, +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/domain/entity/enums/UserRole.java b/src/main/java/com/catcher/core/domain/entity/enums/UserRole.java new file mode 100644 index 0000000..8312c2a --- /dev/null +++ b/src/main/java/com/catcher/core/domain/entity/enums/UserRole.java @@ -0,0 +1,14 @@ +package com.catcher.core.domain.entity.enums; + +import lombok.Getter; + +@Getter +public enum UserRole { + USER("ROLE_USER"), ADMIN("ROLE_ADMIN"); + + private final String value; + + UserRole(String value) { + this.value = value; + } +} \ No newline at end of file diff --git a/src/main/java/com/catcher/core/dto/ScheduleCondition.java b/src/main/java/com/catcher/core/dto/ScheduleCondition.java new file mode 100644 index 0000000..08f9e50 --- /dev/null +++ b/src/main/java/com/catcher/core/dto/ScheduleCondition.java @@ -0,0 +1,23 @@ +package com.catcher.core.dto; + +import com.catcher.core.domain.entity.Location; +import lombok.Data; + +import java.time.ZonedDateTime; + +@Data +public class ScheduleCondition { + + private String keyword; + +// private String them; + + private Long budget; + + private ZonedDateTime startAt; + + private ZonedDateTime endAt; + + private Location location; + +} diff --git a/src/main/java/com/catcher/core/service/ScheduleService.java b/src/main/java/com/catcher/core/service/ScheduleService.java new file mode 100644 index 0000000..d7f208a --- /dev/null +++ b/src/main/java/com/catcher/core/service/ScheduleService.java @@ -0,0 +1,34 @@ +package com.catcher.core.service; + +import com.catcher.core.domain.entity.Schedule; +import com.catcher.datasource.ScheduleRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.ZonedDateTime; +import java.util.List; + +@Service +@RequiredArgsConstructor +public class ScheduleService { + + private final ScheduleRepository scheduleRepository; + + public List getScheduleByKeywordAndFilter( + final String keyword +// final Long budget, +// final ZonedDateTime startAt, +// final ZonedDateTime endAt + + ){ + final List schedules = scheduleRepository.findScheduleByKeywordAndFilter( + keyword +// budget, +// startAt, +// endAt + ); + return schedules; + + } + +} diff --git a/src/main/java/com/catcher/datasource/ScheduleRepository.java b/src/main/java/com/catcher/datasource/ScheduleRepository.java new file mode 100644 index 0000000..2d81467 --- /dev/null +++ b/src/main/java/com/catcher/datasource/ScheduleRepository.java @@ -0,0 +1,11 @@ +package com.catcher.datasource; + +import com.catcher.core.domain.entity.Schedule; +import com.catcher.datasource.custom.ScheduleRepositoryCustom; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ScheduleRepository extends JpaRepository, ScheduleRepositoryCustom { + +} diff --git a/src/main/java/com/catcher/datasource/config/QuerydslConfig.java b/src/main/java/com/catcher/datasource/config/QuerydslConfig.java new file mode 100644 index 0000000..d101b8d --- /dev/null +++ b/src/main/java/com/catcher/datasource/config/QuerydslConfig.java @@ -0,0 +1,19 @@ +package com.catcher.datasource.config; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class QuerydslConfig { + + @PersistenceContext + private EntityManager entityManager; + + @Bean + public JPAQueryFactory jpaQueryFactory() { + return new JPAQueryFactory(entityManager); + } +} \ No newline at end of file diff --git a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java b/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java new file mode 100644 index 0000000..4ac6a61 --- /dev/null +++ b/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java @@ -0,0 +1,22 @@ +package com.catcher.datasource.custom; + +import com.catcher.core.domain.entity.Schedule; + +import java.time.ZonedDateTime; +import java.util.List; + +public interface ScheduleRepositoryCustom { + + /** + * 키워드로 스케줄 검색 + * + * @param keyword + * @return + */ + List findScheduleByKeywordAndFilter( + final String keyword +// final Long budget, +// final ZonedDateTime startAt, +// final ZonedDateTime endAt + ); +} diff --git a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java b/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java new file mode 100644 index 0000000..eafbc7d --- /dev/null +++ b/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java @@ -0,0 +1,42 @@ +package com.catcher.datasource.custom; + +import com.catcher.core.domain.entity.QSchedule; +import com.catcher.core.domain.entity.Schedule; +import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQueryFactory; +import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport; + +import java.time.ZonedDateTime; +import java.util.List; + +public class ScheduleRepositoryImpl extends QuerydslRepositorySupport implements ScheduleRepositoryCustom { + + private final JPAQueryFactory jpaQueryFactory; + private static final QSchedule SCHEDULE = QSchedule.schedule; + + public ScheduleRepositoryImpl(JPAQueryFactory queryFactory) { + super(Schedule.class); + this.jpaQueryFactory = queryFactory; + } + + @Override + public List findScheduleByKeywordAndFilter( + final String keyword +// final Long budget, +// final ZonedDateTime startAt, +// final ZonedDateTime endAt + ) { + return jpaQueryFactory + .select(SCHEDULE) + .from(SCHEDULE) + .where( + containsKeywordInTitle(keyword) + ) + .fetch(); + } + + private BooleanExpression containsKeywordInTitle(final String keyword) { + return SCHEDULE.title.contains(keyword); + } + +} diff --git a/src/main/java/com/catcher/resource/ScheduleController.java b/src/main/java/com/catcher/resource/ScheduleController.java new file mode 100644 index 0000000..450f407 --- /dev/null +++ b/src/main/java/com/catcher/resource/ScheduleController.java @@ -0,0 +1,29 @@ +package com.catcher.resource; + +import com.catcher.common.response.CommonResponse; +import com.catcher.core.domain.entity.Schedule; +import com.catcher.core.service.ScheduleService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +@RestController +@RequestMapping("/schedule") +@RequiredArgsConstructor +public class ScheduleController { + + private final ScheduleService scheduleService; + + + @GetMapping("/list") + public CommonResponse> getScheduleByKeywordAndFilter( + @RequestParam(defaultValue = "") String keyword + ){ + List scheduleByKeywordAndFilter = scheduleService.getScheduleByKeywordAndFilter(keyword); + + return CommonResponse.success(200, scheduleByKeywordAndFilter); + } +} From 30ee9e02b0d061165d1cba627c91e195f16582ec Mon Sep 17 00:00:00 2001 From: ddnjs Date: Sun, 26 Nov 2023 17:30:58 +0900 Subject: [PATCH 2/5] =?UTF-8?q?Q=ED=81=B4=EB=9E=98=EC=8A=A4=20git=20ignore?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c2065bc..b7bc77b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ build/ !gradle/wrapper/gradle-wrapper.jar !**/src/main/**/build/ !**/src/test/**/build/ +src/main/generated/** ### STS ### .apt_generated From c1ee92bb9d91d1e85e2e23b6fa97fa31c5afedae Mon Sep 17 00:00:00 2001 From: ddnjs Date: Sun, 3 Dec 2023 21:19:58 +0900 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20jparepository=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/catcher/core/domain/entity/QUser.java | 10 +++++++--- .../db/ScheduleRepository.java} | 5 ++--- .../com/catcher/core/service/ScheduleService.java | 8 ++------ .../com/catcher/datasource/ScheduleRepository.java | 11 ----------- .../datasource/schedule/ScheduleJpaRepository.java | 11 +++++++++++ .../{custom => schedule}/ScheduleRepositoryImpl.java | 6 +++--- .../java/com/catcher/resource/ScheduleController.java | 5 +---- 7 files changed, 26 insertions(+), 30 deletions(-) rename src/main/java/com/catcher/{datasource/custom/ScheduleRepositoryCustom.java => core/db/ScheduleRepository.java} (76%) delete mode 100644 src/main/java/com/catcher/datasource/ScheduleRepository.java create mode 100644 src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java rename src/main/java/com/catcher/datasource/{custom => schedule}/ScheduleRepositoryImpl.java (90%) diff --git a/src/main/generated/com/catcher/core/domain/entity/QUser.java b/src/main/generated/com/catcher/core/domain/entity/QUser.java index 9845b70..b3d59b7 100644 --- a/src/main/generated/com/catcher/core/domain/entity/QUser.java +++ b/src/main/generated/com/catcher/core/domain/entity/QUser.java @@ -28,6 +28,8 @@ public class QUser extends EntityPathBase { public final StringPath email = createString("email"); + public final DateTimePath emailMarketingTerm = createDateTime("emailMarketingTerm", java.time.ZonedDateTime.class); + public final NumberPath id = createNumber("id", Long.class); public final StringPath introduceContent = createString("introduceContent"); @@ -38,6 +40,10 @@ public class QUser extends EntityPathBase { public final StringPath phone = createString("phone"); + public final DateTimePath phoneAuthentication = createDateTime("phoneAuthentication", java.time.ZonedDateTime.class); + + public final DateTimePath phoneMarketingTerm = createDateTime("phoneMarketingTerm", java.time.ZonedDateTime.class); + public final StringPath profileImageUrl = createString("profileImageUrl"); //inherited @@ -45,9 +51,7 @@ public class QUser extends EntityPathBase { public final DateTimePath userAgeTerm = createDateTime("userAgeTerm", java.time.ZonedDateTime.class); - public final DateTimePath userLocationTerm = createDateTime("userLocationTerm", java.time.ZonedDateTime.class); - - public final DateTimePath userMarketingTerm = createDateTime("userMarketingTerm", java.time.ZonedDateTime.class); + public final EnumPath userGender = createEnum("userGender", com.catcher.core.domain.entity.enums.UserGender.class); public final StringPath username = createString("username"); diff --git a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java b/src/main/java/com/catcher/core/db/ScheduleRepository.java similarity index 76% rename from src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java rename to src/main/java/com/catcher/core/db/ScheduleRepository.java index 4ac6a61..d4793e4 100644 --- a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryCustom.java +++ b/src/main/java/com/catcher/core/db/ScheduleRepository.java @@ -1,11 +1,10 @@ -package com.catcher.datasource.custom; +package com.catcher.core.db; import com.catcher.core.domain.entity.Schedule; -import java.time.ZonedDateTime; import java.util.List; -public interface ScheduleRepositoryCustom { +public interface ScheduleRepository { /** * 키워드로 스케줄 검색 diff --git a/src/main/java/com/catcher/core/service/ScheduleService.java b/src/main/java/com/catcher/core/service/ScheduleService.java index d7f208a..a90bb68 100644 --- a/src/main/java/com/catcher/core/service/ScheduleService.java +++ b/src/main/java/com/catcher/core/service/ScheduleService.java @@ -1,18 +1,16 @@ package com.catcher.core.service; import com.catcher.core.domain.entity.Schedule; -import com.catcher.datasource.ScheduleRepository; +import com.catcher.datasource.schedule.ScheduleJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.time.ZonedDateTime; import java.util.List; @Service @RequiredArgsConstructor public class ScheduleService { - - private final ScheduleRepository scheduleRepository; + private final ScheduleJpaRepository scheduleRepository; public List getScheduleByKeywordAndFilter( final String keyword @@ -28,7 +26,5 @@ public List getScheduleByKeywordAndFilter( // endAt ); return schedules; - } - } diff --git a/src/main/java/com/catcher/datasource/ScheduleRepository.java b/src/main/java/com/catcher/datasource/ScheduleRepository.java deleted file mode 100644 index 2d81467..0000000 --- a/src/main/java/com/catcher/datasource/ScheduleRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.catcher.datasource; - -import com.catcher.core.domain.entity.Schedule; -import com.catcher.datasource.custom.ScheduleRepositoryCustom; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface ScheduleRepository extends JpaRepository, ScheduleRepositoryCustom { - -} diff --git a/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java b/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java new file mode 100644 index 0000000..489bd44 --- /dev/null +++ b/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java @@ -0,0 +1,11 @@ +package com.catcher.datasource.schedule; + +import com.catcher.core.domain.entity.Schedule; +import com.catcher.core.db.ScheduleRepository; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ScheduleJpaRepository extends JpaRepository, ScheduleRepository { + +} diff --git a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java b/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java similarity index 90% rename from src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java rename to src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java index eafbc7d..1970215 100644 --- a/src/main/java/com/catcher/datasource/custom/ScheduleRepositoryImpl.java +++ b/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java @@ -1,15 +1,15 @@ -package com.catcher.datasource.custom; +package com.catcher.datasource.schedule; +import com.catcher.core.db.ScheduleRepository; import com.catcher.core.domain.entity.QSchedule; import com.catcher.core.domain.entity.Schedule; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport; -import java.time.ZonedDateTime; import java.util.List; -public class ScheduleRepositoryImpl extends QuerydslRepositorySupport implements ScheduleRepositoryCustom { +public class ScheduleRepositoryImpl extends QuerydslRepositorySupport implements ScheduleRepository { private final JPAQueryFactory jpaQueryFactory; private static final QSchedule SCHEDULE = QSchedule.schedule; diff --git a/src/main/java/com/catcher/resource/ScheduleController.java b/src/main/java/com/catcher/resource/ScheduleController.java index 450f407..d8bd662 100644 --- a/src/main/java/com/catcher/resource/ScheduleController.java +++ b/src/main/java/com/catcher/resource/ScheduleController.java @@ -4,10 +4,7 @@ import com.catcher.core.domain.entity.Schedule; import com.catcher.core.service.ScheduleService; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @RestController From 0310a1c5f8d99fdbf983d245228f9361a0ba8faa Mon Sep 17 00:00:00 2001 From: ddnjs Date: Sun, 3 Dec 2023 22:22:35 +0900 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20jparepository=20=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/catcher/core/service/ScheduleService.java | 4 ++-- .../catcher/datasource/schedule/ScheduleJpaRepository.java | 3 +-- .../catcher/datasource/schedule/ScheduleRepositoryImpl.java | 3 +++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/catcher/core/service/ScheduleService.java b/src/main/java/com/catcher/core/service/ScheduleService.java index a90bb68..11114c1 100644 --- a/src/main/java/com/catcher/core/service/ScheduleService.java +++ b/src/main/java/com/catcher/core/service/ScheduleService.java @@ -1,7 +1,7 @@ package com.catcher.core.service; +import com.catcher.core.db.ScheduleRepository; import com.catcher.core.domain.entity.Schedule; -import com.catcher.datasource.schedule.ScheduleJpaRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -10,7 +10,7 @@ @Service @RequiredArgsConstructor public class ScheduleService { - private final ScheduleJpaRepository scheduleRepository; + private final ScheduleRepository scheduleRepository; public List getScheduleByKeywordAndFilter( final String keyword diff --git a/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java b/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java index 489bd44..3828965 100644 --- a/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java +++ b/src/main/java/com/catcher/datasource/schedule/ScheduleJpaRepository.java @@ -5,7 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; -@Repository -public interface ScheduleJpaRepository extends JpaRepository, ScheduleRepository { +public interface ScheduleJpaRepository extends JpaRepository { } diff --git a/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java b/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java index 1970215..8a68089 100644 --- a/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java +++ b/src/main/java/com/catcher/datasource/schedule/ScheduleRepositoryImpl.java @@ -5,10 +5,13 @@ import com.catcher.core.domain.entity.Schedule; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport; +import org.springframework.stereotype.Repository; import java.util.List; +@Repository public class ScheduleRepositoryImpl extends QuerydslRepositorySupport implements ScheduleRepository { private final JPAQueryFactory jpaQueryFactory; From 475f7ac6102069fa5ab875b111baff2b0764141e Mon Sep 17 00:00:00 2001 From: ddnjs Date: Sun, 3 Dec 2023 23:37:34 +0900 Subject: [PATCH 5/5] =?UTF-8?q?refactor:Qclass=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../catcher/core/domain/entity/QAddress.java | 43 --------- .../core/domain/entity/QBaseTimeEntity.java | 39 --------- .../core/domain/entity/QCatcherItem.java | 78 ----------------- .../catcher/core/domain/entity/QCategory.java | 39 --------- .../catcher/core/domain/entity/QLocation.java | 51 ----------- .../catcher/core/domain/entity/QSchedule.java | 87 ------------------- .../core/domain/entity/QUploadFile.java | 45 ---------- .../com/catcher/core/domain/entity/QUser.java | 79 ----------------- 8 files changed, 461 deletions(-) delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QAddress.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QCategory.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QLocation.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QSchedule.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QUploadFile.java delete mode 100644 src/main/generated/com/catcher/core/domain/entity/QUser.java diff --git a/src/main/generated/com/catcher/core/domain/entity/QAddress.java b/src/main/generated/com/catcher/core/domain/entity/QAddress.java deleted file mode 100644 index 3d71784..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QAddress.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; - - -/** - * QAddress is a Querydsl query type for Address - */ -@Generated("com.querydsl.codegen.DefaultEmbeddableSerializer") -public class QAddress extends BeanPath
{ - - private static final long serialVersionUID = 1419426487L; - - public static final QAddress address = new QAddress("address"); - - public final StringPath areaCode = createString("areaCode"); - - public final StringPath description = createString("description"); - - public final StringPath latitude = createString("latitude"); - - public final StringPath longitude = createString("longitude"); - - public QAddress(String variable) { - super(Address.class, forVariable(variable)); - } - - public QAddress(Path path) { - super(path.getType(), path.getMetadata()); - } - - public QAddress(PathMetadata metadata) { - super(Address.class, metadata); - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java b/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java deleted file mode 100644 index 22c2297..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QBaseTimeEntity.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; - - -/** - * QBaseTimeEntity is a Querydsl query type for BaseTimeEntity - */ -@Generated("com.querydsl.codegen.DefaultSupertypeSerializer") -public class QBaseTimeEntity extends EntityPathBase { - - private static final long serialVersionUID = -388254050L; - - public static final QBaseTimeEntity baseTimeEntity = new QBaseTimeEntity("baseTimeEntity"); - - public final DateTimePath createdAt = createDateTime("createdAt", java.time.ZonedDateTime.class); - - public final DateTimePath updatedAt = createDateTime("updatedAt", java.time.ZonedDateTime.class); - - public QBaseTimeEntity(String variable) { - super(BaseTimeEntity.class, forVariable(variable)); - } - - public QBaseTimeEntity(Path path) { - super(path.getType(), path.getMetadata()); - } - - public QBaseTimeEntity(PathMetadata metadata) { - super(BaseTimeEntity.class, metadata); - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java b/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java deleted file mode 100644 index dae597b..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QCatcherItem.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; -import com.querydsl.core.types.dsl.PathInits; - - -/** - * QCatcherItem is a Querydsl query type for CatcherItem - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QCatcherItem extends EntityPathBase { - - private static final long serialVersionUID = -1062823650L; - - private static final PathInits INITS = PathInits.DIRECT2; - - public static final QCatcherItem catcherItem = new QCatcherItem("catcherItem"); - - public final QBaseTimeEntity _super = new QBaseTimeEntity(this); - - public final QCategory category; - - //inherited - public final DateTimePath createdAt = _super.createdAt; - - public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); - - public final StringPath description = createString("description"); - - public final DateTimePath endAt = createDateTime("endAt", java.time.ZonedDateTime.class); - - public final NumberPath id = createNumber("id", Long.class); - - public final StringPath itemHashValue = createString("itemHashValue"); - - public final QLocation location; - - public final StringPath resourceUrl = createString("resourceUrl"); - - public final DateTimePath startAt = createDateTime("startAt", java.time.ZonedDateTime.class); - - public final StringPath thumbnailUrl = createString("thumbnailUrl"); - - public final StringPath title = createString("title"); - - //inherited - public final DateTimePath updatedAt = _super.updatedAt; - - public QCatcherItem(String variable) { - this(CatcherItem.class, forVariable(variable), INITS); - } - - public QCatcherItem(Path path) { - this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); - } - - public QCatcherItem(PathMetadata metadata) { - this(metadata, PathInits.getFor(metadata, INITS)); - } - - public QCatcherItem(PathMetadata metadata, PathInits inits) { - this(CatcherItem.class, metadata, inits); - } - - public QCatcherItem(Class type, PathMetadata metadata, PathInits inits) { - super(type, metadata, inits); - this.category = inits.isInitialized("category") ? new QCategory(forProperty("category")) : null; - this.location = inits.isInitialized("location") ? new QLocation(forProperty("location"), inits.get("location")) : null; - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QCategory.java b/src/main/generated/com/catcher/core/domain/entity/QCategory.java deleted file mode 100644 index 603d97b..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QCategory.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; - - -/** - * QCategory is a Querydsl query type for Category - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QCategory extends EntityPathBase { - - private static final long serialVersionUID = -1973193061L; - - public static final QCategory category = new QCategory("category"); - - public final NumberPath id = createNumber("id", Long.class); - - public final StringPath name = createString("name"); - - public QCategory(String variable) { - super(Category.class, forVariable(variable)); - } - - public QCategory(Path path) { - super(path.getType(), path.getMetadata()); - } - - public QCategory(PathMetadata metadata) { - super(Category.class, metadata); - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QLocation.java b/src/main/generated/com/catcher/core/domain/entity/QLocation.java deleted file mode 100644 index ef202cc..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QLocation.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; -import com.querydsl.core.types.dsl.PathInits; - - -/** - * QLocation is a Querydsl query type for Location - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QLocation extends EntityPathBase { - - private static final long serialVersionUID = -122660526L; - - private static final PathInits INITS = PathInits.DIRECT2; - - public static final QLocation location = new QLocation("location"); - - public final QAddress address; - - public final NumberPath id = createNumber("id", Long.class); - - public QLocation(String variable) { - this(Location.class, forVariable(variable), INITS); - } - - public QLocation(Path path) { - this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); - } - - public QLocation(PathMetadata metadata) { - this(metadata, PathInits.getFor(metadata, INITS)); - } - - public QLocation(PathMetadata metadata, PathInits inits) { - this(Location.class, metadata, inits); - } - - public QLocation(Class type, PathMetadata metadata, PathInits inits) { - super(type, metadata, inits); - this.address = inits.isInitialized("address") ? new QAddress(forProperty("address")) : null; - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QSchedule.java b/src/main/generated/com/catcher/core/domain/entity/QSchedule.java deleted file mode 100644 index 6be543c..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QSchedule.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; -import com.querydsl.core.types.dsl.PathInits; - - -/** - * QSchedule is a Querydsl query type for Schedule - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QSchedule extends EntityPathBase { - - private static final long serialVersionUID = 1573342260L; - - private static final PathInits INITS = PathInits.DIRECT2; - - public static final QSchedule schedule = new QSchedule("schedule"); - - public final QBaseTimeEntity _super = new QBaseTimeEntity(this); - - public final NumberPath budget = createNumber("budget", Long.class); - - //inherited - public final DateTimePath createdAt = _super.createdAt; - - public final StringPath description = createString("description"); - - public final DateTimePath endAt = createDateTime("endAt", java.time.ZonedDateTime.class); - - public final NumberPath id = createNumber("id", Long.class); - - public final QLocation location; - - public final StringPath locationDetail = createString("locationDetail"); - - public final NumberPath participantLimit = createNumber("participantLimit", Long.class); - - public final DateTimePath participateEndAt = createDateTime("participateEndAt", java.time.ZonedDateTime.class); - - public final DateTimePath participateStartAt = createDateTime("participateStartAt", java.time.ZonedDateTime.class); - - public final DateTimePath startAt = createDateTime("startAt", java.time.ZonedDateTime.class); - - public final EnumPath status = createEnum("status", com.catcher.core.domain.entity.enums.ScheduleStatus.class); - - public final StringPath title = createString("title"); - - //inherited - public final DateTimePath updatedAt = _super.updatedAt; - - public final QUploadFile uploadFile; - - public final QUser user; - - public final NumberPath viewCount = createNumber("viewCount", Long.class); - - public QSchedule(String variable) { - this(Schedule.class, forVariable(variable), INITS); - } - - public QSchedule(Path path) { - this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS)); - } - - public QSchedule(PathMetadata metadata) { - this(metadata, PathInits.getFor(metadata, INITS)); - } - - public QSchedule(PathMetadata metadata, PathInits inits) { - this(Schedule.class, metadata, inits); - } - - public QSchedule(Class type, PathMetadata metadata, PathInits inits) { - super(type, metadata, inits); - this.location = inits.isInitialized("location") ? new QLocation(forProperty("location"), inits.get("location")) : null; - this.uploadFile = inits.isInitialized("uploadFile") ? new QUploadFile(forProperty("uploadFile")) : null; - this.user = inits.isInitialized("user") ? new QUser(forProperty("user")) : null; - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java b/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java deleted file mode 100644 index 7847e1a..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QUploadFile.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; - - -/** - * QUploadFile is a Querydsl query type for UploadFile - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QUploadFile extends EntityPathBase { - - private static final long serialVersionUID = 596989306L; - - public static final QUploadFile uploadFile = new QUploadFile("uploadFile"); - - public final NumberPath contentId = createNumber("contentId", Long.class); - - public final EnumPath contentType = createEnum("contentType", com.catcher.core.domain.entity.enums.ContentType.class); - - public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); - - public final StringPath fileUrl = createString("fileUrl"); - - public final NumberPath id = createNumber("id", Long.class); - - public QUploadFile(String variable) { - super(UploadFile.class, forVariable(variable)); - } - - public QUploadFile(Path path) { - super(path.getType(), path.getMetadata()); - } - - public QUploadFile(PathMetadata metadata) { - super(UploadFile.class, metadata); - } - -} - diff --git a/src/main/generated/com/catcher/core/domain/entity/QUser.java b/src/main/generated/com/catcher/core/domain/entity/QUser.java deleted file mode 100644 index b3d59b7..0000000 --- a/src/main/generated/com/catcher/core/domain/entity/QUser.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.catcher.core.domain.entity; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.processing.Generated; -import com.querydsl.core.types.Path; - - -/** - * QUser is a Querydsl query type for User - */ -@Generated("com.querydsl.codegen.DefaultEntitySerializer") -public class QUser extends EntityPathBase { - - private static final long serialVersionUID = 1283914728L; - - public static final QUser user = new QUser("user"); - - public final QBaseTimeEntity _super = new QBaseTimeEntity(this); - - //inherited - public final DateTimePath createdAt = _super.createdAt; - - public final DateTimePath deletedAt = createDateTime("deletedAt", java.time.ZonedDateTime.class); - - public final StringPath email = createString("email"); - - public final DateTimePath emailMarketingTerm = createDateTime("emailMarketingTerm", java.time.ZonedDateTime.class); - - public final NumberPath id = createNumber("id", Long.class); - - public final StringPath introduceContent = createString("introduceContent"); - - public final StringPath nickname = createString("nickname"); - - public final StringPath password = createString("password"); - - public final StringPath phone = createString("phone"); - - public final DateTimePath phoneAuthentication = createDateTime("phoneAuthentication", java.time.ZonedDateTime.class); - - public final DateTimePath phoneMarketingTerm = createDateTime("phoneMarketingTerm", java.time.ZonedDateTime.class); - - public final StringPath profileImageUrl = createString("profileImageUrl"); - - //inherited - public final DateTimePath updatedAt = _super.updatedAt; - - public final DateTimePath userAgeTerm = createDateTime("userAgeTerm", java.time.ZonedDateTime.class); - - public final EnumPath userGender = createEnum("userGender", com.catcher.core.domain.entity.enums.UserGender.class); - - public final StringPath username = createString("username"); - - public final DateTimePath userPrivacyTerm = createDateTime("userPrivacyTerm", java.time.ZonedDateTime.class); - - public final EnumPath userProvider = createEnum("userProvider", com.catcher.core.domain.entity.enums.UserProvider.class); - - public final EnumPath userRole = createEnum("userRole", com.catcher.core.domain.entity.enums.UserRole.class); - - public final DateTimePath userServiceTerm = createDateTime("userServiceTerm", java.time.ZonedDateTime.class); - - public QUser(String variable) { - super(User.class, forVariable(variable)); - } - - public QUser(Path path) { - super(path.getType(), path.getMetadata()); - } - - public QUser(PathMetadata metadata) { - super(User.class, metadata); - } - -} -