Subversion Repositories SmartDukaan

Rev

Rev 31860 | Rev 32868 | 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
31860 tejbeer 12
@Table(name = "catalog.offer")
26588 tejbeer 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
 
32021 amit.gupta 71
 
72
	@Column(name = "discount")
73
	private boolean discount = false;
74
 
29707 tejbeer 75
	@Column(name = "active", columnDefinition = "TINYINT(1)")
76
	private boolean active;
27878 amit.gupta 77
 
31606 amit.gupta 78
	@Override
79
	public boolean equals(Object o) {
80
		if (this == o) return true;
81
		if (o == null || getClass() != o.getClass()) return false;
82
		Offer offer = (Offer) o;
83
		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(processedTimestamp, offer.processedTimestamp) && Objects.equals(itemCriteriaString, offer.itemCriteriaString);
84
	}
85
 
86
	@Override
87
	public int hashCode() {
88
		return Objects.hash(id, brandSharePercentage, name, offerNotes, terms, schemeType, baseCriteia, sellinPercentage, targetType, payoutType, activationBrands, itemCriteria, partnerCriteria, startDate, endDate, createdTimestamp, booster, active, processedTimestamp, alreadyActive, itemCriteriaString);
89
	}
90
 
91
	public LocalDateTime getProcessedTimestamp() {
92
		return processedTimestamp;
93
	}
94
 
95
	public void setProcessedTimestamp(LocalDateTime processedTimestamp) {
96
		this.processedTimestamp = processedTimestamp;
97
	}
98
 
31618 amit.gupta 99
	@Column(name = "processed_timestamp")
31605 amit.gupta 100
	private LocalDateTime processedTimestamp;
101
 
29950 amit.gupta 102
	@Transient
103
	private boolean alreadyActive;
104
 
31605 amit.gupta 105
 
29950 amit.gupta 106
	public boolean isAlreadyActive() {
107
		return alreadyActive;
108
	}
109
 
110
	public void setAlreadyActive(boolean alreadyActive) {
111
		this.alreadyActive = alreadyActive;
112
	}
113
 
29707 tejbeer 114
	public AchievementType getPayoutType() {
27918 amit.gupta 115
		return payoutType;
116
	}
117
 
118
	public void setPayoutType(AchievementType payoutType) {
119
		this.payoutType = payoutType;
120
	}
121
 
29795 amit.gupta 122
	public boolean isBaseCriteia() {
123
		return baseCriteia;
28019 amit.gupta 124
	}
125
 
29795 amit.gupta 126
	public void setBaseCriteia(boolean baseCriteia) {
127
		this.baseCriteia = baseCriteia;
28019 amit.gupta 128
	}
129
 
31191 amit.gupta 130
	public boolean isBooster() {
131
		return booster;
132
	}
133
 
134
	public void setBooster(boolean booster) {
135
		this.booster = booster;
136
	}
137
 
29610 amit.gupta 138
	@Transient
29707 tejbeer 139
	private String itemCriteriaString;
27878 amit.gupta 140
 
29707 tejbeer 141
	public String getItemCriteriaString() {
142
		return itemCriteriaString;
143
	}
27878 amit.gupta 144
 
29707 tejbeer 145
	public String getActivationBrands() {
27878 amit.gupta 146
		return activationBrands;
26588 tejbeer 147
	}
148
 
27878 amit.gupta 149
	public void setActivationBrands(String activationBrands) {
150
		this.activationBrands = activationBrands;
26588 tejbeer 151
	}
152
 
27878 amit.gupta 153
	public void setItemCriteriaString(String itemCriteriaString) {
29707 tejbeer 154
		this.itemCriteriaString = itemCriteriaString;
155
	}
26588 tejbeer 156
 
29707 tejbeer 157
	public int getId() {
158
		return id;
159
	}
26588 tejbeer 160
 
29707 tejbeer 161
	public double getBrandSharePercentage() {
162
		return brandSharePercentage;
163
	}
26588 tejbeer 164
 
29707 tejbeer 165
	public void setBrandSharePercentage(double brandSharePercentage) {
166
		this.brandSharePercentage = brandSharePercentage;
167
	}
26588 tejbeer 168
 
29707 tejbeer 169
	public void setId(int id) {
170
		this.id = id;
171
	}
26588 tejbeer 172
 
29707 tejbeer 173
	public String getName() {
174
		return name;
175
	}
26588 tejbeer 176
 
29707 tejbeer 177
	public void setName(String name) {
178
		this.name = name;
179
	}
26588 tejbeer 180
 
29707 tejbeer 181
	public String getOfferNotes() {
182
		return offerNotes;
183
	}
