Skip to content

Commit

Permalink
Merge pull request #115 from IT-Cotato/develop
Browse files Browse the repository at this point in the history
[Release] V2.20240820.02
  • Loading branch information
Youthhing authored Aug 20, 2024
2 parents 11ba54b + 45f8b92 commit 250122e
Show file tree
Hide file tree
Showing 12 changed files with 51 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

public record MemberEnrollInfoResponse(
Long memberId,
String memberName,
String name,
MemberPosition position,
Integer generationNumber,
MemberRole role
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

public record MemberInfoResponse(
Long memberId,
String memberName,
String name,
String backFourNumber,
MemberRole role
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@
import org.cotato.csquiz.api.attendance.dto.OfflineAttendanceRequest;
import org.cotato.csquiz.api.attendance.dto.OnlineAttendanceRequest;
import org.cotato.csquiz.api.attendance.dto.UpdateAttendanceRequest;
import org.cotato.csquiz.api.attendance.dto.AttendanceTimeResponse;
import org.cotato.csquiz.domain.attendance.service.AttendanceAdminService;
import org.cotato.csquiz.domain.attendance.service.AttendanceRecordService;
import org.cotato.csquiz.domain.attendance.service.AttendanceService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.validation.annotation.Validated;
Expand Down Expand Up @@ -50,6 +52,12 @@ public ResponseEntity<Void> updateAttendance(@RequestBody @Valid UpdateAttendanc
return ResponseEntity.noContent().build();
}

@Operation(summary = "세션 시간 반환 API")
@GetMapping("/info")
public ResponseEntity<AttendanceTimeResponse> findAttendanceTimeInfo(@RequestParam("sessionId") Long sessionId) {
return ResponseEntity.status(HttpStatus.OK).body(attendanceService.findAttendanceTimeInfo(sessionId));
}

@Operation(summary = "회원 출결사항 기간 단위 조회 API")
@GetMapping("/records")
public ResponseEntity<List<AttendanceRecordResponse>> findAttendanceRecords(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.cotato.csquiz.api.attendance.dto;

import java.time.LocalDateTime;
import java.time.LocalTime;

public record AttendanceTimeResponse(
Long sessionId,
LocalTime attendanceDeadLine,
LocalTime lateDeadLine
) {
public static AttendanceTimeResponse of(Long sessionId, LocalDateTime attendanceDeadLine, LocalDateTime lateDeadLine) {
return new AttendanceTimeResponse(
sessionId,
attendanceDeadLine.toLocalTime(),
lateDeadLine.toLocalTime()
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import org.cotato.csquiz.common.config.jwt.JwtTokenProvider;
import org.cotato.csquiz.common.error.exception.ImageException;
import org.cotato.csquiz.domain.auth.service.MemberService;
import org.springframework.context.annotation.Description;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
Expand All @@ -35,27 +35,22 @@ public class MemberController {

@GetMapping("/info")
public ResponseEntity<MemberInfoResponse> findMemberInfo(
@RequestHeader("Authorization") String authorizationHeader) {
String accessToken = jwtTokenProvider.getBearer(authorizationHeader);
Long memberId = jwtTokenProvider.getMemberId(accessToken);
@AuthenticationPrincipal Long memberId) {
return ResponseEntity.ok().body(memberService.findMemberInfo(memberId));
}

@PatchMapping("/update/password")
public ResponseEntity<Void> updatePassword(@RequestHeader("Authorization") String authorizationHeader,
public ResponseEntity<Void> updatePassword(@AuthenticationPrincipal Long memberId,
@RequestBody @Valid UpdatePasswordRequest request) {
String accessToken = jwtTokenProvider.getBearer(authorizationHeader);
Long memberId = jwtTokenProvider.getMemberId(accessToken);
memberService.updatePassword(memberId, request.password());
return ResponseEntity.noContent().build();
}

@Operation(summary = "멤버 전화번호 수정 API")
@PatchMapping("/phone-number")
public ResponseEntity<Void> updatePhoneNumber(@RequestHeader("Authorization") String authorizationHeader,
public ResponseEntity<Void> updatePhoneNumber(@AuthenticationPrincipal Long memberId,
@RequestBody @Valid UpdatePhoneNumberRequest request) {
String accessToken = jwtTokenProvider.getBearer(authorizationHeader);
memberService.updatePhoneNumber(accessToken, request.phoneNumber());
memberService.updatePhoneNumber(memberId, request.phoneNumber());
return ResponseEntity.noContent().build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public record MemberInfo(
String name,
String email,
String backFourNumber,
MemberRole memberRole,
MemberRole role,
MemberPosition position
) {
public static MemberInfo of(Member findMember, String backFourNumber) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public record MemberMyPageInfoResponse(
String email,
String name,
Integer generationNumber,
MemberPosition memberPosition,
MemberPosition position,
String phoneNumber,
String profileImage
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ public ResponseEntity<List<SessionListResponse>> findSessionsByGenerationId(@Req
return ResponseEntity.status(HttpStatus.OK).body(sessionService.findSessionsByGenerationId(generationId));
}


@Operation(summary = "CS ON인 세션 목록 반환 API")
@GetMapping("/cs-on")
public ResponseEntity<List<CsEducationOnSessionNumberResponse>> findAllCsOnSessionsByGenerationId(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public record SessionListResponse(
List<SessionListImageInfoResponse> imageInfos,
String description,
Long generationId,
String placeName,
SessionContents sessionContents
) {
public static SessionListResponse of(Session session, List<SessionImage> sessionImages) {
Expand All @@ -24,6 +25,7 @@ public static SessionListResponse of(Session session, List<SessionImage> session
.toList(),
session.getDescription(),
session.getGeneration().getId(),
session.getPlaceName(),
session.getSessionContents()
);
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
import lombok.RequiredArgsConstructor;
import org.cotato.csquiz.api.attendance.dto.AttendanceResponse;
import org.cotato.csquiz.api.attendance.dto.AttendancesResponse;
import org.cotato.csquiz.api.attendance.dto.AttendanceTimeResponse;
import org.cotato.csquiz.domain.attendance.entity.Attendance;
import org.cotato.csquiz.domain.attendance.repository.AttendanceRepository;
import org.cotato.csquiz.domain.attendance.util.AttendanceUtil;
import org.cotato.csquiz.domain.generation.entity.Generation;
Expand Down Expand Up @@ -58,4 +60,14 @@ public AttendancesResponse findAttendancesByGenerationId(final Long generationId
.attendances(attendances)
.build();
}

@Transactional(readOnly = true)
public AttendanceTimeResponse findAttendanceTimeInfo(Long sessionId) {
Attendance findAttendance = attendanceRepository.findBySessionId(sessionId)
.orElseThrow(() -> new EntityNotFoundException("해당 출석을 찾을 수 없습니다"));

return AttendanceTimeResponse.of(sessionId,
findAttendance.getAttendanceDeadLine(),
findAttendance.getLateDeadLine());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@
import org.cotato.csquiz.api.admin.dto.MemberInfoResponse;
import org.cotato.csquiz.api.member.dto.MemberInfo;
import org.cotato.csquiz.api.member.dto.MemberMyPageInfoResponse;
import org.cotato.csquiz.common.s3.S3Uploader;
import org.cotato.csquiz.api.member.dto.UpdatePhoneNumberRequest;
import org.cotato.csquiz.common.config.jwt.JwtTokenProvider;
import org.cotato.csquiz.common.entity.S3Info;
import org.cotato.csquiz.common.error.ErrorCode;
import org.cotato.csquiz.common.error.exception.AppException;
import org.cotato.csquiz.common.error.exception.ImageException;
import org.cotato.csquiz.common.s3.S3Uploader;
import org.cotato.csquiz.domain.auth.entity.Member;
import org.cotato.csquiz.domain.auth.enums.MemberRoleGroup;
import org.cotato.csquiz.domain.auth.repository.MemberRepository;
Expand Down Expand Up @@ -71,8 +70,7 @@ private void validateIsSameBefore(String originPassword, String newPassword) {
}

@Transactional
public void updatePhoneNumber(String accessToken, String phoneNumber) {
Long memberId = jwtTokenProvider.getMemberId(accessToken);
public void updatePhoneNumber(Long memberId, String phoneNumber) {
Member findMember = memberRepository.findById(memberId)
.orElseThrow(() -> new EntityNotFoundException("해당 회원을 찾을 수 없습니다."));

Expand Down

0 comments on commit 250122e

Please sign in to comment.