Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/main/java/org/atdev/artrip/domain/auth/data/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ public class User {
@Column(name = "stamp_num")
private Byte stampNum;

@Column(name = "profile_image_Url")
private String profileImageUrl;

@Column(name = "nick_name")
private String nickName;

Expand Down Expand Up @@ -72,4 +75,12 @@ public boolean updateUserInfo(String name, String email) {

return changed;
}

public void updateNickname(String nickName) {
this.nickName=nickName.trim();
}

public void updateProfileImage(String url){
this.profileImageUrl=url;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,6 @@ public interface UserRepository extends JpaRepository<User,Long> {

@Query("SELECT u FROM User u JOIN FETCH u.socialAccounts sa WHERE sa.provider = :provider AND sa.providerId = :providerId")
Optional<User> findBySocialAccountsProviderAndProviderId(@Param("provider") Provider provider, @Param("providerId") String providerId);

boolean existsByNickName(String nickname);
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.atdev.artrip.domain.exhibit.repository;

import org.atdev.artrip.domain.exhibit.data.Exhibit;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequestDto;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequest;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.web.dto.RandomExhibitRequest;
import org.atdev.artrip.domain.home.web.dto.request.RandomExhibitRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Repository;
Expand All @@ -13,7 +13,7 @@
@Repository
public interface ExhibitRepositoryCustom {

Slice<Exhibit> findExhibitByFilters(ExhibitFilterRequestDto filter, Pageable pageable, Long cursorId);
Slice<Exhibit> findExhibitByFilters(ExhibitFilterRequest filter, Pageable pageable, Long cursorId);

List<HomeListResponse> findRandomExhibits(RandomExhibitRequest condition);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,16 @@
import org.atdev.artrip.domain.Enum.Status;
import org.atdev.artrip.domain.exhibit.data.Exhibit;
import org.atdev.artrip.domain.exhibit.data.QExhibit;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequestDto;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequest;
import org.atdev.artrip.domain.exhibitHall.data.QExhibitHall;
import org.atdev.artrip.domain.favortie.data.QFavoriteExhibit;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.web.dto.RandomExhibitRequest;
import org.atdev.artrip.domain.home.web.dto.request.RandomExhibitRequest;
import org.atdev.artrip.domain.keyword.data.QKeyword;
import org.springframework.data.domain.*;
import org.springframework.stereotype.Repository;

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

Expand All @@ -32,7 +31,7 @@ public class ExhibitRepositoryImpl implements ExhibitRepositoryCustom{
private final JPAQueryFactory queryFactory;

@Override
public Slice<Exhibit> findExhibitByFilters(ExhibitFilterRequestDto dto, Pageable pageable, Long cursorId) {
public Slice<Exhibit> findExhibitByFilters(ExhibitFilterRequest dto, Pageable pageable, Long cursorId) {

QExhibit e = QExhibit.exhibit;
QExhibitHall h = QExhibitHall.exhibitHall;
Expand Down Expand Up @@ -145,7 +144,7 @@ private BooleanExpression cursorCondition(Exhibit cursor, long cursorFavoriteCo
};
}

private OrderSpecifier<?>[] sortFilter(ExhibitFilterRequestDto dto, QExhibit e, QFavoriteExhibit f) {
private OrderSpecifier<?>[] sortFilter(ExhibitFilterRequest dto, QExhibit e, QFavoriteExhibit f) {

if (dto.getSortType() == null) {
return new OrderSpecifier[]{e.createdAt.desc()};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,18 @@
import lombok.RequiredArgsConstructor;
import org.atdev.artrip.domain.exhibit.reponse.ExhibitDetailResponse;
import org.atdev.artrip.domain.exhibit.service.ExhibitService;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequestDto;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequest;
import org.atdev.artrip.domain.home.response.FilterResponse;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.service.HomeService;
import org.atdev.artrip.global.apipayload.CommonResponse;
import org.atdev.artrip.global.apipayload.code.status.CommonError;
import org.atdev.artrip.global.apipayload.code.status.HomeError;
import org.atdev.artrip.global.swagger.ApiErrorResponses;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.PageableDefault;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.util.List;

@RestController
Expand Down Expand Up @@ -89,7 +84,7 @@ public ResponseEntity<CommonResponse<List<String>>> getDomestic(){
home = {HomeError._HOME_INVALID_DATE_RANGE, HomeError._HOME_UNRECOGNIZED_REGION, HomeError._HOME_EXHIBIT_NOT_FOUND}
)
@PostMapping("/filter")
public ResponseEntity<FilterResponse> getDomesticFilter(@RequestBody ExhibitFilterRequestDto dto,
public ResponseEntity<FilterResponse> getDomesticFilter(@RequestBody ExhibitFilterRequest dto,
@RequestParam(required = false) Long cursor,
@PageableDefault(size = 20) Pageable pageable){

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

@Builder
@Data
public class ExhibitFilterRequestDto {
public class ExhibitFilterRequest {

private LocalDate startDate;
private LocalDate endDate;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class FavoriteExhibit {
private User user;

@Column(nullable = false)
@Builder.Default
private boolean status = false;

@ManyToOne(fetch = FetchType.LAZY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import org.atdev.artrip.domain.Enum.KeywordType;
import org.atdev.artrip.domain.exhibit.data.Exhibit;
import org.atdev.artrip.domain.exhibit.reponse.ExhibitDetailResponse;
import org.atdev.artrip.domain.home.web.dto.*;
import org.atdev.artrip.domain.home.response.FilterResponse;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.web.dto.request.*;
import org.atdev.artrip.domain.keyword.data.Keyword;
import org.springframework.data.domain.Slice;
import org.springframework.stereotype.Component;
Expand Down Expand Up @@ -75,7 +75,7 @@ public ExhibitDetailResponse toHomeExhibitResponse(Exhibit exhibit) {
}


public RandomExhibitRequest from(PersonalizedRequestDto request, List<Keyword> keywords) {
public RandomExhibitRequest from(PersonalizedRequest request, List<Keyword> keywords) {

Set<String> genres = keywords.stream()
.filter(k -> k.getType() == KeywordType.GENRE)
Expand All @@ -97,7 +97,7 @@ public RandomExhibitRequest from(PersonalizedRequestDto request, List<Keyword> k
.build();
}

public RandomExhibitRequest from(ScheduleRandomRequestDto request) {
public RandomExhibitRequest from(ScheduleRandomRequest request) {

return RandomExhibitRequest.builder()
.isDomestic(request.getIsDomestic())
Expand All @@ -108,15 +108,15 @@ public RandomExhibitRequest from(ScheduleRandomRequestDto request) {
.build();
}

public RandomExhibitRequest fromToday(TodayRandomRequestDto request) {
public RandomExhibitRequest fromToday(TodayRandomRequest request) {
return RandomExhibitRequest.builder()
.isDomestic(request.getIsDomestic())
.country(normalize(request.getCountry()))
.region(normalize(request.getRegion()))
.limit(3)
.build();
}
public RandomExhibitRequest fromGenre(GenreRandomRequestDto request) {
public RandomExhibitRequest fromGenre(GenreRandomRequest request) {
return RandomExhibitRequest.builder()
.isDomestic(request.getIsDomestic())
.country(normalize(request.getCountry()))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
package org.atdev.artrip.domain.home.service;

import lombok.RequiredArgsConstructor;
import org.atdev.artrip.domain.Enum.KeywordType;
import org.atdev.artrip.domain.auth.repository.UserRepository;
import org.atdev.artrip.domain.exhibit.data.Exhibit;
import org.atdev.artrip.domain.exhibit.reponse.ExhibitDetailResponse;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequestDto;
import org.atdev.artrip.domain.home.web.dto.*;
import org.atdev.artrip.domain.exhibit.web.dto.request.ExhibitFilterRequest;
import org.atdev.artrip.domain.exhibitHall.repository.ExhibitHallRepository;
import org.atdev.artrip.domain.home.converter.HomeConverter;
import org.atdev.artrip.domain.home.response.FilterResponse;

import org.atdev.artrip.domain.exhibit.repository.ExhibitRepository;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.web.dto.request.*;
import org.atdev.artrip.domain.keyword.data.Keyword;
import org.atdev.artrip.domain.keyword.data.UserKeyword;
import org.atdev.artrip.domain.keyword.repository.UserKeywordRepository;
import org.atdev.artrip.global.apipayload.code.status.ExhibitError;
import org.atdev.artrip.global.apipayload.code.status.UserError;
import org.atdev.artrip.global.apipayload.exception.GeneralException;

Expand All @@ -25,10 +22,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDate;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
Expand Down Expand Up @@ -68,7 +62,7 @@ public List<String> getDomestic(){


//필터 전체 조회
public FilterResponse getFilterExhibit(ExhibitFilterRequestDto dto, Pageable pageable, Long cursorId) {
public FilterResponse getFilterExhibit(ExhibitFilterRequest dto, Pageable pageable, Long cursorId) {

Slice<Exhibit> slice = exhibitRepository.findExhibitByFilters(dto, pageable, cursorId);

Expand All @@ -77,7 +71,7 @@ public FilterResponse getFilterExhibit(ExhibitFilterRequestDto dto, Pageable pag

// 사용자 맞춤 전시 랜덤 추천
@Transactional
public List<HomeListResponse> getRandomPersonalized(Long userId, PersonalizedRequestDto request){
public List<HomeListResponse> getRandomPersonalized(Long userId, PersonalizedRequest request){

if (!userRepository.existsById(userId)) {
throw new GeneralException(UserError._USER_NOT_FOUND);
Expand Down Expand Up @@ -106,7 +100,7 @@ public List<HomeListResponse> getRandomPersonalized(Long userId, PersonalizedReq
}

// 이번주 랜덤 전시 추천
public List<HomeListResponse> getRandomSchedule(ScheduleRandomRequestDto request){
public List<HomeListResponse> getRandomSchedule(ScheduleRandomRequest request){

RandomExhibitRequest filter = homeConverter.from(request);
List<HomeListResponse> results = exhibitRepository.findRandomExhibits(filter);
Expand All @@ -122,7 +116,7 @@ public List<HomeListResponse> getRandomSchedule(ScheduleRandomRequestDto request
}

// 장르별 전시 랜덤 추천
public List<HomeListResponse> getRandomGenre(GenreRandomRequestDto request){
public List<HomeListResponse> getRandomGenre(GenreRandomRequest request){

RandomExhibitRequest filter = homeConverter.fromGenre(request);

Expand All @@ -139,7 +133,7 @@ public List<HomeListResponse> getRandomGenre(GenreRandomRequestDto request){
}

// 오늘날 전시 랜덤 추천
public List<HomeListResponse> getRandomToday(TodayRandomRequestDto request){
public List<HomeListResponse> getRandomToday(TodayRandomRequest request){

RandomExhibitRequest filter = homeConverter.fromToday(request);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.atdev.artrip.domain.home.web.dto.*;
import org.atdev.artrip.domain.home.response.HomeListResponse;
import org.atdev.artrip.domain.home.service.HomeService;
import org.atdev.artrip.domain.home.web.dto.request.GenreRandomRequest;
import org.atdev.artrip.domain.home.web.dto.request.PersonalizedRequest;
import org.atdev.artrip.domain.home.web.dto.request.ScheduleRandomRequest;
import org.atdev.artrip.domain.home.web.dto.request.TodayRandomRequest;
import org.atdev.artrip.global.apipayload.CommonResponse;
import org.atdev.artrip.global.apipayload.code.status.CommonError;
import org.atdev.artrip.global.apipayload.code.status.HomeError;
Expand Down Expand Up @@ -47,7 +50,7 @@ public class HomeController {
@PostMapping("/personalized/random")
public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomPersonalized(
@AuthenticationPrincipal UserDetails userDetails,
@Valid @RequestBody PersonalizedRequestDto requestDto){
@Valid @RequestBody PersonalizedRequest requestDto){

long userId = Long.parseLong(userDetails.getUsername());

Expand Down Expand Up @@ -78,7 +81,7 @@ public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomPersonali
)
@PostMapping("/schedule")
public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomSchedule(
@Valid @RequestBody ScheduleRandomRequestDto request){
@Valid @RequestBody ScheduleRandomRequest request){

List<HomeListResponse> exhibits= homeService.getRandomSchedule(request);

Expand Down Expand Up @@ -109,7 +112,7 @@ public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomSchedule(
)
@PostMapping("/genre/random")
public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomExhibits(
@Valid @RequestBody GenreRandomRequestDto request){
@Valid @RequestBody GenreRandomRequest request){

List<HomeListResponse> exhibits = homeService.getRandomGenre(request);
return ResponseEntity.ok(CommonResponse.onSuccess(exhibits));
Expand Down Expand Up @@ -137,7 +140,7 @@ public ResponseEntity<CommonResponse<List<HomeListResponse>>> getRandomExhibits(
)
@PostMapping("recommend/today")
public ResponseEntity<CommonResponse<List<HomeListResponse>>> getTodayRecommendations(
@Valid @RequestBody TodayRandomRequestDto request){
@Valid @RequestBody TodayRandomRequest request){

List<HomeListResponse> exhibits = homeService.getRandomToday(request);

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.atdev.artrip.domain.home.web.dto;
package org.atdev.artrip.domain.home.web.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.AssertTrue;
Expand All @@ -12,7 +12,7 @@
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class BaseRandomRequestDto {
public class BaseRandomRequest {

@NotNull
protected Boolean isDomestic;
Expand Down
Loading
Loading