Skip to content

Commit

Permalink
세팅
Browse files Browse the repository at this point in the history
  • Loading branch information
bikooju committed Jan 11, 2025
1 parent 3dc89cb commit 8ff94c3
Show file tree
Hide file tree
Showing 12 changed files with 187 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/main/java/banban/springboot/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ public class SwaggerConfig {
@Bean
public OpenAPI UMCstudyAPI() {
Info info = new Info()
.title("UMC Server WorkBook API")
.description("UMC Server WorkBook API 명세서")
.title("반반 서버 API")
.description("반반 서버 API 명세서")
.version("1.0.0");

String jwtSchemeName = "JWT TOKEN";
Expand Down
45 changes: 45 additions & 0 deletions src/main/java/banban/springboot/domain/entity/News.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package banban.springboot.domain.entity;

import banban.springboot.domain.enums.NewsCategories;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.ColumnDefault;

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

@Entity
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class News {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 30)
private String headline;;

@Column(nullable = false, length = 1000)
private String content;

@Enumerated(EnumType.STRING)
private NewsCategories newsCategories; //긍정,부정

@ColumnDefault("0")
@Column(name = "like_count", nullable = false)
private Integer likes;

@ElementCollection
private List<String> thumbnail_URL;

@Column(nullable = false)
private boolean isBreakingNews;

@Column(nullable = false)
private LocalDateTime createdAt = LocalDateTime.now();

}
22 changes: 22 additions & 0 deletions src/main/java/banban/springboot/domain/entity/User.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
package banban.springboot.domain.entity;

import jakarta.persistence.*;
import lombok.*;

import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 20)
private String userid;

@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<News> NewsList = new ArrayList<>();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package banban.springboot.domain.enums;

public enum NewsCategories {
POSITIVE, NEGATIVE
}
4 changes: 0 additions & 4 deletions src/main/java/banban/springboot/domain/enums/UserEnums.java

This file was deleted.

14 changes: 14 additions & 0 deletions src/main/java/banban/springboot/repository/NewsRepository.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package banban.springboot.repository;

import banban.springboot.domain.entity.News;
import banban.springboot.domain.enums.NewsCategories;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface NewsRepository extends JpaRepository<News,Long> {
List<News> findByIsBreakingNewsTrue(); // 속보 뉴스 조회
List<News> findByNewsCategories(NewsCategories newsCategories); // 긍정/부정 뉴스 조회
}
10 changes: 9 additions & 1 deletion src/main/java/banban/springboot/repository/UserRepository.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
package banban.springboot.repository;

public interface UserRepository {
import org.apache.catalina.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByUsername(String userId);
}
12 changes: 12 additions & 0 deletions src/main/java/banban/springboot/service/NewsService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package banban.springboot.service;

import banban.springboot.repository.NewsRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class NewsService {

@Autowired
private NewsRepository newsRepository;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package banban.springboot.web.dto.request;

import banban.springboot.domain.enums.NewsCategories;
import jakarta.persistence.GeneratedValue;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;

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

@Getter
@Setter
public class NewsRequestDTO {
@NotBlank
@Size(max = 30, message = "뉴스 헤드라인은 최대 30자입니다.")
private String headline;

@NotBlank
@Size(max = 1000, message = "뉴스 본문은 최대 1000자입니다.")
private String content;

private List<MultipartFile> images; // 사용자가 업로드한 이미지

private boolean isBreakingNews; // 속보 여부

@NotNull(message = "긍정인지 부정인지 작성해주세요")
private NewsCategories newsCategories;

private LocalDateTime createdAt = LocalDateTime.now();
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
package banban.springboot.web.dto.request;

import jakarta.validation.constraints.Max;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Builder
public class UserRequestDTO {
private String id;
@Max(20)
private String userId;

@Max(20)
private String password;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package banban.springboot.web.dto.response;

import lombok.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@Getter
@Setter
@NoArgsConstructor
@Builder
@AllArgsConstructor
public class NewsResponseDTO {
private Long id;
private String headline;
private String content;
private List<MultipartFile> images;
private boolean isBreakingNews;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
package banban.springboot.web.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Builder
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class UserResponseDTO {
private String userId;
private String password;
}

0 comments on commit 8ff94c3

Please sign in to comment.