保誠-保戶業務員媒合平台
HelenHuang
2021-12-30 ac594e4efb30ba28776d74b0fb08ab34d7c32023
pamapi/src/main/java/com/pollex/pam/domain/Appointment.java
@@ -2,70 +2,90 @@
import java.io.Serializable;
import java.time.Instant;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
import com.pollex.pam.enums.AppointmentStatusEnum;
import com.pollex.pam.enums.ContactStatusEnum;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@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")
    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;
   public Long getId() {
      return id;
@@ -178,9 +198,56 @@
   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;
   }
}