From 6fa4bba623713c396432ba8b863846883d6a1906 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期三, 26 一月 2022 10:52:23 +0800
Subject: [PATCH] Merge branch 'pollex-dev' into sit

---
 pamapi/src/main/java/com/pollex/pam/domain/Appointment.java |  141 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 120 insertions(+), 21 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java b/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
index 803a890..76d30ca 100644
--- a/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
+++ b/pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
@@ -2,70 +2,114 @@
 
 import java.io.Serializable;
 import java.time.Instant;
+import java.util.List;
 
+import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.EntityListeners;
 import javax.persistence.EnumType;
 import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
 import javax.persistence.Table;
 
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+
+import com.pollex.pam.enums.AppointmentStatusEnum;
 import com.pollex.pam.enums.ContactStatusEnum;
 
+@EntityListeners(AuditingEntityListener.class)
 @Entity
 @Table(name = "appointment")
 public class Appointment implements Serializable {
 
 	/**
-	 * 
+	 *
 	 */
 	private static final long serialVersionUID = 1L;
-	
+
 	@Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
-	
+
 	@Column(name = "phone")
     private String phone;
-	
+
 	@Column(name = "email")
     private String email;
-	
+
 	@Column(name = "contact_type")
     private String contactType;
-	
+
 	@Column(name = "gender")
     private String gender;
-	
+
 	@Column(name = "age")
     private String age;
-	
+
 	@Column(name = "job")
     private String job;
-	
+
 	@Column(name = "requirement")
     private String requirement;
-	
+
 	@Enumerated(EnumType.STRING)
 	@Column(name = "communicate_status")
     private ContactStatusEnum communicateStatus;
-	
+
 	@Column(name = "hope_contact_time")
     private String hopeContactTime;
-	
+
 	@Column(name = "other_requirement")
     private String otherRequirement;
-	
-	@Column(name = "appointment_date")
+
+    @CreatedDate
+	@Column(name = "appointment_date", updatable = false)
     private Instant appointmentDate = Instant.now();
-	
+
+    @Column(name = "last_modified_date")
+    @LastModifiedDate
+    private Instant lastModifiedDate = Instant.now();
+
 	@Column(name = "agent_no")
     private String agentNo;
-	
+
 	@Column(name = "customer_id")
     private Long customerId;
+
+    @Column(name = "consultant_view_time")
+    private Instant consultantViewTime;
+
+    @Column(name = "consultant_read_time")
+    private Instant consultantReadTime;
+
+    @Column(name = "contact_time")
+    private Instant contactTime;
+
+    @Enumerated(value = EnumType.STRING)
+    @Column(name = "status")
+    private AppointmentStatusEnum status;
+    
+    @JoinColumn(name = "appointment_id")
+    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.REMOVE)
+    private List<AppointmentMemo> appointmentMemoList;
+    
+//    @OneToOne(cascade = CascadeType.REMOVE,fetch=FetchType.EAGER)
+////    @JoinColumn(name = "form_authority_id", referencedColumnName = "id")
+//    @JoinColumn(name = "appointment_id", referencedColumnName = "id")
+//    private AppointmentClosedInfo closedInfo;
+    
+//    @OneToOne(cascade = CascadeType.REMOVE
+//    		, mappedBy = "appointment", fetch=FetchType.LAZY)
+//    private AppointmentClosedInfo closedInfo;
 
 	public Long getId() {
 		return id;
@@ -178,9 +222,64 @@
 	public void setCustomerId(Long customerId) {
 		this.customerId = customerId;
 	}
-	
-	
-	
-	
-	
+
+    public Instant getConsultantViewTime() {
+        return consultantViewTime;
+    }
+
+    public void setConsultantViewTime(Instant consultantViewTime) {
+        this.consultantViewTime = consultantViewTime;
+    }
+
+    public Instant getConsultantReadTime() {
+        return consultantReadTime;
+    }
+
+    public void setConsultantReadTime(Instant consultantReadTime) {
+        this.consultantReadTime = consultantReadTime;
+    }
+
+    public Instant getContactTime() {
+        return contactTime;
+    }
+
+    public void setContactTime(Instant markCommunicateTime) {
+        this.contactTime = markCommunicateTime;
+    }
+
+    public AppointmentStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(AppointmentStatusEnum status) {
+        this.status = status;
+    }
+
+    public Instant getLastModifiedDate() {
+        return lastModifiedDate;
+    }
+
+    public void setLastModifiedDate(Instant lastModifiedDate) {
+        this.lastModifiedDate = lastModifiedDate;
+    }
+
+	public List<AppointmentMemo> getAppointmentMemoList() {
+		return appointmentMemoList;
+	}
+
+	public void setAppointmentMemoList(List<AppointmentMemo> appointmentMemoList) {
+		this.appointmentMemoList = appointmentMemoList;
+	}
+
+//	public AppointmentClosedInfo getClosedInfo() {
+//		return closedInfo;
+//	}
+//
+//	public void setClosedInfo(AppointmentClosedInfo closedInfo) {
+//		this.closedInfo = closedInfo;
+//	}
+    
+    
+    
+    
 }

--
Gitblit v1.8.0