Subversion Repositories SmartDukaan

Rev

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