Skip to content

Commit

Permalink
Merge pull request #68 from Ddareunging/develop
Browse files Browse the repository at this point in the history
main 브랜치로 3차 merge
  • Loading branch information
0-x-14 authored Jun 30, 2024
2 parents 858a27c + 0c77fd9 commit 6f5076d
Show file tree
Hide file tree
Showing 44 changed files with 1,181 additions and 146 deletions.
Binary file modified .DS_Store
Binary file not shown.
6 changes: 5 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,8 @@ tasks.named('test') {
}
jar {
enabled = false
}
}

tasks.withType(JavaCompile) {
options.compilerArgs << "-parameters"
}

This file was deleted.

155 changes: 149 additions & 6 deletions src/main/java/ddareunging/ddareunging_server/domain/Course.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,49 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import ddareunging.ddareunging_server.domain.common.BaseEntity;
import ddareunging.ddareunging_server.domain.enums.CourseTheme;
import ddareunging.ddareunging_server.dto.RegisterNewCourseRequestDTO;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;



@Entity
@Getter
@Builder
//@ToString(exclude = {"replies", "spots", "user"})
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "Course")
public class Course extends BaseEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "course_id")
private Long courseId;

@Column(name = "course_image")
private String courseImage;
@Column(name = "course_like")
private Integer courseLike;
public void setCourseLike(Integer courseLike) { this.courseLike = courseLike; }

@Column(name = "course_name")
private String courseName;
private String detail;
private Integer theme;

@Enumerated(EnumType.STRING)
private CourseTheme theme;
private Float distance;
private Integer kcal;
private Integer time;
Expand All @@ -35,14 +53,139 @@ public class Course extends BaseEntity {
@JoinColumn(name = "userId", referencedColumnName = "userId")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private User user;

@Transient
private String user_nickname;

public void setUserNickname(String nickname) {
this.user_nickname = nickname;
}


@OneToMany(mappedBy = "course", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonManagedReference
private List<Reply> replies = new ArrayList<>();


@OneToMany(mappedBy = "course", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonManagedReference
private List<Spot> spots = new ArrayList<>();

public Long getCourseId() {
return courseId;
}

public void setCourseId(Long courseId) {
this.courseId = courseId;
}

public String getCourseImage() {
return courseImage;
}

public void setCourseImage(String courseImage) {
this.courseImage = courseImage;
}

public Integer getCourseLike() {
return courseLike;
}

public String getCourseName() {
return courseName;
}

public void setCourseName(String courseName) {
this.courseName = courseName;
}

public String getDetail() {
return detail;
}

public void setDetail(String detail) {
this.detail = detail;
}

public CourseTheme getTheme() {
return theme;
}

public void setTheme(CourseTheme theme) {
this.theme = theme;
}

public Float getDistance() {
return distance;
}

public void setDistance(Float distance) {
this.distance = distance;
}

public Integer getKcal() {
return kcal;
}

public void setKcal(Integer kcal) {
this.kcal = kcal;
}

public Integer getTime() {
return time;
}

public void setTime(Integer time) {
this.time = time;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public String getUser_nickname() {
return user_nickname;
}

public void setUser_nickname(String user_nickname) {
this.user_nickname = user_nickname;
}

public List<Reply> getReplies() {
return replies;
}

public void setReplies(List<Reply> replies) {
this.replies = replies;
}

public List<Spot> getSpots() {
return spots;
}

public void addSpot(Spot spot) {
spots.add(spot);
spot.setCourse(this);
}

public void removeSpot(Spot spot) {
spots.remove(spot);
spot.setCourse(null);
}

public void setSpots(List<Spot> spots) {
this.spots.clear();
if (spots != null) {
for (Spot spot : spots) {
addSpot(spot);
}
}
}

public static Course of(User user, RegisterNewCourseRequestDTO registerNewCourseRequestDTO) {
// 새로운 코스를 등록
return Course.builder().courseImage(registerNewCourseRequestDTO.courseImage())
Expand All @@ -56,4 +199,4 @@ public static Course of(User user, RegisterNewCourseRequestDTO registerNewCourse
.user(user)
.build();
}
}
}
6 changes: 4 additions & 2 deletions src/main/java/ddareunging/ddareunging_server/domain/Like.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
public class Like extends BaseEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "like_id")
private Long likeId;

@ManyToOne(fetch = FetchType.LAZY)
Expand All @@ -32,7 +34,7 @@ public void setUserNickname(String nickname) {
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "courseId", referencedColumnName = "courseId")
@JoinColumn(name = "course_id", referencedColumnName = "course_id")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private Course course;
}
}
63 changes: 60 additions & 3 deletions src/main/java/ddareunging/ddareunging_server/domain/Reply.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,38 @@
package ddareunging.ddareunging_server.domain;

import com.fasterxml.jackson.annotation.JsonBackReference;
import ddareunging.ddareunging_server.dto.ReplyRequestDto;
import com.fasterxml.jackson.annotation.JsonProperty;
import ddareunging.ddareunging_server.domain.common.BaseEntity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

@Entity
@Getter
@Builder
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "Reply")
@AttributeOverrides({
@AttributeOverride(name = "created_at", column = @Column(name = "reply_time"))
})
public class Reply extends BaseEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "reply_id")
private Long replyId;

@Column(name = "reply_content")
private String replyContent;

@ManyToOne(fetch = FetchType.LAZY)
Expand All @@ -29,7 +41,52 @@ public class Reply extends BaseEntity {
private User user;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "courseId", referencedColumnName = "courseId")
@JoinColumn(name = "course_id", referencedColumnName = "course_id")
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@JsonBackReference
private Course course;

public Long getReplyId() {
return replyId;
}

public void setReplyId(Long replyId) {
this.replyId = replyId;
}

public String getReplyContent() {
return replyContent;
}

public void setReplyContent(String replyContent) {
this.replyContent = replyContent;
}

public Course getCourse() {
return course;
}

public void setCourse(Course course) {
this.course = course;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

// 돌아가는 기존코드!!!
public static Reply createReply(User user, Course course, ReplyRequestDto replyRequest) {
Reply reply = new Reply();
reply.setReplyContent(replyRequest.getReplyContent());
reply.setCourse(course);
reply.setUser(user);
//reply.setReplyTime(LocalDateTime.now());
return reply;
}


}
Loading

0 comments on commit 6f5076d

Please sign in to comment.