Subversion Repositories SmartDukaan

Rev

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