Rev 24402 | Rev 26679 | 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.HashMap;import java.util.HashSet;import java.util.Map;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.entity.fofo.PartnerType;import com.spice.profitmandi.dao.enumuration.catalog.AmountType;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 {public PartnerType getPartnerType() {return partnerType;}public void setPartnerType(PartnerType partnerType) {this.partnerType = partnerType;}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 AmountType 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;@Transientprivate Set<Integer> retailerIds = new HashSet<>();@Column(name="partner_type")@Enumerated(EnumType.STRING)private PartnerType partnerType;@Transientprivate Map<Integer, String> itemStringMap = new HashMap<>();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;}@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+ ", retailerIds=" + retailerIds + ", partnerType=" + partnerType + ", itemStringMap=" + itemStringMap+ "]";}public AmountType getAmountType() {return amountType;}public void setAmountType(AmountType 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 String getFormattedStartDateTime() {if (startDateTime == null) {return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");return startDateTime.format(formatter);}public String getFormattedEndDateTime() {if (endDateTime == null) {return null;}DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");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 Map<Integer, String> getItemStringMap() {return itemStringMap;}public void setItemStringMap(Map<Integer, String> itemStringMap) {this.itemStringMap = itemStringMap;}/** 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;}}