Subversion Repositories SmartDukaan

Rev

Rev 30978 | Rev 31608 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 30978 Rev 31190
Line 10... Line 10...
10
import org.apache.logging.log4j.LogManager;
10
import org.apache.logging.log4j.LogManager;
11
import org.apache.logging.log4j.Logger;
11
import org.apache.logging.log4j.Logger;
12
 
12
 
13
import java.time.LocalDateTime;
13
import java.time.LocalDateTime;
14
import java.util.List;
14
import java.util.List;
-
 
15
import java.util.Objects;
15
 
16
 
16
public class CreateOfferRequest {
17
public class CreateOfferRequest {
17
	private int id;
18
	private int id;
18
	private boolean active;
19
	private boolean active;
19
	private boolean baseCriteria;
20
	private boolean baseCriteria;
20
	private String name;
21
	private String name;
-
 
22
	private boolean booster;
21
	private LocalDateTime startDate;
23
	private LocalDateTime startDate;
22
	private LocalDateTime endDate;
24
	private LocalDateTime endDate;
23
	private String offerNotes;
25
	private String offerNotes;
24
	private String terms;
26
	private String terms;
25
	private AchievementType targetType;
27
	private AchievementType targetType;
26
	private AchievementType payoutType;
28
	private AchievementType payoutType;
27
	private String activationBrands;
29
	private String activationBrands;
28
	private OfferSchemeType schemeType;
30
	private OfferSchemeType schemeType;
29
	private double sellinPercentage;
31
	private double sellinPercentage;
-
 
32
 
-
 
33
	@Override
-
 
34
	public String toString() {
-
 
35
		return "CreateOfferRequest{" +
-
 
36
				"id=" + id +
-
 
37
				", active=" + active +
-
 
38
				", baseCriteria=" + baseCriteria +
-
 
39
				", name='" + name + '\'' +
-
 
40
				", booster=" + booster +
-
 
41
				", startDate=" + startDate +
-
 
42
				", endDate=" + endDate +
-
 
43
				", offerNotes='" + offerNotes + '\'' +
-
 
44
				", terms='" + terms + '\'' +
-
 
45
				", targetType=" + targetType +
-
 
46
				", payoutType=" + payoutType +
-
 
47
				", activationBrands='" + activationBrands + '\'' +
-
 
48
				", schemeType=" + schemeType +
-
 
49
				", sellinPercentage=" + sellinPercentage +
-
 
50
				", brandShareTerms=" + brandShareTerms +
-
 
51
				", itemCriteria=" + itemCriteria +
-
 
52
				", itemCriteriaString='" + itemCriteriaString + '\'' +
-
 
53
				", createdOn=" + createdOn +
-
 
54
				", targetSlabs=" + targetSlabs +
-
 
55
				", partnerCriteria=" + partnerCriteria +
-
 
56
				", partnerCriteriaString='" + partnerCriteriaString + '\'' +
-
 
57
				", eligibleSale=" + eligibleSale +
-
 
58
				", nextTargetSlab=" + nextTargetSlab +
-
 
59
				", currentTargetSlab=" + currentTargetSlab +
-
 
60
				", currentTarget='" + currentTarget + '\'' +
-
 
61
				", nextTarget='" + nextTarget + '\'' +
-
 
62
				'}';
-
 
63
	}
-
 
64
 
-
 
65
	@Override
-
 
66
	public boolean equals(Object o) {
-
 
67
		if (this == o) return true;
-
 
68
		if (o == null || getClass() != o.getClass()) return false;
-
 
69
		CreateOfferRequest that = (CreateOfferRequest) o;
-
 
70
		return id == that.id && active == that.active && baseCriteria == that.baseCriteria && booster == that.booster && Double.compare(that.sellinPercentage, sellinPercentage) == 0 && Double.compare(that.brandShareTerms, brandShareTerms) == 0 && eligibleSale == that.eligibleSale && Objects.equals(name, that.name) && Objects.equals(startDate, that.startDate) && Objects.equals(endDate, that.endDate) && Objects.equals(offerNotes, that.offerNotes) && Objects.equals(terms, that.terms) && targetType == that.targetType && payoutType == that.payoutType && Objects.equals(activationBrands, that.activationBrands) && schemeType == that.schemeType && Objects.equals(itemCriteria, that.itemCriteria) && Objects.equals(itemCriteriaString, that.itemCriteriaString) && Objects.equals(createdOn, that.createdOn) && Objects.equals(targetSlabs, that.targetSlabs) && Objects.equals(partnerCriteria, that.partnerCriteria) && Objects.equals(partnerCriteriaString, that.partnerCriteriaString) && Objects.equals(nextTargetSlab, that.nextTargetSlab) && Objects.equals(currentTargetSlab, that.currentTargetSlab) && Objects.equals(currentTarget, that.currentTarget) && Objects.equals(nextTarget, that.nextTarget);
-
 
71
	}
-
 
72
 
-
 
73
	@Override
-
 
74
	public int hashCode() {
-
 
75
		return Objects.hash(id, active, baseCriteria, name, booster, startDate, endDate, offerNotes, terms, targetType, payoutType, activationBrands, schemeType, sellinPercentage, brandShareTerms, itemCriteria, itemCriteriaString, createdOn, targetSlabs, partnerCriteria, partnerCriteriaString, eligibleSale, nextTargetSlab, currentTargetSlab, currentTarget, nextTarget);
-
 
76
	}
-
 
77
 
30
	private double brandShareTerms;
78
	private double brandShareTerms;
31
	private ItemCriteria itemCriteria;
79
	private ItemCriteria itemCriteria;
32
	private String itemCriteriaString;
80
	private String itemCriteriaString;
33
	private LocalDateTime createdOn;
81
	private LocalDateTime createdOn;
34
	private List<TargetSlab> targetSlabs;
82
	private List<TargetSlab> targetSlabs;
35
	private PartnerCriteria partnerCriteria;
83
	private PartnerCriteria partnerCriteria;
36
	private String partnerCriteriaString;
84
	private String partnerCriteriaString;
37
	
85
 
38
	private static final Logger LOGGER = LogManager.getLogger(CreateOfferRequest.class);
86
	private static final Logger LOGGER = LogManager.getLogger(CreateOfferRequest.class);
39
 
87
 
40
	public int getEligibleSale() {
88
	public int getEligibleSale() {
41
		return eligibleSale;
89
		return eligibleSale;
42
	}
90
	}
43
 
91
 
44
	public void setEligibleSale(int eligibleSale) {
92
	public void setEligibleSale(int eligibleSale) {
45
		this.eligibleSale = eligibleSale;
93
		this.eligibleSale = eligibleSale;
46
	}
94
	}
47
 
95
 
-
 
96
	public boolean isBooster() {
-
 
97
		return booster;
-
 
98
	}
-
 
99
 
-
 
100
	public void setBooster(boolean booster) {
-
 
101
		this.booster = booster;
-
 
102
	}
-
 
103
 
-
 
104
 
48
	public String getAnyItemCriteriaString() {
105
	public String getAnyItemCriteriaString() {
49
    	return this.getItemCriteriaString().replaceAll("All", "");
106
		return this.getItemCriteriaString().replaceAll("All", "");
50
    }
107
	}
-
 
108
 
51
	private void addAchievementPayoutString(StringBuffer sb, ItemCriteriaPayout itemCriteriaPayout,
109
	private void addAchievementPayoutString(StringBuffer sb, ItemCriteriaPayout itemCriteriaPayout,
52
			PayoutSlab payoutSlab) {
110
											PayoutSlab payoutSlab) {
53
		this.addAchievementString(sb, itemCriteriaPayout);
111
		this.addAchievementString(sb, itemCriteriaPayout);
54
		sb.append(", Get ");
112
		sb.append(", Get ");
55
		this.addPayoutString(sb, itemCriteriaPayout, payoutSlab);
113
		this.addPayoutString(sb, itemCriteriaPayout, payoutSlab);
56
	}
114
	}
57
 
115
 
Line 300... Line 358...
300
 
358
 
301
	public void setTargetType(AchievementType targetType) {
359
	public void setTargetType(AchievementType targetType) {
302
		this.targetType = targetType;
360
		this.targetType = targetType;
303
	}
361
	}
304
 
362
 
305
	@Override
-
 
306
	public String toString() {
-
 
307
		return "CreateOfferRequest [id=" + id + ", active=" + active + ", baseCriteria=" + baseCriteria + ", name="
-
 
308
				+ name + ", startDate=" + startDate + ", endDate=" + endDate + ", offerNotes=" + offerNotes + ", terms="
-
 
309
				+ terms + ", targetType=" + targetType + ", payoutType=" + payoutType + ", activationBrands="
-
 
310
				+ activationBrands + ", schemeType=" + schemeType + ", sellinPercentage=" + sellinPercentage
-
 
311
				+ ", brandShareTerms=" + brandShareTerms + ", itemCriteria=" + itemCriteria + ", itemCriteriaString="
-
 
312
				+ itemCriteriaString + ", createdOn=" + createdOn + ", targetSlabs=" + targetSlabs
-
 
313
				+ ", partnerCriteria=" + partnerCriteria + ", partnerCriteriaString=" + partnerCriteriaString
-
 
314
				+ ", eligibleSale=" + eligibleSale + ", nextTargetSlab=" + nextTargetSlab + ", currentTargetSlab="
-
 
315
				+ currentTargetSlab + ", currentTarget=" + currentTarget + ", nextTarget=" + nextTarget + "]";
-
 
316
	}
-
 
317
 
-
 
318
	public OfferSchemeType getSchemeType() {
363
	public OfferSchemeType getSchemeType() {
319
		return schemeType;
364
		return schemeType;
320
	}
365
	}
321
 
366
 
322
	public void setSchemeType(OfferSchemeType schemeType) {
367
	public void setSchemeType(OfferSchemeType schemeType) {
Line 349... Line 394...
349
 
394
 
350
	public void setItemCriteriaString(String itemCriteriaString) {
395
	public void setItemCriteriaString(String itemCriteriaString) {
351
		this.itemCriteriaString = itemCriteriaString;
396
		this.itemCriteriaString = itemCriteriaString;
352
	}
397
	}
353
 
398
 
354
	@Override
-
 
355
	public boolean equals(Object obj) {
-
 
356
		if (this == obj)
-
 
357
			return true;
-
 
358
		if (obj == null)
-
 
359
			return false;
-
 
360
		if (getClass() != obj.getClass())
-
 
361
			return false;
-
 
362
		CreateOfferRequest other = (CreateOfferRequest) obj;
-
 
363
		if (activationBrands == null) {
-
 
364
			if (other.activationBrands != null)
-
 
365
				return false;
-
 
366
		} else if (!activationBrands.equals(other.activationBrands))
-
 
367
			return false;
-
 
368
		if (active != other.active)
-
 
369
			return false;
-
 
370
		if (Double.doubleToLongBits(brandShareTerms) != Double.doubleToLongBits(other.brandShareTerms))
-
 
371
			return false;
-
 
372
		if (createdOn == null) {
-
 
373
			if (other.createdOn != null)
-
 
374
				return false;
-
 
375
		} else if (!createdOn.equals(other.createdOn))
-
 
376
			return false;
-
 
377
		if (currentTargetSlab == null) {
-
 
378
			if (other.currentTargetSlab != null)
-
 
379
				return false;
-
 
380
		} else if (!currentTargetSlab.equals(other.currentTargetSlab))
-
 
381
			return false;
-
 
382
		if (eligibleSale != other.eligibleSale)
-
 
383
			return false;
-
 
384
		if (endDate == null) {
-
 
385
			if (other.endDate != null)
-
 
386
				return false;
-
 
387
		} else if (!endDate.equals(other.endDate))
-
 
388
			return false;
-
 
389
		if (id != other.id)
-
 
390
			return false;
-
 
391
		if (baseCriteria != other.baseCriteria)
-
 
392
			return false;
-
 
393
		if (itemCriteria == null) {
-
 
394
			if (other.itemCriteria != null)
-
 
395
				return false;
-
 
396
		} else if (!itemCriteria.equals(other.itemCriteria))
-
 
397
			return false;
-
 
398
		if (itemCriteriaString == null) {
-
 
399
			if (other.itemCriteriaString != null)
-
 
400
				return false;
-
 
401
		} else if (!itemCriteriaString.equals(other.itemCriteriaString))
-
 
402
			return false;
-
 
403
		if (name == null) {
-
 
404
			if (other.name != null)
-
 
405
				return false;
-
 
406
		} else if (!name.equals(other.name))
-
 
407
			return false;
-
 
408
		if (nextTargetSlab == null) {
-
 
409
			if (other.nextTargetSlab != null)
-
 
410
				return false;
-
 
411
		} else if (!nextTargetSlab.equals(other.nextTargetSlab))
-
 
412
			return false;
-
 
413
		if (offerNotes == null) {
-
 
414
			if (other.offerNotes != null)
-
 
415
				return false;
-
 
416
		} else if (!offerNotes.equals(other.offerNotes))
-
 
417
			return false;
-
 
418
		if (partnerCriteria == null) {
-
 
419
			if (other.partnerCriteria != null)
-
 
420
				return false;
-
 
421
		} else if (!partnerCriteria.equals(other.partnerCriteria))
-
 
422
			return false;
-
 
423
		if (partnerCriteriaString == null) {
-
 
424
			if (other.partnerCriteriaString != null)
-
 
425
				return false;
-
 
426
		} else if (!partnerCriteriaString.equals(other.partnerCriteriaString))
-
 
427
			return false;
-
 
428
		if (payoutType != other.payoutType)
-
 
429
			return false;
-
 
430
		if (schemeType != other.schemeType)
-
 
431
			return false;
-
 
432
		if (Double.doubleToLongBits(sellinPercentage) != Double.doubleToLongBits(other.sellinPercentage))
-
 
433
			return false;
-
 
434
		if (startDate == null) {
-
 
435
			if (other.startDate != null)
-
 
436
				return false;
-
 
437
		} else if (!startDate.equals(other.startDate))
-
 
438
			return false;
-
 
439
		if (targetSlabs == null) {
-
 
440
			if (other.targetSlabs != null)
-
 
441
				return false;
-
 
442
		} else if (!targetSlabs.equals(other.targetSlabs))
-
 
443
			return false;
-
 
444
		if (targetType != other.targetType)
-
 
445
			return false;
-
 
446
		if (terms == null) {
-
 
447
			if (other.terms != null)
-
 
448
				return false;
-
 
449
		} else if (!terms.equals(other.terms))
-
 
450
			return false;
-
 
451
		return true;
-
 
452
	}
-
 
453
 
-
 
454
	@Override
-
 
455
	public int hashCode() {
-
 
456
		final int prime = 31;
-
 
457
		int result = 1;
-
 
458
		result = prime * result + ((activationBrands == null) ? 0 : activationBrands.hashCode());
-
 
459
		result = prime * result + (active ? 1231 : 1237);
-
 
460
		long temp;
-
 
461
		temp = Double.doubleToLongBits(brandShareTerms);
-
 
462
		result = prime * result + (int) (temp ^ (temp >>> 32));
-
 
463
		result = prime * result + ((createdOn == null) ? 0 : createdOn.hashCode());
-
 
464
		result = prime * result + ((currentTargetSlab == null) ? 0 : currentTargetSlab.hashCode());
-
 
465
		result = prime * result + eligibleSale;
-
 
466
		result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
-
 
467
		result = prime * result + id;
-
 
468
		result = prime * result + (baseCriteria ? 1231 : 1237);
-
 
469
		result = prime * result + ((itemCriteria == null) ? 0 : itemCriteria.hashCode());
-
 
470
		result = prime * result + ((itemCriteriaString == null) ? 0 : itemCriteriaString.hashCode());
-
 
471
		result = prime * result + ((name == null) ? 0 : name.hashCode());
-
 
472
		result = prime * result + ((offerNotes == null) ? 0 : offerNotes.hashCode());
-
 
473
		result = prime * result + ((partnerCriteria == null) ? 0 : partnerCriteria.hashCode());
-
 
474
		result = prime * result + ((payoutType == null) ? 0 : payoutType.hashCode());
-
 
475
		result = prime * result + ((schemeType == null) ? 0 : schemeType.hashCode());
-
 
476
		temp = Double.doubleToLongBits(sellinPercentage);
-
 
477
		result = prime * result + (int) (temp ^ (temp >>> 32));
-
 
478
		result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
-
 
479
		result = prime * result + ((targetSlabs == null) ? 0 : targetSlabs.hashCode());
-
 
480
		result = prime * result + ((targetType == null) ? 0 : targetType.hashCode());
-
 
481
		result = prime * result + ((terms == null) ? 0 : terms.hashCode());
-
 
482
		return result;
-
 
483
	}
-
 
484
 
-
 
485
	public boolean isWithinRange(LocalDateTime testDate) {
399
	public boolean isWithinRange(LocalDateTime testDate) {
486
		return !(testDate.isBefore(startDate) || testDate.isAfter(endDate));
400
		return !(testDate.isBefore(startDate) || testDate.isAfter(endDate));
487
	}
401
	}
488
}
402
}