Skip to content

Commit

Permalink
Merge pull request #19 from With-Mate/fix/sticker/sh
Browse files Browse the repository at this point in the history
Fix(sticker) : 스티커 에러 수정, 목표 화면에서 내 스티커 갯수도 함께 반환하도록 수정
  • Loading branch information
seohyun-lee authored Feb 16, 2024
2 parents 3ce9afb + 38b2c16 commit 1a6910f
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,28 +42,28 @@ public ResponseEntity<?> getStickersPreview() {
// 모달 스티커 작성
@PostMapping("/sticker/create")
public ResponseEntity<?> createSticker(@RequestBody StickerCreateDTO stickerCreateDTO){
StickerPreviewResDto stickerResDto = stickerService.createSticker(stickerCreateDTO);
if (stickerResDto == null)
StickerPreviewResDto previewResDto = stickerService.createSticker(stickerCreateDTO);
if (previewResDto == null)
return ResponseEntity.badRequest().body("내용은 공백일 수 없습니다.");
return ResponseEntity.ok().body(stickerResDto);
return ResponseEntity.ok().body(previewResDto);
}

// 편집할 스티커 불러오기
@GetMapping("/sticker/edit")
@GetMapping("/sticker/select")
public ResponseEntity<?> editSticker(@RequestParam Long id){
StickerDetailResDto resDto = stickerService.getSticker(id);
if (resDto == null)
StickerDetailResDto detailResDto = stickerService.getSticker(id);
if (detailResDto == null)
return ResponseEntity.badRequest().body("해당 id의 스티커가 존재하지 않습니다.");
return ResponseEntity.ok().build();
return ResponseEntity.ok().body(detailResDto);
}

// 스티커 편집하기
@PatchMapping("/sticker/select")
@PatchMapping("/sticker/edit")
public ResponseEntity<?> selectedSticker(@RequestBody StickerUpdateReqDTO stickerUpdateDTO){
Sticker editedSticker = stickerService.updateSticker(stickerUpdateDTO);
if (editedSticker == null)
return ResponseEntity.badRequest().body("해당 id의 스티커가 존재하지 않습니다.");
return ResponseEntity.ok().build();
return ResponseEntity.ok().body(editedSticker);
}

// 스티커 삭제
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
package com.gdscewha.withmate.domain.sticker.dto;

import com.gdscewha.withmate.domain.member.entity.Member;
import com.gdscewha.withmate.domain.sticker.entity.Sticker;
import com.gdscewha.withmate.domain.week.entity.Week;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.stream.Collectors;

@Getter
@AllArgsConstructor
@NoArgsConstructor
public class WeekStickersDto {
private Long weekNum;
private Long myStickerCount = 0L;
private List<StickerPreviewResDto> stickerBoard;

public WeekStickersDto(Week week, List<Sticker> stickerList) {
public WeekStickersDto(Week week, Member member, List<Sticker> stickerList) {
this.weekNum = week.getWeekNum();
this.stickerBoard = stickerList
.stream()
this.myStickerCount = stickerList.stream()
.filter(sticker -> sticker.getMember().equals(member))
.peek(sticker -> myStickerCount++)
.count();
this.stickerBoard = stickerList.stream()
.map(sticker -> StickerPreviewResDto.builder()
.id(sticker.getId())
.title(sticker.getTitle())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.springframework.stereotype.Service;

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

@Service
Expand All @@ -42,7 +43,7 @@ public StickerRelationDto getStickerRelationInfo() {
public WeekStickersDto getStickersForAWeek(Member member) {
Week week = weekService.getCurrentWeek(member);
List<Sticker> stickerList = stickerRepository.findAllByWeek(week);
return new WeekStickersDto(week, stickerList);
return new WeekStickersDto(week, member, stickerList);
}

// 새로운 스티커 CREATE 메소드(제목, 스티커 색깔, 모양, 위치 등)
Expand All @@ -52,6 +53,8 @@ public StickerPreviewResDto createSticker(StickerCreateDTO stickerCreateDTO) {
Sticker sticker = Sticker.builder()
.stickerNum(currentWeek.getStickerCount() + 1) // 처음에 1L
.title(stickerCreateDTO.getTitle())
.content("")
.impression("")
.creationTime(LocalDate.now())
.stickerColor(stickerCreateDTO.getStickerColor())
.stickerShape(stickerCreateDTO.getStickerShape())
Expand Down Expand Up @@ -110,11 +113,24 @@ public StickerDetailResDto getSticker(Long stickerId){
.id(stickerId)
.title(sticker.getTitle())
.content(sticker.getContent())
.creationTime(sticker.getCreationTime().toString())
.impression(sticker.getImpression())
.impressionTime(sticker.getImpressionTime().toString())
.isMine(null)
.stickerColor(sticker.getStickerColor())
.stickerShape(sticker.getStickerShape())
.build();
LocalDate impressionTime = sticker.getImpressionTime();
if (impressionTime != null) {
stickerMyResDto.setImpressionTime(impressionTime.toString());
}
stickerMyResDto.setIsMine(sticker.getMember() == currentMember);
return stickerMyResDto;
}

/*// LocalDateTime을 주어진 패턴에 맞게 문자열로 변환하는 메소드
public static String formatLocalDate(LocalDate date) {
// DateTimeFormatter를 사용하여 LocalDateTime을 문자열로 변환
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return date.format(formatter);
}*/
}

0 comments on commit 1a6910f

Please sign in to comment.