26588 tejbeer 184
 
29707 tejbeer 185
	public void setOfferNotes(String offerNotes) {
186
		this.offerNotes = offerNotes;
187
	}
26588 tejbeer 188
 
29707 tejbeer 189
	public String getTerms() {
190
		return terms;
191
	}
26588 tejbeer 192
 
29707 tejbeer 193
	public void setTerms(String terms) {
194
		this.terms = terms;
195
	}
26588 tejbeer 196
 
29707 tejbeer 197
	public OfferSchemeType getSchemeType() {
198
		return schemeType;
199
	}
26588 tejbeer 200
 
29707 tejbeer 201
	public void setSchemeType(OfferSchemeType schemeType) {
202
		this.schemeType = schemeType;
203
	}
26588 tejbeer 204
 
29707 tejbeer 205
	public double getSellinPercentage() {
206
		return sellinPercentage;
207
	}
26588 tejbeer 208
 
29707 tejbeer 209
	public void setSellinPercentage(double sellinPercentage) {
210
		this.sellinPercentage = sellinPercentage;
211
	}
26588 tejbeer 212
 
29707 tejbeer 213
	public AchievementType getTargetType() {
214
		return targetType;
215
	}
26588 tejbeer 216
 
29707 tejbeer 217
	public void setTargetType(AchievementType targetType) {
218
		this.targetType = targetType;
219
	}
26694 tejbeer 220
 
29707 tejbeer 221
	public String getItemCriteria() {
222
		return itemCriteria;
223
	}
26694 tejbeer 224
 
29707 tejbeer 225
	public void setItemCriteria(String itemCriteria) {
226
		this.itemCriteria = itemCriteria;
227
	}
26588 tejbeer 228
 
29707 tejbeer 229
	public String getPartnerCriteria() {
230
		return partnerCriteria;
231
	}
26674 tejbeer 232
 
29707 tejbeer 233
	public void setPartnerCriteria(String partnerCriteria) {
234
		this.partnerCriteria = partnerCriteria;
235
	}
26674 tejbeer 236
 
29707 tejbeer 237
	public LocalDateTime getStartDate() {
238
		return startDate;
239
	}
26674 tejbeer 240
 
29707 tejbeer 241
	public void setStartDate(LocalDateTime startDate) {
242
		this.startDate = startDate;
243
	}
26588 tejbeer 244
 
29707 tejbeer 245
	public LocalDateTime getEndDate() {
246
		return endDate;
247
	}
26588 tejbeer 248
 
29707 tejbeer 249
	public void setEndDate(LocalDateTime endDate) {
250
		this.endDate = endDate;
251
	}
26588 tejbeer 252
 
29707 tejbeer 253
	public LocalDateTime getCreatedTimestamp() {
254
		return createdTimestamp;
255
	}
26588 tejbeer 256
 
29707 tejbeer 257
	public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
258
		this.createdTimestamp = createdTimestamp;
259
	}
26588 tejbeer 260
 
29707 tejbeer 261
	public boolean isActive() {
262
		return active;
263
	}
26588 tejbeer 264
 
29707 tejbeer 265
	public void setActive(boolean active) {
266
		this.active = active;
267
	}
26588 tejbeer 268
 
32021 amit.gupta 269
	@Override
270
	public String toString() {
271
		return "Offer{" +
272
				"id=" + id +
273
				", brandSharePercentage=" + brandSharePercentage +
274
				", name='" + name + '\'' +
275
				", offerNotes='" + offerNotes + '\'' +
276
				", terms='" + terms + '\'' +
277
				", schemeType=" + schemeType +
278
				", baseCriteia=" + baseCriteia +
279
				", sellinPercentage=" + sellinPercentage +
280
				", targetType=" + targetType +
281
				", payoutType=" + payoutType +
282
				", activationBrands='" + activationBrands + '\'' +
283
				", itemCriteria='" + itemCriteria + '\'' +
284
				", partnerCriteria='" + partnerCriteria + '\'' +
285
				", startDate=" + startDate +
286
				", endDate=" + endDate +
287
				", createdTimestamp=" + createdTimestamp +
288
				", booster=" + booster +
289
				", discount=" + discount +
290
				", active=" + active +
291
				", processedTimestamp=" + processedTimestamp +
292
				", alreadyActive=" + alreadyActive +
293
				", itemCriteriaString='" + itemCriteriaString + '\'' +
294
				'}';
295
	}
296
 
297
	public boolean isDiscount() {
298
		return discount;
299
	}
300
 
301
	public void setDiscount(boolean discount) {
302
		this.discount = discount;
303
	}
27878 amit.gupta 304
}