Skip to content

Commit

Permalink
feat : 재화 도메인 설정
Browse files Browse the repository at this point in the history
  • Loading branch information
DDRRDDDD committed Nov 15, 2024
1 parent c5ee54c commit 0b6db66
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.project1hour.api.core.domain.credit.entity;

import com.project1hour.api.core.domain.credit.value.EarnType;
import com.project1hour.api.core.domain.credit.value.Quantity;
import com.project1hour.api.global.entity.AbstractEntity;
import io.hypersistence.utils.hibernate.id.Tsid;
import jakarta.persistence.Column;
import jakarta.persistence.Embedded;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.SQLRestriction;

@Entity
@Getter
@SQLDelete(sql = "UPDATE credit SET deleted_at = now() WHERE credit_id = ?")
@SQLRestriction("deleted_at IS NULL")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Credit extends AbstractEntity<Long> {

@Id
@Tsid
@Column(name = "credit_id")
private Long id;

@Enumerated(EnumType.STRING)
private EarnType earnType;

@Embedded
private Quantity quantity;

@Column(nullable = false)
private Long userId;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.project1hour.api.core.domain.credit.entity;

import java.util.List;

public class Credits {

private List<Credit> creditList;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.project1hour.api.core.domain.credit.value;

import lombok.Getter;

@Getter
public enum EarnType {
WELCOME_REWARD(6);

private final int creditVolume;

EarnType(final int creditVolume) {
this.creditVolume = creditVolume;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.project1hour.api.core.domain.credit.value;

import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;

@Embeddable
public record Quantity(@Column(name = "quantity") int value) {

public static Quantity fromEarnType(final EarnType earnType) {
return new Quantity(earnType.getCreditVolume());
}
}

0 comments on commit 0b6db66

Please sign in to comment.