mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-23 14:40:49 +08:00
Use DTO for activity list
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package com.openisle.controller;
|
||||
|
||||
import com.openisle.dto.ActivityDto;
|
||||
import com.openisle.dto.MilkTeaInfoDto;
|
||||
import com.openisle.dto.MilkTeaRedeemRequest;
|
||||
import com.openisle.mapper.ActivityMapper;
|
||||
import com.openisle.model.Activity;
|
||||
import com.openisle.model.ActivityType;
|
||||
import com.openisle.model.User;
|
||||
@@ -12,6 +14,7 @@ import org.springframework.security.core.Authentication;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/activities")
|
||||
@@ -19,10 +22,13 @@ import java.util.List;
|
||||
public class ActivityController {
|
||||
private final ActivityService activityService;
|
||||
private final UserService userService;
|
||||
private final ActivityMapper activityMapper;
|
||||
|
||||
@GetMapping
|
||||
public List<Activity> list() {
|
||||
return activityService.list();
|
||||
public List<ActivityDto> list() {
|
||||
return activityService.list().stream()
|
||||
.map(activityMapper::toDto)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@GetMapping("/milk-tea")
|
||||
|
||||
21
backend/src/main/java/com/openisle/dto/ActivityDto.java
Normal file
21
backend/src/main/java/com/openisle/dto/ActivityDto.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.openisle.dto;
|
||||
|
||||
import com.openisle.model.ActivityType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* DTO representing an activity without participant details.
|
||||
*/
|
||||
@Data
|
||||
public class ActivityDto {
|
||||
private Long id;
|
||||
private String title;
|
||||
private String icon;
|
||||
private String content;
|
||||
private LocalDateTime startTime;
|
||||
private LocalDateTime endTime;
|
||||
private ActivityType type;
|
||||
private boolean ended;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.openisle.mapper;
|
||||
|
||||
import com.openisle.dto.ActivityDto;
|
||||
import com.openisle.model.Activity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/** Mapper for activity entities. */
|
||||
@Component
|
||||
public class ActivityMapper {
|
||||
|
||||
public ActivityDto toDto(Activity a) {
|
||||
ActivityDto dto = new ActivityDto();
|
||||
dto.setId(a.getId());
|
||||
dto.setTitle(a.getTitle());
|
||||
dto.setIcon(a.getIcon());
|
||||
dto.setContent(a.getContent());
|
||||
dto.setStartTime(a.getStartTime());
|
||||
dto.setEndTime(a.getEndTime());
|
||||
dto.setType(a.getType());
|
||||
dto.setEnded(a.isEnded());
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user