Open Ezpz97 opened 2 years ago
메뉴바 - 리스트 - 체크박스 - 슬라이드쇼 - 프로필사진 / 닉네임 메뉴바와 슬라이드쇼가 충돌해서 화면이 어긋남
슬라이더 및 체크항목 구현
가게 리스트 및 구 별로 검색 기능
태그별 검색 기능 추가 + 헤더 추가
)태그와 구 별로 각각 검색은 가능하나 둘을 복합적으로 검색하는 기능을 구현하지 못함
-로그인 기능 구현 / home 화면에서 로그인이 필요할 경우 로그인을 이용할 수 있다.
-정적으로 프로필 사진과 닉네임을 만들었다.
-로그아웃시 index 화면으로 돌아오게 수정했다.
) DB에서 유저의 닉네임과 기타 정보를 받아 올 수 있게끔 만들어 홈페이지를 동적으로 만들어야함 ) 유저에 따라 이용 가능한 범위 정하기 + css 수정하기
-장소와 여러 태그 기능 구현 ex) 강남구에 있는 공연 or 마포구에 있는 카페
-임시메인화면과 에러처리 구현, 헤더 수정(후기 추가)
게시판 병합 + 메인화면 힙플 게시판 후기 부분
최신글 구현 게시판 구별로 검색 기능 구현 `
분위기와 인원수 태그 추가
`
Page
Page<Store> findByLocationIdAndTagId(int locationId, int tagId,Pageable pageable);
Page<Store> findByLocationIdAndMoodId(int locationId, int moodId,Pageable pageable);
Page<Store> findByLocationIdAndPartyId(int locationId, int partyId,Pageable pageable);
Page<Store> findByTagIdAndMoodId(int tagId, int moodId,Pageable pageable);
Page<Store> findByTagIdAndPartyId(int tagId, int partyId,Pageable pageable);
Page<Store> findByMoodIdAndPartyId(int moodId, int partyId,Pageable pageable);
Page<Store> findByLocationIdAndTagIdAndMoodId(int locationId, int tagId, int moodId,Pageable pageable);
Page<Store> findByTagIdAndMoodIdAndPartyId(int tagId, int moodId, int partyId,Pageable pageable);
Page<Store> findByLocationIdAndMoodIdAndPartyId(int locationId, int moodId, int partyId,Pageable pageable);
Page<Store> findByLocationIdAndTagIdAndMoodIdAndPartyId(int locationId, int tagId, int moodId, int partyId,Pageable pageable);
`
로그인 화면 css 1차 수정
가게 등록 및 수정 화면 기능 구현
목록을 누를 시 마지막에 있던 페이지로 돌아가게끔 수정
@PostMapping("create") public String create(Model model, Store store, Pagination pagination) { storeRepository.save(store); pagination.setDi(0); pagination.setTi(0); int lastPage = pagination.getPg(); pagination.setPg(lastPage); return "redirect:list?" + pagination.getQueryString(); }
게시판 태그 기능 구현 글 등록 시 태그 등록 구현
` Page
Page<Article> findByBoardIdAndUserNameStartsWith(int boardId, String userName, Pageable pageable);
Page<Article> findByBoardIdAndTitleContains(int boardId, String title, Pageable pageable);
Page<Article> findByLocationIdAndUserNameStartsWith(int locationId, String userName, Pageable pageable);
Page<Article> findByLocationIdAndTitleContains(int locationId, String title, Pageable pageable);
Page<Article> findByTagIdAndUserNameStartsWith(int tagId, String userName, Pageable pageable);
Page<Article> findByTagIdAndTitleContains(int tagId, String title, Pageable pageable);
Page<Article> findByMoodIdAndTitleContains(int moodId, String title, Pageable pageable);
Page<Article> findByMoodIdAndUserNameStartsWith(int moodId, String userName, Pageable pageable);
Page<Article> findByPartyIdAndTitleContains(int partyId, String title, Pageable pageable);
Page<Article> findByPartyIdAndUserNameStartsWith(int partyId, String userName, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndTitleContains(int locationId, int tagId, String title, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndUserNameStartsWith(int locationId, int tagId, String userName, Pageable pageable);
Page<Article> findByLocationIdAndMoodIdAndTitleContains(int locationId, int moodId, String title, Pageable pageable);
Page<Article> findByLocationIdAndMoodIdAndUserNameStartsWith(int locationId, int moodId, String userName, Pageable pageable);
Page<Article> findByLocationIdAndPartyIdAndTitleContains(int locationId, int partyId, String title, Pageable pageable);
Page<Article> findByLocationIdAndPartyIdAndUserNameStartsWith(int locationId, int partyId, String userName, Pageable pageable);
Page<Article> findByLocationIdAndTagId(int locationId, int tagId, Pageable pageable);
Page<Article> findByLocationIdAndMoodId(int locationId, int moodId, Pageable pageable);
Page<Article> findByLocationIdAndPartyId(int locationId, int partyId, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodId(int locationId, int tagId, int moodId, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndPartyId(int locationId, int tagId, int partyId, Pageable pageable);
Page<Article> findByLocationIdAndMoodIdAndPartyId(int locationId, int moodId, int partyId, Pageable pageable);
Page<Article> findByTagIdAndMoodIdAndPartyId(int tagId, int moodId, int partyId, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodIdAndTitleContains(int locationId, int tagId, int moodId,String title, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodIdAndUserNameStartsWith(int locationId, int tagId, int moodId,String userName, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndPartyIdAndTitleContains(int locationId, int tagId, int partyId,String title, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndPartyIdAndUserNameStartsWith(int locationId, int tagId, int partyId,String userName, Pageable pageable);
Page<Article> findByLocationIdAndMoodIdAndPartyIdAndTitleContains(int locationId, int moodId, int partyId,String title, Pageable pageable);
Page<Article> findByLocationIdAndMoodIdAndPartyIdAndUserNameStartsWith(int locationId, int moodId, int partyId,String userName, Pageable pageable);
Page<Article> findByTagIdAndMoodIdAndPartyIdAndTitleContains(int tagId, int moodId, int partyId,String title, Pageable pageable);
Page<Article> findByTagIdAndMoodIdAndPartyIdAndUserNameStartsWith(int tagId, int moodId, int partyId,String userName, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodIdAndPartyId(int locationId, int tagId, int moodId, int partyId, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodIdAndPartyIdAndTitleContains(int locationId, int tagId, int moodId, int partyId,String title, Pageable pageable);
Page<Article> findByLocationIdAndTagIdAndMoodIdAndPartyIdAndUserNameStartsWith(int locationId, int tagId, int moodId, int partyId,String userName, Pageable pageable);`
`
public List
else if (si == 2 && di == 0 && ti == 0 && mi == 0 && pi == 0)
page = articleRepository.findByBoardIdAndUserNameStartsWith(bd, st, pageRequest);
else if (si == 2 && di != 0 && ti == 0 && mi == 0 && pi == 0)
page = articleRepository.findByLocationIdAndUserNameStartsWith(di, st, pageRequest);
else if (si == 2 && di == 0 && ti != 0 && mi == 0 && pi == 0)
page = articleRepository.findByTagIdAndUserNameStartsWith(ti, st, pageRequest);
else if (si == 2 && di == 0 && ti == 0 && mi != 0 && pi == 0)
page = articleRepository.findByMoodIdAndUserNameStartsWith(mi, st, pageRequest);
else if (si == 2 && di == 0 && ti == 0 && mi == 0 && pi != 0)
page = articleRepository.findByMoodIdAndUserNameStartsWith(pi, st, pageRequest);
else if (si == 2 && di != 0 && ti != 0 && mi == 0 && pi == 0)
page = articleRepository.findByLocationIdAndTagIdAndUserNameStartsWith(di, ti, st, pageRequest);
else if (si == 2 && di != 0 && ti == 0 && mi != 0 && pi == 0)
page = articleRepository.findByLocationIdAndMoodIdAndUserNameStartsWith(di, mi, st, pageRequest);
else if (si == 2 && di != 0 && ti == 0 && mi == 0 && pi != 0)
page = articleRepository.findByLocationIdAndPartyIdAndUserNameStartsWith(di, pi, st, pageRequest);
else if (si == 2 && di != 0 && ti != 0 && mi != 0 && pi == 0)
page = articleRepository.findByLocationIdAndTagIdAndMoodIdAndUserNameStartsWith(di, ti, mi, st, pageRequest);
else if (si == 2 && di != 0 && ti != 0 && mi == 0 && pi != 0)
page = articleRepository.findByLocationIdAndTagIdAndPartyIdAndUserNameStartsWith(di, ti, pi, st, pageRequest);
else if (si == 2 && di != 0 && ti == 0 && mi != 0 && pi != 0)
page = articleRepository.findByLocationIdAndMoodIdAndPartyIdAndUserNameStartsWith(di, mi, pi, st, pageRequest);
else if (si == 2 && di == 0 && ti != 0 && mi != 0 && pi != 0)
page = articleRepository.findByTagIdAndMoodIdAndPartyIdAndUserNameStartsWith(ti, mi, pi, st, pageRequest);
else if (si == 2 && di != 0 && ti != 0 && mi != 0 && pi != 0)
page = articleRepository.findByLocationIdAndTagIdAndMoodIdAndPartyIdAndUserNameStartsWith(di, ti, mi, pi, st, pageRequest);
else if (si == 0 && di != 0 && ti == 0 && mi == 0 && pi == 0)
page = articleRepository. findByLocationId(di, pageRequest);
else if (si == 0 && di == 0 && ti != 0 && mi == 0 && pi == 0)
page = articleRepository. findByTagId(ti, pageRequest);
else if (si == 0 && di == 0 && ti == 0 && mi != 0 && pi == 0)
page = articleRepository. findByMoodId(mi, pageRequest);
else if (si == 0 && di == 0 && ti == 0 && mi == 0 && pi != 0)
page = articleRepository. findByPartyId(pi, pageRequest);
else if (si == 0 && di != 0 && ti != 0 && mi == 0 && pi == 0)
page = articleRepository. findByLocationIdAndTagId(di, ti, pageRequest);
else if (si == 0 && di != 0 && ti == 0 && mi != 0 && pi == 0)
page = articleRepository. findByLocationIdAndMoodId(di, mi, pageRequest);
else if (si == 0 && di != 0 && ti == 0 && mi == 0 && pi != 0)
page = articleRepository. findByLocationIdAndPartyId(di, pi, pageRequest);
else if (si == 0 && di != 0 && ti != 0 && mi != 0 && pi == 0)
page = articleRepository. findByLocationIdAndTagIdAndMoodId(di, ti, mi, pageRequest);
else if (si == 0 && di != 0 && ti != 0 && mi == 0 && pi != 0)
page = articleRepository. findByLocationIdAndTagIdAndPartyId(di, ti, pi, pageRequest);
else if (si == 0 && di != 0 && ti == 0 && mi != 0 && pi != 0)
page = articleRepository. findByLocationIdAndMoodIdAndPartyId(di, mi, pi, pageRequest);
else if (si == 0 && di == 0 && ti != 0 && mi != 0 && pi != 0)
page = articleRepository. findByTagIdAndMoodIdAndPartyId(ti, mi, pi, pageRequest);
else if (si == 0 && di != 0 && ti != 0 && mi != 0 && pi != 0)
page = articleRepository. findByLocationIdAndTagIdAndMoodIdAndPartyId(di, ti, mi, pi, pageRequest);
else
page = articleRepository.findByBoardId(bd, pageRequest);
pagination.setRecordCount((int)page.getTotalElements());
List<Article> articleEntities = page.getContent();
List<ArticleDto> articleDtos = modelMapper.mapList(articleEntities, ArticleDto.class);
for (int i = 0; i < articleDtos.size(); ++i) {
Article article = articleEntities.get(i);
ArticleDto articleDto = articleDtos.get(i);
articleDto.setUserName(article.getUser().getName());
}
return articleDtos;
}
`
권한 기능 구현
댓글 화면 구현 - 게시글에 맞춰 댓글 화면 구현 입력은 추후에
댓글 기능 구현 (임시)
댓글 기능 수정 및 비밀번호(임시) 추가 기존의 리스트에서 i번째 댓글을 가져 오던 것을 comment.articleid 와 article.id를 엮어 다시 조회하게끔 수정함. 댓글 입력시 비밀번호도 같이 입력 할 수 있도록 함. 삭제시 prompt 창에서 비밀번호를 입력하게끔 구현함. 틀릴 시 false 맞을시 true값을 반환함.
최신 글과 최신 후기 구별 기존 태그 검색 기능 수정 (태그와 분위기 인원수 교차 검색 기능 수정) 닉네임 기능 구현 - 회원가입시 닉네임을 입력 받음, 작성자를 닉네임으로 표시 힙플레이스의 경우 admin과 bestuser role을 부여 받아야 접근 할 수 있도록 설정
로고 아이콘 변경
메뉴 css 수정
댓글 css 수정
최신글 수정
기존 5 반복문에서 총 길이를 받아 5개 이상일경우 5반복으로 변경
`
css 수정 최신글 기능 수정 ASC에서 DESC로 변경하여 0~4까지 인덱스 반복문으로 수정
리스트 - 메뉴 바 - 신 크기에 따른 변경 - 따봉 버튼