mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-25 15:40:49 +08:00
Add activity module with milk tea event
This commit is contained in:
48
src/main/java/com/openisle/model/Activity.java
Normal file
48
src/main/java/com/openisle/model/Activity.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package com.openisle.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.CreationTimestamp;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/** Generic activity entity. */
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@Table(name = "activities")
|
||||
public class Activity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(nullable = false)
|
||||
private String title;
|
||||
|
||||
private String icon;
|
||||
|
||||
@Column(name = "start_time", nullable = false)
|
||||
@CreationTimestamp
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Column(name = "end_time")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(nullable = false)
|
||||
private ActivityType type = ActivityType.NORMAL;
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY)
|
||||
@JoinTable(name = "activity_participants",
|
||||
joinColumns = @JoinColumn(name = "activity_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "user_id"))
|
||||
private Set<User> participants = new HashSet<>();
|
||||
|
||||
@Column(nullable = false)
|
||||
private boolean ended = false;
|
||||
}
|
||||
7
src/main/java/com/openisle/model/ActivityType.java
Normal file
7
src/main/java/com/openisle/model/ActivityType.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package com.openisle.model;
|
||||
|
||||
/** Activity type enumeration. */
|
||||
public enum ActivityType {
|
||||
NORMAL,
|
||||
MILK_TEA
|
||||
}
|
||||
@@ -29,5 +29,7 @@ public enum NotificationType {
|
||||
/** A user you subscribe to created a post or comment */
|
||||
USER_ACTIVITY,
|
||||
/** A user requested registration approval */
|
||||
REGISTER_REQUEST
|
||||
REGISTER_REQUEST,
|
||||
/** A user redeemed an activity reward */
|
||||
ACTIVITY_REDEEM
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user