Subversion Repositories SmartDukaan

Rev

Rev 30121 | Rev 31605 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
26588 tejbeer 1
package com.spice.profitmandi.dao.entity.catalog;
2
 
29950 amit.gupta 3
import com.spice.profitmandi.dao.enumuration.catalog.AchievementType;
4
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
5
 
6
import javax.persistence.*;
26588 tejbeer 7
import java.io.Serializable;
8
import java.time.LocalDateTime;
31191 amit.gupta 9
import java.util.Objects;
26588 tejbeer 10
 
11
@Entity
12
@Table(name = "catalog.offer", schema = "catalog")
13
public class Offer implements Serializable {
14
 
29707 tejbeer 15
	@Id
16
	@Column(name = "id")
17
	@GeneratedValue(strategy = GenerationType.IDENTITY)
18
	private int id;
26588 tejbeer 19
 
29707 tejbeer 20
	@Column(name = "brand_share_percentage", nullable = false)
21
	private double brandSharePercentage;
26588 tejbeer 22
 
29707 tejbeer 23
	@Column(name = "name")
24
	private String name;
26588 tejbeer 25
 
29707 tejbeer 26
	@Column(name = "offer_notes")
27
	private String offerNotes;
26588 tejbeer 28
 
29707 tejbeer 29
	@Column(name = "terms")
30
	private String terms;
26588 tejbeer 31
 
29707 tejbeer 32
	@Column(name = "scheme_type")
33
	@Enumerated(EnumType.STRING)
34
	private OfferSchemeType schemeType;
26588 tejbeer 35
 
30121 amit.gupta 36
	@Column(name = "base_criteria", nullable = false)
29795 amit.gupta 37
	private boolean baseCriteia;
26588 tejbeer 38
 
29707 tejbeer 39
	@Column(name = "sellin_percentage")
40
	private double sellinPercentage;
28019 amit.gupta 41
 
29707 tejbeer 42
	@Column(name = "target_type")
43
	@Enumerated(EnumType.STRING)
44
	private AchievementType targetType;
26674 tejbeer 45
 
29707 tejbeer 46
	@Column(name = "payout_type")
47
	@Enumerated(EnumType.STRING)
48
	private AchievementType payoutType;
26694 tejbeer 49
 
29707 tejbeer 50
	@Column(name = "activation_brands")
51
	private String activationBrands;
26674 tejbeer 52
 
29707 tejbeer 53
	@Column(name = "item_criteria")
54
	private String itemCriteria;
26674 tejbeer 55
 
29707 tejbeer 56
	@Column(name = "partner_criteria")
57
	private String partnerCriteria;
26674 tejbeer 58
 
29707 tejbeer 59
	@Column(name = "start_date")
60
	private LocalDateTime startDate = LocalDateTime.now();
26694 tejbeer 61
 
29707 tejbeer 62
	@Column(name = "end_date")
63
	private LocalDateTime endDate = LocalDateTime.now();
26694 tejbeer 64
 
29707 tejbeer 65
	@Column(name = "created_timestamp")
66
	private LocalDateTime createdTimestamp = LocalDateTime.now();
26694 tejbeer 67
 
31191 amit.gupta 68
	@Column(name = "booster")
69
	private boolean booster = false;
70
 
29707 tejbeer 71
	@Column(name = "active", columnDefinition = "TINYINT(1)")
72
	private boolean active;
27878 amit.gupta 73
 
29950 amit.gupta 74
	@Transient
75
	private boolean alreadyActive;
76
 
77
	public boolean isAlreadyActive() {
78
		return alreadyActive;
79
	}
80
 
81
	public void setAlreadyActive(boolean alreadyActive) {
82
		this.alreadyActive = alreadyActive;
83
	}
84
 
29707 tejbeer 85
	public AchievementType getPayoutType() {
27918 amit.gupta 86
		return payoutType;
87
	}
88
 
89
	public void setPayoutType(AchievementType payoutType) {
90
		this.payoutType = payoutType;
91
	}
92
 
29795 amit.gupta 93
	public boolean isBaseCriteia() {
94
		return baseCriteia;
28019 amit.gupta 95
	}
96
 
29795 amit.gupta 97
	public void setBaseCriteia(boolean baseCriteia) {
98
		this.baseCriteia = baseCriteia;
28019 amit.gupta 99
	}
100
 
31191 amit.gupta 101
	public boolean isBooster() {
102
		return booster;
103
	}
104
 
105
	public void setBooster(boolean booster) {
106
		this.booster = booster;
107
	}
108
 
29707 tejbeer 109
	@Override
31191 amit.gupta 110
	public String toString() {
111
		return "Offer{" +
112
				"id=" + id +
113
				", brandSharePercentage=" + brandSharePercentage +
114
				", name='" + name + '\'' +
115
				", offerNotes='" + offerNotes + '\'' +
116
				", terms='" + terms + '\'' +
117
				", schemeType=" + schemeType +
118
				", baseCriteia=" + baseCriteia +
119
				", sellinPercentage=" + sellinPercentage +
120
				", targetType=" + targetType +
121
				", payoutType=" + payoutType +
122
				", activationBrands='" + activationBrands + '\'' +
123
				", itemCriteria='" + itemCriteria + '\'' +
124
				", partnerCriteria='" + partnerCriteria + '\'' +
125
				", startDate=" + startDate +
126
				", endDate=" + endDate +
127
				", createdTimestamp=" + createdTimestamp +
128
				", booster=" + booster +
129
				", active=" + active +
130
				", alreadyActive=" + alreadyActive +
131
				", itemCriteriaString='" + itemCriteriaString + '\'' +
132
				'}';
29610 amit.gupta 133
	}
134
 
27918 amit.gupta 135
	@Override
31191 amit.gupta 136
	public boolean equals(Object o) {
137
		if (this == o) return true;
138
		if (o == null || getClass() != o.getClass()) return false;
139
		Offer offer = (Offer) o;
140
		return id == offer.id && Double.compare(offer.brandSharePercentage, brandSharePercentage) == 0 && baseCriteia == offer.baseCriteia && Double.compare(offer.sellinPercentage, sellinPercentage) == 0 && booster == offer.booster && active == offer.active && alreadyActive == offer.alreadyActive && Objects.equals(name, offer.name) && Objects.equals(offerNotes, offer.offerNotes) && Objects.equals(terms, offer.terms) && schemeType == offer.schemeType && targetType == offer.targetType && payoutType == offer.payoutType && Objects.equals(activationBrands, offer.activationBrands) && Objects.equals(itemCriteria, offer.itemCriteria) && Objects.equals(partnerCriteria, offer.partnerCriteria) && Objects.equals(startDate, offer.startDate) && Objects.equals(endDate, offer.endDate) && Objects.equals(createdTimestamp, offer.createdTimestamp) && Objects.equals(itemCriteriaString, offer.itemCriteriaString);
26588 tejbeer 141
	}
142
 
31191 amit.gupta 143
	@Override
144
	public int hashCode() {
145
		return Objects.hash(id, brandSharePercentage, name, offerNotes, terms, schemeType, baseCriteia, sellinPercentage, targetType, payoutType, activationBrands, itemCriteria, partnerCriteria, startDate, endDate, createdTimestamp, booster, active, alreadyActive, itemCriteriaString);
146
	}
147
 
29610 amit.gupta 148
	@Transient
29707 tejbeer 149
	private String itemCriteriaString;
27878 amit.gupta 150
 
29707 tejbeer 151
	public String getItemCriteriaString() {
152
		return itemCriteriaString;
153
	}
27878 amit.gupta 154
 
29707 tejbeer 155
	public String getActivationBrands() {
27878 amit.gupta 156
		return activationBrands;
26588 tejbeer 157
	}
158
 
27878 amit.gupta 159
	public void setActivationBrands(String activationBrands) {
160
		this.activationBrands = activationBrands;
26588 tejbeer 161
	}
162
 
27878 amit.gupta 163
	public void setItemCriteriaString(String itemCriteriaString) {
29707 tejbeer 164
		this.itemCriteriaString = itemCriteriaString;
165
	}
26588 tejbeer 166
 
29707 tejbeer 167
	public int getId() {
168
		return id;
169
	}
26588 tejbeer 170
 
29707 tejbeer 171
	public double getBrandSharePercentage() {
172
		return brandSharePercentage;
173
	}
26588 tejbeer 174
 
29707 tejbeer 175
	public void setBrandSharePercentage(double brandSharePercentage) {
176
		this.brandSharePercentage = brandSharePercentage;
177
	}
26588 tejbeer 178
 
29707 tejbeer 179
	public void setId(int id) {
180
		this.id = id;
181
	}
26588 tejbeer 182
 
29707 tejbeer 183
	public String getName() {
184
		return name;
185
	}
26588 tejbeer 186
 
29707 tejbeer 187
	public void setName(String name) {
188
		this.name = name;
189
	}
26588 tejbeer 190
 
29707 tejbeer 191
	public String getOfferNotes() {
192
		return offerNotes;
193
	}
26588 tejbeer 194
 
29707 tejbeer 195
	public void setOfferNotes(String offerNotes) {
196
		this.offerNotes = offerNotes;
197
	}
26588 tejbeer 198
 
29707 tejbeer 199
	public String getTerms() {
200
		return terms;
201
	}
26588 tejbeer 202
 
29707 tejbeer 203
	public void setTerms(String terms) {
204
		this.terms = terms;
205
	}
26588 tejbeer 206
 
29707 tejbeer 207
	public OfferSchemeType getSchemeType() {
208
		return schemeType;
209
	}
26588 tejbeer 210
 
29707 tejbeer 211
	public void setSchemeType(OfferSchemeType schemeType) {
212
		this.schemeType = schemeType;
213
	}
26588 tejbeer 214
 
29707 tejbeer 215
	public double getSellinPercentage() {
216
		return sellinPercentage;
217
	}
26588 tejbeer 218
 
29707 tejbeer 219
	public void setSellinPercentage(double sellinPercentage) {
220
		this.sellinPercentage = sellinPercentage;
221
	}
26588 tejbeer 222
 
29707 tejbeer 223
	public AchievementType getTargetType() {
224
		return targetType;
225
	}
26588 tejbeer 226
 
29707 tejbeer 227
	public void setTargetType(AchievementType targetType) {
228
		this.targetType = targetType;
229
	}
26694 tejbeer 230
 
29707 tejbeer 231
	public String getItemCriteria() {
232
		return itemCriteria;
233
	}
26694 tejbeer 234
 
29707 tejbeer 235
	public void setItemCriteria(String itemCriteria) {
236
		this.itemCriteria = itemCriteria;
237
	}
26588 tejbeer 238
 
29707 tejbeer 239
	public String getPartnerCriteria() {
240
		return partnerCriteria;
241
	}
26674 tejbeer 242
 
29707 tejbeer 243
	public void setPartnerCriteria(String partnerCriteria) {
244
		this.partnerCriteria = partnerCriteria;
245
	}
26674 tejbeer 246
 
29707 tejbeer 247
	public LocalDateTime getStartDate() {
248
		return startDate;
249
	}
26674 tejbeer 250
 
29707 tejbeer 251
	public void setStartDate(LocalDateTime startDate) {
252
		this.startDate = startDate;
253
	}
26588 tejbeer 254
 
29707 tejbeer 255
	public LocalDateTime getEndDate() {
256
		return endDate;
257
	}
26588 tejbeer 258
 
29707 tejbeer 259
	public void setEndDate(LocalDateTime endDate) {
260
		this.endDate = endDate;
261
	}
26588 tejbeer 262
 
29707 tejbeer 263
	public LocalDateTime getCreatedTimestamp() {
264
		return createdTimestamp;
265
	}
26588 tejbeer 266
 
29707 tejbeer 267
	public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
268
		this.createdTimestamp = createdTimestamp;
269
	}
26588 tejbeer 270
 
29707 tejbeer 271
	public boolean isActive() {
272
		return active;
273
	}
26588 tejbeer 274
 
29707 tejbeer 275
	public void setActive(boolean active) {
276
		this.active = active;
277
	}
26588 tejbeer 278
 
27878 amit.gupta 279
}