From ae4db5435180c44b37f521c463b17f2023ac1d8c Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期五, 18 二月 2022 09:25:50 +0800 Subject: [PATCH] [update] 若顧問停用時,將無法登入 (文案待確認) --- pamapi/src/main/java/com/pollex/pam/domain/Customer.java | 60 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 44 insertions(+), 16 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/domain/Customer.java b/pamapi/src/main/java/com/pollex/pam/domain/Customer.java index 225fba6..c3055cc 100644 --- a/pamapi/src/main/java/com/pollex/pam/domain/Customer.java +++ b/pamapi/src/main/java/com/pollex/pam/domain/Customer.java @@ -2,42 +2,45 @@ import java.io.Serializable; import java.time.Instant; +import java.util.Optional; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import javax.persistence.*; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; +import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import org.springframework.util.StringUtils; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.pollex.pam.enums.OtpLoginTypeEnum; +@EntityListeners(AuditingEntityListener.class) @Entity @Table(name = "customer") public class Customer implements Serializable { - - + /** - * + * */ private static final long serialVersionUID = 1L; - + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - + @Column(name = "name") private String name; - + @Column(name = "phone") private String phone; - + @Column(name = "email") private String email; - + + @Enumerated(value = EnumType.STRING) + @Column(name = "contact_type") + private OtpLoginTypeEnum contactType; + @CreatedDate @Column(name = "created_date", updatable = false) @JsonIgnore @@ -47,6 +50,11 @@ @Column(name = "last_modified_date") @JsonIgnore private Instant lastModifiedDate = Instant.now(); + + @CreatedDate + @Column(name = "agree_personal_information_time", updatable = false) + @JsonIgnore + private Instant agreePersonalInformationTime; public Long getId() { return id; @@ -95,7 +103,27 @@ public void setLastModifiedDate(Instant lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } - - + + public OtpLoginTypeEnum getContactType() { + return contactType; + } + + public void setContactType(OtpLoginTypeEnum contactType) { + this.contactType = contactType; + } + + public Instant getAgreePersonalInformationTime() { + return agreePersonalInformationTime; + } + + public void setAgreePersonalInformationTime(Instant agreePersonalInformationTime) { + this.agreePersonalInformationTime = agreePersonalInformationTime; + } + + public String toAccountString() { + return Optional.ofNullable(getPhone()) + .filter(StringUtils::hasText) + .orElseGet(this::getEmail); + } } -- Gitblit v1.8.0