Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.entity.cs;import javax.persistence.*;import java.time.LocalDate;import java.time.LocalDateTime;import java.util.Objects;/*** Entity to store daily agent performance insights from Knowlarity.* Data is updated on each scheduled scrape (every 2 hours) for the same date.* Historical data is preserved for past dates.*/@Entity@Table(name = "cs.agent_daily_insight",uniqueConstraints = @UniqueConstraint(columnNames = {"agent_email", "insight_date"}))public class AgentDailyInsight {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(name = "agent_name")private String agentName;@Column(name = "agent_email")private String agentEmail;@Column(name = "agent_number")private String agentNumber;@Column(name = "agent_sip_id")private String agentSipId;@Column(name = "auth_id")private Integer authId;@Column(name = "total_logged_in_time")private String totalLoggedInTime;@Column(name = "logged_in_seconds")private Integer loggedInSeconds;@Column(name = "total_break_duration")private String totalBreakDuration;@Column(name = "break_seconds")private Integer breakSeconds;@Column(name = "available_time")private String availableTime;@Column(name = "available_seconds")private Integer availableSeconds;@Column(name = "total_talk_time")private String totalTalkTime;@Column(name = "talk_seconds")private Integer talkSeconds;@Column(name = "calls_answered")private Integer callsAnswered;@Column(name = "missed_calls")private Integer missedCalls;@Column(name = "total_calls")private Integer totalCalls;@Column(name = "insight_date")private LocalDate insightDate;@Column(name = "last_updated")private LocalDateTime lastUpdated;@Column(name = "create_timestamp")private LocalDateTime createTimestamp;public AgentDailyInsight() {}public AgentDailyInsight(String agentName, String agentEmail, LocalDate insightDate) {this.agentName = agentName;this.agentEmail = agentEmail;this.insightDate = insightDate;this.createTimestamp = LocalDateTime.now();this.lastUpdated = LocalDateTime.now();}// Getters and Setterspublic Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getAgentName() {return agentName;}public void setAgentName(String agentName) {this.agentName = agentName;}public String getAgentEmail() {return agentEmail;}public void setAgentEmail(String agentEmail) {this.agentEmail = agentEmail;}public String getAgentNumber() {return agentNumber;}public void setAgentNumber(String agentNumber) {this.agentNumber = agentNumber;}public String getAgentSipId() {return agentSipId;}public void setAgentSipId(String agentSipId) {this.agentSipId = agentSipId;}public Integer getAuthId() {return authId;}public void setAuthId(Integer authId) {this.authId = authId;}public String getTotalLoggedInTime() {return totalLoggedInTime;}public void setTotalLoggedInTime(String totalLoggedInTime) {this.totalLoggedInTime = totalLoggedInTime;}public Integer getLoggedInSeconds() {return loggedInSeconds;}public void setLoggedInSeconds(Integer loggedInSeconds) {this.loggedInSeconds = loggedInSeconds;}public String getTotalBreakDuration() {return totalBreakDuration;}public void setTotalBreakDuration(String totalBreakDuration) {this.totalBreakDuration = totalBreakDuration;}public Integer getBreakSeconds() {return breakSeconds;}public void setBreakSeconds(Integer breakSeconds) {this.breakSeconds = breakSeconds;}public String getAvailableTime() {return availableTime;}public void setAvailableTime(String availableTime) {this.availableTime = availableTime;}public Integer getAvailableSeconds() {return availableSeconds;}public void setAvailableSeconds(Integer availableSeconds) {this.availableSeconds = availableSeconds;}public String getTotalTalkTime() {return totalTalkTime;}public void setTotalTalkTime(String totalTalkTime) {this.totalTalkTime = totalTalkTime;}public Integer getTalkSeconds() {return talkSeconds;}public void setTalkSeconds(Integer talkSeconds) {this.talkSeconds = talkSeconds;}public Integer getCallsAnswered() {return callsAnswered;}public void setCallsAnswered(Integer callsAnswered) {this.callsAnswered = callsAnswered;}public Integer getMissedCalls() {return missedCalls;}public void setMissedCalls(Integer missedCalls) {this.missedCalls = missedCalls;}public Integer getTotalCalls() {return totalCalls;}public void setTotalCalls(Integer totalCalls) {this.totalCalls = totalCalls;}public LocalDate getInsightDate() {return insightDate;}public void setInsightDate(LocalDate insightDate) {this.insightDate = insightDate;}public LocalDateTime getLastUpdated() {return lastUpdated;}public void setLastUpdated(LocalDateTime lastUpdated) {this.lastUpdated = lastUpdated;}public LocalDateTime getCreateTimestamp() {return createTimestamp;}public void setCreateTimestamp(LocalDateTime createTimestamp) {this.createTimestamp = createTimestamp;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;AgentDailyInsight that = (AgentDailyInsight) o;return Objects.equals(agentEmail, that.agentEmail) &&Objects.equals(insightDate, that.insightDate);}@Overridepublic int hashCode() {return Objects.hash(agentEmail, insightDate);}@Overridepublic String toString() {return "AgentDailyInsight{" +"id=" + id +", agentName='" + agentName + '\'' +", agentEmail='" + agentEmail + '\'' +", insightDate=" + insightDate +", totalLoggedInTime='" + totalLoggedInTime + '\'' +", totalBreakDuration='" + totalBreakDuration + '\'' +", availableTime='" + availableTime + '\'' +", totalTalkTime='" + totalTalkTime + '\'' +", lastUpdated=" + lastUpdated +'}';}}