diff --git a/src/main/java/com/example/oneul/domain/post/dao/PostCommandRepository.java b/src/main/java/com/example/oneul/domain/post/dao/PostCommandRepository.java index 2b9188a..8fa08ad 100644 --- a/src/main/java/com/example/oneul/domain/post/dao/PostCommandRepository.java +++ b/src/main/java/com/example/oneul/domain/post/dao/PostCommandRepository.java @@ -16,5 +16,5 @@ public interface PostCommandRepository extends CrudRepository { void deleteById(Long id); void delete(Post post); - List findAllByExpiredAt(LocalDateTime expiredAt); + List findAllByExpiredAtLessThanAndDeletedAtIsNull(LocalDateTime expiredAt); } \ No newline at end of file diff --git a/src/main/java/com/example/oneul/domain/post/domain/Post.java b/src/main/java/com/example/oneul/domain/post/domain/Post.java index d2767b4..ef5514c 100644 --- a/src/main/java/com/example/oneul/domain/post/domain/Post.java +++ b/src/main/java/com/example/oneul/domain/post/domain/Post.java @@ -44,7 +44,7 @@ public class Post implements Serializable { public Post(Long id, LocalDateTime createdAt, LocalDateTime expiredAt, String content, UserEntity writer){ this.id = id; this.createdAt = createdAt; - this.expiredAt = expiredAt.plusHours(24); + this.expiredAt = expiredAt; this.deletedAt = null; this.content = content; this.writer = writer; diff --git a/src/main/java/com/example/oneul/domain/post/service/command/PostCommnadServiceImpl.java b/src/main/java/com/example/oneul/domain/post/service/command/PostCommnadServiceImpl.java index 5b110a8..dfc1c30 100644 --- a/src/main/java/com/example/oneul/domain/post/service/command/PostCommnadServiceImpl.java +++ b/src/main/java/com/example/oneul/domain/post/service/command/PostCommnadServiceImpl.java @@ -1,5 +1,7 @@ package com.example.oneul.domain.post.service.command; +import java.time.LocalDateTime; + import javax.servlet.http.HttpSession; import com.example.oneul.domain.post.dao.PostCommandRepository; @@ -26,10 +28,13 @@ public class PostCommnadServiceImpl implements PostCommandService{ @Override public Post createPost(Post post, HttpSession httpSession){ UserEntity userEntity = (UserEntity) httpSession.getAttribute("user"); - + LocalDateTime createdAt = LocalDateTime.now(); + Post postEntity = postCommandRepository.save( Post.builder() .content(post.getContent()) + .createdAt(createdAt) + .expiredAt(createdAt.plusHours(24)) .writer(userEntity) .build()); diff --git a/src/main/java/com/example/oneul/global/config/BatchConfig.java b/src/main/java/com/example/oneul/global/config/BatchConfig.java index ca8be0d..97d9322 100644 --- a/src/main/java/com/example/oneul/global/config/BatchConfig.java +++ b/src/main/java/com/example/oneul/global/config/BatchConfig.java @@ -47,12 +47,12 @@ public class BatchConfig { return stepBuilderFactory.get("step") .tasklet((contribution, chunkContext) -> { LocalDateTime expiredAt = LocalDateTime.now(); - List posts = postCommandRepository.findAllByExpiredAt(expiredAt); - // posts.stream().forEach(post -> { - // post.setDeletedAt(expiredAt); - // }); - // // TODO: Query DB 한테 알려줘야함 - // postCommandRepository.saveAll(posts); + List posts = postCommandRepository.findAllByExpiredAtLessThanAndDeletedAtIsNull(expiredAt); + posts.stream().forEach(post -> { + post.setDeletedAt(expiredAt); + }); + // TODO: Query DB 한테 알려줘야함 + postCommandRepository.saveAll(posts); log.info(expiredAt + " posts(" + posts.size() + ") are deleted."); return RepeatStatus.FINISHED; }).build(); diff --git a/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java b/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java index 70fea9b..0477223 100644 --- a/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java +++ b/src/main/java/com/example/oneul/global/util/LoginCheckInterceptor.java @@ -20,21 +20,21 @@ public class LoginCheckInterceptor implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - log.info("login check prehandler"); HttpSession httpSession = request.getSession(false); if(httpSession == null){ - log.info("no session"); + log.info("sessionless user access"); response.sendRedirect(loginPage); return false; } UserEntity userEntity = (UserEntity) httpSession.getAttribute("user"); - + if(userEntity == null){ log.info("session expired"); response.sendRedirect(loginPage); return false; } + log.info(userEntity.toString() + " is access"); return true; } }