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
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public List<HomePopularPostRespDto> getPopularPosts(Long orgId) {

// Free 게시판
List<FreePost> freePosts = freePostRepository.findTop3PopularByOrg(
AccountStatus.ACTIVE,
ActiveStatus.ACTIVE,
startOfWeek,
now,
orgId,
Expand All @@ -48,7 +48,7 @@ public List<HomePopularPostRespDto> getPopularPosts(Long orgId) {

// QnA 게시판
List<QnAPost> qnaPosts = qnaPostRepository.findTop3PopularByOrg(
AccountStatus.ACTIVE,
ActiveStatus.ACTIVE,
startOfWeek,
now,
orgId,
Expand All @@ -59,7 +59,7 @@ public List<HomePopularPostRespDto> getPopularPosts(Long orgId) {

// Tip 게시판
List<TipPost> tipPosts = tipPostRepository.findTop3PopularByOrg(
AccountStatus.ACTIVE,
ActiveStatus.ACTIVE,
startOfWeek,
now,
orgId,
Expand Down
66 changes: 33 additions & 33 deletions src/main/java/org/example/tackit/config/CommonDataInitializer.java
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
package org.example.tackit.config;

import java.time.LocalDateTime;
import lombok.RequiredArgsConstructor;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.Member;
import org.example.tackit.domain.organization.repository.SchoolRepository;
import org.example.tackit.domain.entity.*;
import org.example.tackit.domain.member.repository.MemberRepository;
import org.example.tackit.domain.entity.Org.School;
import org.example.tackit.domain.entity.Org.SchoolType;
import org.example.tackit.domain.member.repository.MemberRepository;
import org.example.tackit.domain.organization.repository.SchoolRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
@RequiredArgsConstructor
public class CommonDataInitializer implements CommandLineRunner {

private final MemberRepository memberRepository;
private final PasswordEncoder passwordEncoder;
private final SchoolRepository schoolRepository;

// commandLineRunner의 run 메서드는 String... args로 유지 (String[] args와 유사) -> 스프링 부트 공식 문서 참고
// args를 꼭 배열로 넘겨야 하는 건 아니고 가변적으로 받을 수 있다는 의도를 나타냄
@Override
public void run(String... args) throws Exception {
if (memberRepository.findByEmail("contact.tackit@gmail.com").isEmpty()) {
Member admin = Member.builder()
.email("contact.tackit@gmail.com")
.password(passwordEncoder.encode("admin1")) // BCrypt 인코딩
.name("관리자")
.status(AccountStatus.ACTIVE)
.createdAt(LocalDateTime.now())
.build();

memberRepository.save(admin);
}
private final MemberRepository memberRepository;
private final PasswordEncoder passwordEncoder;
private final SchoolRepository schoolRepository;

// commandLineRunner의 run 메서드는 String... args로 유지 (String[] args와 유사) -> 스프링 부트 공식 문서 참고
// args를 꼭 배열로 넘겨야 하는 건 아니고 가변적으로 받을 수 있다는 의도를 나타냄
@Override
public void run(String... args) throws Exception {
if (memberRepository.findByEmail("contact.tackit@gmail.com").isEmpty()) {
Member admin = Member.builder()
.email("contact.tackit@gmail.com")
.password(passwordEncoder.encode("admin1")) // BCrypt 인코딩
.name("관리자")
.activeStatus(ActiveStatus.ACTIVE)
.createdAt(LocalDateTime.now())
.build();

memberRepository.save(admin);
}

if (schoolRepository.findBySchoolName("숙명여자대학교").isEmpty()) {
School sookmyung = School.builder()
.schoolName("숙명여자대학교")
.schoolType(SchoolType.Main)
.regionId(1)
.address("서울특별시 용산구 청파로47길 100")
.build();
if (schoolRepository.findBySchoolName("숙명여자대학교").isEmpty()) {
School sookmyung = School.builder()
.schoolName("숙명여자대학교")
.schoolType(SchoolType.Main)
.regionId(1)
.address("서울특별시 용산구 청파로47길 100")
.build();

schoolRepository.save(sookmyung);
schoolRepository.save(sookmyung);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.example.tackit.domain.admin.repository.AdminMemberRepository;
import org.example.tackit.domain.auth.login.security.CustomUserDetails;
import org.example.tackit.domain.entity.Member;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.security.authentication.BadCredentialsException;
import org.example.tackit.domain.auth.login.dto.TokenDto;
import org.springframework.beans.factory.annotation.Value;
Expand Down Expand Up @@ -173,7 +173,7 @@ public Authentication getAuthentication(String accessToken) {
.orElseThrow(() -> new RuntimeException("사용자를 찾을 수 없습니다."));

// 탈퇴 회원 차단
if (member.getAccountStatus() == AccountStatus.DELETED) {
if (member.getActiveStatus() == ActiveStatus.DELETED) {
throw new RuntimeException("탈퇴한 회원입니다.");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import lombok.Builder;
import lombok.Getter;
import org.example.tackit.domain.entity.Member;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;

import java.time.LocalDateTime;

Expand All @@ -21,7 +21,7 @@ public class DeletedMemberDTO {
private String nickname;

// 상태
private AccountStatus accountStatus;
private ActiveStatus activeStatus;

// 가입일자
private LocalDateTime createdAt;
Expand All @@ -30,7 +30,7 @@ public static DeletedMemberDTO from(Member member) {
return DeletedMemberDTO.builder()
.email(member.getEmail())
.createdAt(member.getCreatedAt())
.accountStatus(member.getAccountStatus())
.activeStatus(member.getActiveStatus())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;

import java.time.LocalDate;

Expand All @@ -17,6 +17,6 @@ public class MemberDTO {
private String nickname;
private String email;
private String organization;
private AccountStatus accountStatus;
private ActiveStatus activeStatus;
private LocalDate createdAt;
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package org.example.tackit.domain.admin.repository;

import org.example.tackit.domain.entity.FreePost;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;


public interface AdminFreePostRepository extends JpaRepository<FreePost, Long> {

Page<FreePost> findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus accountStatus, int reportCount, Pageable pageable);


Page<FreePost> findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus activeStatus, int reportCount, Pageable pageable);


}
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package org.example.tackit.domain.admin.repository;

import org.example.tackit.domain.entity.Member;
import org.example.tackit.domain.entity.MemberType;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

Expand All @@ -14,8 +12,8 @@

public interface AdminMemberRepository extends JpaRepository<Member, Long> {
@Query("SELECT u FROM Member u WHERE u.email <> 'admin' ORDER BY " +
"CASE WHEN u.status = 0 THEN 0 ELSE 1 END")
List<Member> findAllOrderByStatus();
"CASE WHEN u.activeStatus = 0 THEN 0 ELSE 1 END")
List<Member> findAllOrderByActiveStatus();

Optional<Member> findByEmail(String email);

Expand All @@ -28,7 +26,7 @@ public interface AdminMemberRepository extends JpaRepository<Member, Long> {
Long countJoinedAfter(@Param("date")LocalDateTime date);

// 탈퇴 회원 통계
List<Member> findByStatus(AccountStatus accountStatus);
List<Member> findByActiveStatus(ActiveStatus activeStatus);

// 1년마다 뉴비 -> 시니어 자동 갱신

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.example.tackit.domain.admin.repository;

import org.example.tackit.domain.entity.QnAPost;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AdminQnAPostRepository extends JpaRepository<QnAPost, Long> {

Page<QnAPost> findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus accountStatus, int reportCount, Pageable pageable);
Page<QnAPost> findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus activeStatus, int reportCount, Pageable pageable);
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.example.tackit.domain.admin.repository;

import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.example.tackit.domain.entity.TipPost;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

public interface AdminTipPostRepository extends JpaRepository<TipPost, Long> {

Page<TipPost> findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus accountStatus, int reportCount, Pageable pageable);
Page<TipPost> findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus activeStatus, int reportCount, Pageable pageable);
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.example.tackit.domain.admin.dto.ReportedPostDTO;
import org.example.tackit.domain.admin.repository.AdminFreePostRepository;
import org.example.tackit.domain.entity.FreePost;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
Expand All @@ -22,7 +22,7 @@ public class AdminFreePostService implements ReportedPostService{
// 비활성화 자유 게시글 전체 조회
@Override
public Page<ReportedPostDTO> getDeletedPosts(Pageable pageable) {
return adminFreePostRepository.findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus.DELETED, 3, pageable)
return adminFreePostRepository.findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus.DELETED, 3, pageable)
.map(ReportedPostDTO::fromEntity);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,8 @@
package org.example.tackit.domain.admin.service;

import lombok.RequiredArgsConstructor;
import org.example.tackit.domain.admin.dto.DeletedMemberDTO;
import org.example.tackit.domain.admin.dto.DeletedMemberResp;
import org.example.tackit.domain.admin.dto.MemberDTO;
import org.example.tackit.domain.admin.dto.MemberStatisticsDTO;
import org.example.tackit.domain.admin.repository.AdminMemberRepository;
import org.example.tackit.domain.entity.Member;
import org.example.tackit.domain.entity.AccountStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.ChronoField;
import java.util.List;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.example.tackit.domain.admin.dto.ReportedPostDTO;
import org.example.tackit.domain.admin.repository.AdminQnAPostRepository;
import org.example.tackit.domain.entity.QnAPost;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
Expand All @@ -21,7 +21,7 @@ public class AdminQnAPostService implements ReportedPostService {
@Override
public Page<ReportedPostDTO> getDeletedPosts(Pageable pageable) {

return adminQnAPostRepository.findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus.DELETED, 3, pageable)
return adminQnAPostRepository.findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus.DELETED, 3, pageable)
.map(ReportedPostDTO::fromEntity);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import lombok.RequiredArgsConstructor;
import org.example.tackit.domain.admin.dto.ReportedPostDTO;
import org.example.tackit.domain.admin.repository.AdminTipPostRepository;
import org.example.tackit.domain.entity.AccountStatus;
import org.example.tackit.domain.entity.ActiveStatus;
import org.example.tackit.domain.entity.TipPost;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
Expand All @@ -20,7 +20,7 @@ public class AdminTipPostService implements ReportedPostService{
// 비활성화 게시글 전체 조회
@Override
public Page<ReportedPostDTO> getDeletedPosts(Pageable pageable) {
return adminTipPostRepository.findAllByAccountStatusAndReportCountGreaterThanEqual(AccountStatus.DELETED, 3, pageable)
return adminTipPostRepository.findAllByActiveStatusAndReportCountGreaterThanEqual(ActiveStatus.DELETED, 3, pageable)
.map(ReportedPostDTO::fromEntity);
}

Expand Down
Loading