Merge branch 'Be/Report' into 'backend'

[Back-End] Be/report

See merge request s11-webmobile1-sub2/S11P12A701!121
This commit is contained in:
박정민 2024-08-09 08:57:36 +09:00
commit 862ed541a0
7 changed files with 33 additions and 2 deletions

View File

@ -34,7 +34,7 @@ public class Board {
@Column(nullable = false) @Column(nullable = false)
private String category; private String category;
@Column(nullable = false) @Column(columnDefinition = "TEXT", nullable = false)
private String content; private String content;
@Column(nullable = true) @Column(nullable = true)

View File

@ -22,7 +22,8 @@ public class Comment {
@Id @Id
@GeneratedValue @GeneratedValue
private long id; private long id;
@Column
@Column(columnDefinition = "TEXT", nullable = false)
private String content; private String content;
@Column @Column

View File

@ -87,4 +87,13 @@ public class ReportController {
return new ResponseEntity<>(reportResponses, HttpStatus.OK); return new ResponseEntity<>(reportResponses, HttpStatus.OK);
} }
@DeleteMapping("/teacher/report/{reportSetId}")
public ResponseEntity<?> deleteReportSet(@PathVariable("reportSetId") UUID reportSetId, HttpServletRequest request){
String token = request.getHeader("Authorization");
long userId = Long.parseLong(jwtUtil.getUserId(token));
reportService.deleteReportSet(reportSetId, userId);
return new ResponseEntity<>(HttpStatus.OK);
}
} }

View File

@ -3,9 +3,11 @@ package com.edufocus.edufocus.report.entity.vo;
import com.edufocus.edufocus.quiz.entity.QuizSet; import com.edufocus.edufocus.quiz.entity.QuizSet;
import com.edufocus.edufocus.report.entity.dto.ReportResponse; import com.edufocus.edufocus.report.entity.dto.ReportResponse;
import com.edufocus.edufocus.user.model.entity.vo.User; import com.edufocus.edufocus.user.model.entity.vo.User;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@ -17,6 +19,8 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
@EntityListeners(AuditingEntityListener.class)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public class Report { public class Report {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)

View File

@ -3,11 +3,13 @@ package com.edufocus.edufocus.report.entity.vo;
import com.edufocus.edufocus.lecture.entity.Lecture; import com.edufocus.edufocus.lecture.entity.Lecture;
import com.edufocus.edufocus.quiz.entity.QuizSet; import com.edufocus.edufocus.quiz.entity.QuizSet;
import com.edufocus.edufocus.report.entity.dto.ReportSetResponse; import com.edufocus.edufocus.report.entity.dto.ReportSetResponse;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;
import org.hibernate.annotations.ColumnDefault; import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -21,6 +23,8 @@ import java.util.UUID;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EntityListeners(AuditingEntityListener.class)
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public class ReportSet { public class ReportSet {
@Id @Id
@GeneratedValue(generator = "UUID") @GeneratedValue(generator = "UUID")
@ -51,4 +55,8 @@ public class ReportSet {
.testAt(createAt) .testAt(createAt)
.build(); .build();
} }
public long findUserId(){
return lecture.getUser().getId();
}
} }

View File

@ -20,4 +20,6 @@ public interface ReportService {
List<ReportResponse> findReports(long lectureId, long userid); List<ReportResponse> findReports(long lectureId, long userid);
UUID initReportSet(long lectureId, long quizSetId); UUID initReportSet(long lectureId, long quizSetId);
void deleteReportSet(UUID reportSetId, long userId);
} }

View File

@ -172,4 +172,11 @@ public class ReportServiceImpl implements ReportService {
return reportSet.getId(); return reportSet.getId();
} }
@Override
public void deleteReportSet(UUID reportSetId, long userId) {
ReportSet reportSet = reportSetRepository.findById(reportSetId).orElseThrow(NoSuchElementException::new);
if(reportSet.findUserId() == userId)
reportSetRepository.delete(reportSet);
}
} }