Rev 23019 | Rev 23339 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.entity.catalog;import java.io.Serializable;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.HashSet;import java.util.Set;import javax.persistence.Column;import javax.persistence.Convert;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.Transient;import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;import com.spice.profitmandi.dao.enumuration.catalog.SchemeAmountType;import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;/*** This class basically contains scheme details** @author ashikali**/@Entity@Table(name="catalog.scheme", schema = "catalog")public class Scheme implements Serializable{private static final long serialVersionUID = 1L;public Scheme() {}@Id@Column(name="id")@GeneratedValue(strategy = GenerationType.IDENTITY)private int id;@Column(name = "name")private String name;@Column(name = "description")private String description;@Column(name = "type")@Enumerated(EnumType.STRING)private SchemeType type;@Column(name = "amount_type")@Enumerated(EnumType.STRING)private SchemeAmountType amountType;@Column(name = "amount")private float amount;@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "start_date_time")private LocalDateTime startDateTime = LocalDateTime.now();@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "end_date_time")private LocalDateTime endDateTime = LocalDateTime.now();@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "create_timestamp")private LocalDateTime createTimestamp = LocalDateTime.now();@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "active_timestamp")private LocalDateTime activeTimestamp = null;@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "expire_timestamp")private LocalDateTime expireTimestamp = null;@Column(name = "created_by")private int createdBy;@Column(name = "retailer_all")private boolean retailerAll;@Transientprivate Set<Integer> retailerIds = new HashSet<>();@Transientprivate Set<Integer> itemIds = new HashSet<>();public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public SchemeType getType() {return type;}public void setType(SchemeType type) {this.type = type;}public SchemeAmountType getAmountType() {return amountType;}public void setAmountType(SchemeAmountType amountType) {this.amountType = amountType;}public float getAmount() {return amount;}public void setAmount(float amount) {this.amount = amount;}public LocalDateTime getStartDateTime() {return startDateTime;}public void setStartDateTime(LocalDateTime startDateTime) {this.startDateTime = startDateTime;}public LocalDateTime getEndDateTime() {return endDateTime;}public void setEndDateTime(LocalDateTime endDateTime) {this.endDateTime = endDateTime;}public LocalDateTime getCreateTimestamp() {return createTimestamp;}public void setCreateTimestamp(LocalDateTime createTimestamp) {this.createTimestamp = createTimestamp;}public int getCreatedBy() {return createdBy;}public void setCreatedBy(int createdBy) {this.createdBy = createdBy;}public LocalDateTime getActiveTimestamp() {return activeTimestamp;}public void setActiveTimestamp(LocalDateTime activeTimestamp) {this.activeTimestamp = activeTimestamp;}public LocalDateTime getExpireTimestamp() {return expireTimestamp;}public void setExpireTimestamp(LocalDateTime expireTimestamp) {this.expireTimestamp = expireTimestamp;}public boolean isRetailerAll() {return retailerAll;}public void setRetailerAll(boolean retailerAll) {this.retailerAll = retailerAll;}public String getFormattedStartDateTime(){if(startDateTime == null){return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");return startDateTime.format(formatter);}public String getFormattedEndDateTime(){if(endDateTime == null){return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");return endDateTime.format(formatter);}public String getFormattedCreateTimestamp(){if(createTimestamp == null){return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");return createTimestamp.format(formatter);}public String getFormattedActiveTimestamp(){if(activeTimestamp == null){return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");return activeTimestamp.format(formatter);}public String getFormattedExpireTimestamp(){if(expireTimestamp == null){return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");return expireTimestamp.format(formatter);}public Set<Integer> getRetailerIds() {return retailerIds;}public void setRetailerIds(Set<Integer> retailerIds) {this.retailerIds = retailerIds;}public String getRetailerIdsString(){Set<String> stringRetailerIds = new HashSet<>();if(!retailerIds.isEmpty()){for(int retailerId : retailerIds){stringRetailerIds.add(String.valueOf(retailerId));}}return String.join(", ", stringRetailerIds);}public Set<Integer> getItemIds() {return itemIds;}public void setItemIds(Set<Integer> itemIds) {this.itemIds = itemIds;}public String getItemIdsString(){Set<String> stringItemIds = new HashSet<>();if(!itemIds.isEmpty()){for(int itemId : itemIds){stringItemIds.add(String.valueOf(itemId));}}return String.join(", ", stringItemIds);}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + id;return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Scheme other = (Scheme) obj;if (id != other.id)return false;return true;}@Overridepublic String toString() {return "Scheme [id=" + id + ", name=" + name + ", description=" + description + ", type=" + type+ ", amountType=" + amountType + ", amount=" + amount + ", startDateTime=" + startDateTime+ ", endDateTime=" + endDateTime + ", createTimestamp=" + createTimestamp + ", activeTimestamp="+ activeTimestamp + ", expireTimestamp=" + expireTimestamp + ", createdBy=" + createdBy+ ", retailerAll=" + retailerAll + ", retailerIds=" + retailerIds + ", itemIds=" + itemIds + "]";}}