Skip to content

Commit

Permalink
release: 0.3.9
Browse files Browse the repository at this point in the history
* feat: 리뷰 등록시 회원 매너 온도 반영 기능 추가 및 리뷰 등록 리팩토링 (#158)

* refactor: 회원 리뷰 등록 API 리팩토링 (#157)

* feat: 회원 리뷰 등록시, 온도 반영 및 리뷰 피드백 반영 (#157)

* feat: User 엔티티 메소드 추가 (#157)

* feat: Review enum 필드 추가 (#157)

* test: 리뷰 등록시 온도 업데이트에 대한 단위 테스트 (#157)

* test: 리뷰 등록 기능 통합 테스트 (#157)

* refactor: 회원 리뷰 등록 메소드 수정 (#157)

* test: 불필요한 테스트 제거 및 CI 오류 수정 (#157)

* test: MeetingRepository 테스트에서 시간과 id비교 비활서화

* refactor: 회원 탈퇴 URI 변경 (#162)

* refactor: 회원 탈퇴 URI 수정 (#161)

* test: 회원 탈퇴 URI 수정에 대한 테스트 수정 (#161)

* fix: CI 에러 수정 (#161)

* fix: 필드 값 비교를 위해 deprecated 된 메소드을 대체 (#161)

* fix: 필드 값 비교를 위해 deprecated 된 메소드을 대체 (#161)

* feat: fcm token 업데이트 api 추가 (#166)

* fix: user_alert ddl의 pk에 auto_increment를 추가한다

* feat: token 업데이트 api를 추가한다

* fix: 모임 수정 시 이미지가 추가되는 버그 수정 (#169)

* perf: upgrade GPT-3.5 to GPT-4 (#174)

* refactor: 위치 기반 데이터 값 유효기간 변경

* refactor: 위치 기반 데이터 값 유효기간 변경

* refactor: 위치 기반 데이터 값 유효기간 변경

* feat: 모임 종료, 사용자 추천 알림을 추가 (#182)

* feat: Alert Entity를 추가하고, 알림 전송 기능이 Entity를 파라미터로 받아 동작하게 수정한다

* refactor: MeetingAlerted를 BeforeMeetingAlerted로 직관적으로 변경한다

* feat: 모임 종료 알림을 추가한다

* feat: 유저가 추천받았을때 알림 전송 기능을 추가한다

* feat: 유저가 한달 동안 받은 알람을 조회하는 기능 개발 (#185)

* fix: flyway schema에 _이 하나밖에 없는 버그를 수정한다

* feat: 유저가 한달동안 받은 알람을 조회하는 기능을 개발한다

* refactor: AlertRepository의 finalAll 메소드를 findAllByCreatedAt으로 변경한다

* feat: 북마크 추가, 취소 기능 구현 (#184)

* chore: 북마크 스키마 추가

* feat: 북마크 추가, 삭제 기능

* test: 북마크 추가, 삭제 테스트 작성

- 북마크 추가 케이스
- 북마크 취소 케이스
- 모임 단일 응답에 북마크 여부 추

* feat: bookmarked -> isBookmarked, V1__ 언더바 누락 수정

* fix: flyway_schema alert userId를 user_id로 변경한다

* fix: flyway 13 의 alert table문을 변경한다

* refactor: 알람 조회에 읽은알람인지, 언제 발행되었는지를 추가 (#189)

---------

Co-authored-by: ChoiDongKuen <danaver12@daum.net>
Co-authored-by: ddingmin <ddingminyt@gmail.com>
  • Loading branch information
3 people authored Feb 11, 2024
1 parent d05a41c commit e8560f0
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 7 deletions.
6 changes: 3 additions & 3 deletions src/main/java/net/teumteum/alert/app/AlertHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public void handleBeforeMeetingAlerts(BeforeMeetingAlerted alerted) {
.stream()
.map(userAlert -> Pair.of(userAlert.getToken(),
new Alert(null, userAlert.getUserId(), "5분 뒤에 모임이 시작돼요!",
"모임 장소로 가서 틈틈 모임을 준비해주세요.", AlertType.BEFORE_MEETING)))
"모임 장소로 가서 틈틈 모임을 준비해주세요.", AlertType.BEFORE_MEETING, true)))
.map(tokenAndAlert -> Pair.of(tokenAndAlert.getFirst(), alertService.save(tokenAndAlert.getSecond())))
.forEach(
tokenAndAlert -> alertPublisher.publish(tokenAndAlert.getFirst(), tokenAndAlert.getSecond(), Map.of())
Expand All @@ -50,7 +50,7 @@ public void handleStartMeetingAlerts(EndMeetingAlerted alerted) {
.stream()
.map(userAlert -> Pair.of(userAlert.getToken(),
new Alert(null, userAlert.getUserId(), alerted.meetingTitle(),
"모임이 종료되었어요", AlertType.END_MEETING)))
"모임이 종료되었어요", AlertType.END_MEETING, true)))
.map(tokenAndAlert -> Pair.of(tokenAndAlert.getFirst(), alertService.save(tokenAndAlert.getSecond())))
.forEach(tokenAndAlert ->
alertPublisher.publish(tokenAndAlert.getFirst(), tokenAndAlert.getSecond(),
Expand All @@ -75,7 +75,7 @@ public void handleUserRecommended(UserRecommended alerted) {
.stream()
.map(userAlert -> Pair.of(userAlert.getToken(),
new Alert(null, userAlert.getUserId(), "틈 채우기",
alerted.recommenderName() + "님이 당신을 추천했어요!", AlertType.RECOMMEND_USER)))
alerted.recommenderName() + "님이 당신을 추천했어요!", AlertType.RECOMMEND_USER, true)))
.map(tokenAndAlert -> Pair.of(tokenAndAlert.getFirst(), alertService.save(tokenAndAlert.getSecond())))
.forEach(tokenAndAlert ->
alertPublisher.publish(tokenAndAlert.getFirst(), tokenAndAlert.getSecond(), Map.of())
Expand Down
9 changes: 8 additions & 1 deletion src/main/java/net/teumteum/alert/domain/Alert.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class Alert extends TimeBaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "userId", nullable = false)
@Column(name = "user_id", nullable = false)
private Long userId;

@Column(name = "title", nullable = false, length = 20)
Expand All @@ -37,4 +37,11 @@ public class Alert extends TimeBaseEntity {
@Column(name = "type")
@Enumerated(EnumType.STRING)
private AlertType type;

@Column(name = "is_read", nullable = false)
private Boolean isRead;

public void read() {
isRead = true;
}
}
6 changes: 5 additions & 1 deletion src/main/java/net/teumteum/alert/domain/AlertService.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ public Alert save(Alert alert) {
return alertRepository.save(alert);
}

@Transactional
public AlertsResponse findAllByUserId(Long userId) {
return AlertsResponse.of(alertRepository.findAllByUserId(userId));
var alerts = alertRepository.findAllByUserId(userId);
var alertsResponse = AlertsResponse.of(alerts);
alerts.forEach(Alert::read);
return alertsResponse;
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.teumteum.alert.domain.response;

import java.time.Instant;
import java.util.List;
import net.teumteum.alert.domain.Alert;

Expand All @@ -10,15 +11,23 @@ public record AlertsResponse(
public static AlertsResponse of(List<Alert> alerts) {
return new AlertsResponse(
alerts.stream()
.map(alert -> new AlertResponse(alert.getTitle(), alert.getBody(), alert.getType().name()))
.map(alert -> new AlertResponse(
alert.getTitle(),
alert.getBody(),
alert.getType().name(),
alert.getCreatedAt(),
alert.getIsRead()
))
.toList()
);
}

public record AlertResponse(
String title,
String body,
String type
String type,
Instant createdAt,
boolean isRead
) {

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alter table alert
add column is_read boolean not null;
1 change: 1 addition & 0 deletions src/test/resources/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ create table if not exists alert(
type enum('BEFORE_MEETING'),
created_at timestamp(6) not null,
updated_at timestamp(6) not null,
is_read boolean not null,
primary key (id)
);

Expand Down

0 comments on commit e8560f0

Please sign in to comment.