Subversion Repositories SmartDukaan

Rev

Rev 27878 | Rev 28019 | 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
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.Entity;
8
import javax.persistence.EnumType;
9
import javax.persistence.Enumerated;
10
import javax.persistence.GeneratedValue;
11
import javax.persistence.GenerationType;
12
import javax.persistence.Id;
13
import javax.persistence.Table;
27878 amit.gupta 14
import javax.persistence.Transient;
26588 tejbeer 15
 
27878 amit.gupta 16
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
27918 amit.gupta 17
import com.spice.profitmandi.dao.enumuration.catalog.AchievementType;
26588 tejbeer 18
 
19
@Entity
20
@Table(name = "catalog.offer", schema = "catalog")
21
public class Offer implements Serializable {
22
 
27878 amit.gupta 23
    @Id
24
    @Column(name = "id")
25
    @GeneratedValue(strategy = GenerationType.IDENTITY)
26
    private int id;
26588 tejbeer 27
 
27878 amit.gupta 28
    @Column(name = "brand_share_percentage", nullable = false, columnDefinition = "TINYINT(1)")
29
    private double brandSharePercentage;
26588 tejbeer 30
 
31
 
27878 amit.gupta 32
    @Column(name = "name")
33
    private String name;
26588 tejbeer 34
 
27878 amit.gupta 35
    @Column(name = "offer_notes")
36
    private String offerNotes;
26588 tejbeer 37
 
27878 amit.gupta 38
    @Column(name = "terms")
39
    private String terms;
26588 tejbeer 40
 
27878 amit.gupta 41
    @Column(name = "scheme_type")
42
    @Enumerated(EnumType.STRING)
43
    private OfferSchemeType schemeType;
26588 tejbeer 44
 
27878 amit.gupta 45
    @Column(name = "sellin_percentage")
46
    private double sellinPercentage;
26674 tejbeer 47
 
27878 amit.gupta 48
    @Column(name = "target_type")
49
    @Enumerated(EnumType.STRING)
27918 amit.gupta 50
    private AchievementType targetType;
27878 amit.gupta 51
 
27918 amit.gupta 52
 
53
    @Column(name = "payout_type")
54
    @Enumerated(EnumType.STRING)
55
    private AchievementType payoutType;
56
 
27878 amit.gupta 57
    @Column(name = "activation_brands")
58
    private String activationBrands;
26694 tejbeer 59
 
27878 amit.gupta 60
    @Column(name = "item_criteria")
61
    private String itemCriteria;
26674 tejbeer 62
 
27878 amit.gupta 63
    @Column(name = "partner_criteria")
64
    private String partnerCriteria;
26674 tejbeer 65
 
27878 amit.gupta 66
    @Column(name = "start_date")
67
    private LocalDateTime startDate = LocalDateTime.now();
26674 tejbeer 68
 
27878 amit.gupta 69
    @Column(name = "end_date")
70
    private LocalDateTime endDate = LocalDateTime.now();
26694 tejbeer 71
 
27878 amit.gupta 72
    @Column(name = "created_timestamp")
73
    private LocalDateTime createdTimestamp = LocalDateTime.now();
26694 tejbeer 74
 
27878 amit.gupta 75
    @Column(name = "active", columnDefinition = "TINYINT(1)")
76
    private boolean active;
27918 amit.gupta 77
 
78
 
26694 tejbeer 79
 
27878 amit.gupta 80
 
27918 amit.gupta 81
    public AchievementType getPayoutType() {
82
		return payoutType;
83
	}
84
 
85
	public void setPayoutType(AchievementType payoutType) {
86
		this.payoutType = payoutType;
87
	}
88
 
89
	@Override
90
	public String toString() {
91
		return "Offer [id=" + id + ", brandSharePercentage=" + brandSharePercentage + ", name=" + name + ", offerNotes="
92
				+ offerNotes + ", terms=" + terms + ", schemeType=" + schemeType + ", sellinPercentage="
93
				+ sellinPercentage + ", targetType=" + targetType + ", payoutType=" + payoutType + ", activationBrands="
94
				+ activationBrands + ", itemCriteria=" + itemCriteria + ", partnerCriteria=" + partnerCriteria
95
				+ ", startDate=" + startDate + ", endDate=" + endDate + ", createdTimestamp=" + createdTimestamp
96
				+ ", active=" + active + ", itemCriteriaString=" + itemCriteriaString + "]";
97
	}
98
 
99
	@Override
27878 amit.gupta 100
	public boolean equals(Object obj) {
101
		if (this == obj)
102
			return true;
103
		if (obj == null)
104
			return false;
105
		if (getClass() != obj.getClass())
106
			return false;
107
		Offer other = (Offer) obj;
108
		if (activationBrands == null) {
109
			if (other.activationBrands != null)
110
				return false;
111
		} else if (!activationBrands.equals(other.activationBrands))
112
			return false;
113
		if (active != other.active)
114
			return false;
115
		if (Double.doubleToLongBits(brandSharePercentage) != Double.doubleToLongBits(other.brandSharePercentage))
116
			return false;
117
		if (createdTimestamp == null) {
118
			if (other.createdTimestamp != null)
119
				return false;
120
		} else if (!createdTimestamp.equals(other.createdTimestamp))
121
			return false;
122
		if (endDate == null) {
123
			if (other.endDate != null)
124
				return false;
125
		} else if (!endDate.equals(other.endDate))
126
			return false;
127
		if (id != other.id)
128
			return false;
129
		if (itemCriteria == null) {
130
			if (other.itemCriteria != null)
131
				return false;
132
		} else if (!itemCriteria.equals(other.itemCriteria))
133
			return false;
134
		if (itemCriteriaString == null) {
135
			if (other.itemCriteriaString != null)
136
				return false;
137
		} else if (!itemCriteriaString.equals(other.itemCriteriaString))
138
			return false;
139
		if (name == null) {
140
			if (other.name != null)
141
				return false;
142
		} else if (!name.equals(other.name))
143
			return false;
144
		if (offerNotes == null) {
145
			if (other.offerNotes != null)
146
				return false;
147
		} else if (!offerNotes.equals(other.offerNotes))
148
			return false;
149
		if (partnerCriteria == null) {
150
			if (other.partnerCriteria != null)
151
				return false;
152
		} else if (!partnerCriteria.equals(other.partnerCriteria))
153
			return false;
27918 amit.gupta 154
		if (payoutType != other.payoutType)
155
			return false;
27878 amit.gupta 156
		if (schemeType != other.schemeType)
157
			return false;
158
		if (Double.doubleToLongBits(sellinPercentage) != Double.doubleToLongBits(other.sellinPercentage))
159
			return false;
160
		if (startDate == null) {
161
			if (other.startDate != null)
162
				return false;
163
		} else if (!startDate.equals(other.startDate))
164
			return false;
165
		if (targetType != other.targetType)
166
			return false;
167
		if (terms == null) {
168
			if (other.terms != null)
169
				return false;
170
		} else if (!terms.equals(other.terms))
171
			return false;
172
		return true;
26588 tejbeer 173
	}
174
 
27878 amit.gupta 175
    @Override
176
	public int hashCode() {
177
		final int prime = 31;
178
		int result = 1;
179
		result = prime * result + ((activationBrands == null) ? 0 : activationBrands.hashCode());
180
		result = prime * result + (active ? 1231 : 1237);
181
		long temp;
182
		temp = Double.doubleToLongBits(brandSharePercentage);
183
		result = prime * result + (int) (temp ^ (temp >>> 32));
184
		result = prime * result + ((createdTimestamp == null) ? 0 : createdTimestamp.hashCode());
185
		result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
186
		result = prime * result + id;
187
		result = prime * result + ((itemCriteria == null) ? 0 : itemCriteria.hashCode());
188
		result = prime * result + ((itemCriteriaString == null) ? 0 : itemCriteriaString.hashCode());
189
		result = prime * result + ((name == null) ? 0 : name.hashCode());
190
		result = prime * result + ((offerNotes == null) ? 0 : offerNotes.hashCode());
191
		result = prime * result + ((partnerCriteria == null) ? 0 : partnerCriteria.hashCode());
27918 amit.gupta 192
		result = prime * result + ((payoutType == null) ? 0 : payoutType.hashCode());
27878 amit.gupta 193
		result = prime * result + ((schemeType == null) ? 0 : schemeType.hashCode());
194
		temp = Double.doubleToLongBits(sellinPercentage);
195
		result = prime * result + (int) (temp ^ (temp >>> 32));
196
		result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
197
		result = prime * result + ((targetType == null) ? 0 : targetType.hashCode());
198
		result = prime * result + ((terms == null) ? 0 : terms.hashCode());
199
		return result;
26588 tejbeer 200
	}
201
 
27878 amit.gupta 202
    @Transient
203
    private String itemCriteriaString;
204
 
205
    public String getItemCriteriaString() {
206
        return itemCriteriaString;
207
    }
208
 
209
 
210
 
211
    public String getActivationBrands() {
212
		return activationBrands;
26588 tejbeer 213
	}
214
 
27878 amit.gupta 215
	public void setActivationBrands(String activationBrands) {
216
		this.activationBrands = activationBrands;
26588 tejbeer 217
	}
218
 
27878 amit.gupta 219
	public void setItemCriteriaString(String itemCriteriaString) {
220
        this.itemCriteriaString = itemCriteriaString;
221
    }
26588 tejbeer 222
 
27878 amit.gupta 223
    public int getId() {
224
        return id;
225
    }
26588 tejbeer 226
 
27878 amit.gupta 227
    public double getBrandSharePercentage() {
228
        return brandSharePercentage;
229
    }
26588 tejbeer 230
 
27878 amit.gupta 231
    public void setBrandSharePercentage(double brandSharePercentage) {
232
        this.brandSharePercentage = brandSharePercentage;
233
    }
26588 tejbeer 234
 
27878 amit.gupta 235
    public void setId(int id) {
236
        this.id = id;
237
    }
26588 tejbeer 238
 
27878 amit.gupta 239
    public String getName() {
240
        return name;
241
    }
26588 tejbeer 242
 
27878 amit.gupta 243
    public void setName(String name) {
244
        this.name = name;
245
    }
26588 tejbeer 246
 
27878 amit.gupta 247
    public String getOfferNotes() {
248
        return offerNotes;
249
    }
26588 tejbeer 250
 
27878 amit.gupta 251
    public void setOfferNotes(String offerNotes) {
252
        this.offerNotes = offerNotes;
253
    }
26588 tejbeer 254
 
27878 amit.gupta 255
    public String getTerms() {
256
        return terms;
257
    }
26588 tejbeer 258
 
27878 amit.gupta 259
    public void setTerms(String terms) {
260
        this.terms = terms;
261
    }
26588 tejbeer 262
 
27878 amit.gupta 263
    public OfferSchemeType getSchemeType() {
264
        return schemeType;
265
    }
26588 tejbeer 266
 
27878 amit.gupta 267
    public void setSchemeType(OfferSchemeType schemeType) {
268
        this.schemeType = schemeType;
269
    }
26588 tejbeer 270
 
27878 amit.gupta 271
    public double getSellinPercentage() {
272
        return sellinPercentage;
273
    }
26588 tejbeer 274
 
27878 amit.gupta 275
    public void setSellinPercentage(double sellinPercentage) {
276
        this.sellinPercentage = sellinPercentage;
277
    }
26588 tejbeer 278
 
27918 amit.gupta 279
    public AchievementType getTargetType() {
27878 amit.gupta 280
        return targetType;
281
    }
26588 tejbeer 282
 
27918 amit.gupta 283
    public void setTargetType(AchievementType targetType) {
27878 amit.gupta 284
        this.targetType = targetType;
285
    }
26694 tejbeer 286
 
27878 amit.gupta 287
    public String getItemCriteria() {
288
        return itemCriteria;
289
    }
26694 tejbeer 290
 
27878 amit.gupta 291
    public void setItemCriteria(String itemCriteria) {
292
        this.itemCriteria = itemCriteria;
293
    }
26588 tejbeer 294
 
27878 amit.gupta 295
    public String getPartnerCriteria() {
296
        return partnerCriteria;
297
    }
26674 tejbeer 298
 
27878 amit.gupta 299
    public void setPartnerCriteria(String partnerCriteria) {
300
        this.partnerCriteria = partnerCriteria;
301
    }
26674 tejbeer 302
 
27878 amit.gupta 303
    public LocalDateTime getStartDate() {
304
        return startDate;
305
    }
26674 tejbeer 306
 
27878 amit.gupta 307
    public void setStartDate(LocalDateTime startDate) {
308
        this.startDate = startDate;
309
    }
26588 tejbeer 310
 
27878 amit.gupta 311
    public LocalDateTime getEndDate() {
312
        return endDate;
313
    }
26588 tejbeer 314
 
27878 amit.gupta 315
    public void setEndDate(LocalDateTime endDate) {
316
        this.endDate = endDate;
317
    }
26588 tejbeer 318
 
27878 amit.gupta 319
    public LocalDateTime getCreatedTimestamp() {
320
        return createdTimestamp;
321
    }
26588 tejbeer 322
 
27878 amit.gupta 323
    public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
324
        this.createdTimestamp = createdTimestamp;
325
    }
26588 tejbeer 326
 
327
 
328
 
27878 amit.gupta 329
    public boolean isActive() {
330
        return active;
331
    }
26588 tejbeer 332
 
27878 amit.gupta 333
    public void setActive(boolean active) {
334
        this.active = active;
335
    }
26588 tejbeer 336
 
27878 amit.gupta 337
}