feat: implement lottery post type

This commit is contained in:
Tim
2025-08-11 01:17:55 +08:00
parent 4441c697b3
commit eb32e4bad7
11 changed files with 221 additions and 7 deletions

View File

@@ -0,0 +1,17 @@
package com.openisle.dto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/** Metadata for lottery posts. */
@Data
public class LotteryDto {
private String prizeDescription;
private String prizeIcon;
private int prizeCount;
private LocalDateTime startTime;
private LocalDateTime endTime;
private List<AuthorDto> participants;
private List<AuthorDto> winners;
}

View File

@@ -2,8 +2,11 @@ package com.openisle.dto;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
import com.openisle.model.PostType;
/**
* Request body for creating or updating a post.
*/
@@ -14,5 +17,13 @@ public class PostRequest {
private String content;
private List<Long> tagIds;
private String captcha;
// optional for lottery posts
private PostType type;
private String prizeDescription;
private String prizeIcon;
private Integer prizeCount;
private LocalDateTime startTime;
private LocalDateTime endTime;
}

View File

@@ -1,6 +1,7 @@
package com.openisle.dto;
import com.openisle.model.PostStatus;
import com.openisle.model.PostType;
import lombok.Data;
import java.time.LocalDateTime;
@@ -28,5 +29,7 @@ public class PostSummaryDto {
private boolean subscribed;
private int reward;
private int pointReward;
private PostType type;
private LotteryDto lottery;
}