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