Subversion Repositories SmartDukaan

Rev

Rev 24402 | Rev 26679 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
22600 ashik.ali 1
package com.spice.profitmandi.dao.entity.catalog;
2
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
22859 ashik.ali 5
import java.time.format.DateTimeFormatter;
23339 ashik.ali 6
import java.util.HashMap;
22859 ashik.ali 7
import java.util.HashSet;
23339 ashik.ali 8
import java.util.Map;
22859 ashik.ali 9
import java.util.Set;
22600 ashik.ali 10
 
11
import javax.persistence.Column;
12
import javax.persistence.Convert;
13
import javax.persistence.Entity;
23297 ashik.ali 14
import javax.persistence.EnumType;
15
import javax.persistence.Enumerated;
22600 ashik.ali 16
import javax.persistence.GeneratedValue;
17
import javax.persistence.GenerationType;
18
import javax.persistence.Id;
19
import javax.persistence.Table;
22859 ashik.ali 20
import javax.persistence.Transient;
22600 ashik.ali 21
 
22
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
25503 amit.gupta 23
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
23527 ashik.ali 24
import com.spice.profitmandi.dao.enumuration.catalog.AmountType;
22653 ashik.ali 25
import com.spice.profitmandi.dao.enumuration.catalog.SchemeType;
22600 ashik.ali 26
 
27
/**
28
 * This class basically contains scheme details
29
 * 
30
 * @author ashikali
31
 *
32
 */
33
@Entity
25503 amit.gupta 34
@Table(name = "catalog.scheme", schema = "catalog")
35
public class Scheme implements Serializable {
36
 
37
	public PartnerType getPartnerType() {
38
		return partnerType;
39
	}
40
 
41
	public void setPartnerType(PartnerType partnerType) {
42
		this.partnerType = partnerType;
43
	}
44
 
22600 ashik.ali 45
	private static final long serialVersionUID = 1L;
25503 amit.gupta 46
 
22600 ashik.ali 47
	public Scheme() {
48
	}
25503 amit.gupta 49
 
22600 ashik.ali 50
	@Id
25503 amit.gupta 51
	@Column(name = "id")
22600 ashik.ali 52
	@GeneratedValue(strategy = GenerationType.IDENTITY)
53
	private int id;
25503 amit.gupta 54
 
22653 ashik.ali 55
	@Column(name = "name")
56
	private String name;
25503 amit.gupta 57
 
22653 ashik.ali 58
	@Column(name = "description")
59
	private String description;
25503 amit.gupta 60
 
22653 ashik.ali 61
	@Column(name = "type")
23297 ashik.ali 62
	@Enumerated(EnumType.STRING)
22653 ashik.ali 63
	private SchemeType type;
25503 amit.gupta 64
 
22600 ashik.ali 65
	@Column(name = "amount_type")
23297 ashik.ali 66
	@Enumerated(EnumType.STRING)
23527 ashik.ali 67
	private AmountType amountType;
25503 amit.gupta 68
 
22600 ashik.ali 69
	@Column(name = "amount")
70
	private float amount;
25503 amit.gupta 71
 
22600 ashik.ali 72
	@Convert(converter = LocalDateTimeAttributeConverter.class)
23019 ashik.ali 73
	@Column(name = "start_date_time")
74
	private LocalDateTime startDateTime = LocalDateTime.now();
25503 amit.gupta 75
 
22600 ashik.ali 76
	@Convert(converter = LocalDateTimeAttributeConverter.class)
23019 ashik.ali 77
	@Column(name = "end_date_time")
78
	private LocalDateTime endDateTime = LocalDateTime.now();
25503 amit.gupta 79
 
22608 ashik.ali 80
	@Convert(converter = LocalDateTimeAttributeConverter.class)
22600 ashik.ali 81
	@Column(name = "create_timestamp")
22859 ashik.ali 82
	private LocalDateTime createTimestamp = LocalDateTime.now();
25503 amit.gupta 83
 
22653 ashik.ali 84
	@Convert(converter = LocalDateTimeAttributeConverter.class)
85
	@Column(name = "active_timestamp")
86
	private LocalDateTime activeTimestamp = null;
25503 amit.gupta 87
 
22653 ashik.ali 88
	@Convert(converter = LocalDateTimeAttributeConverter.class)
22702 ashik.ali 89
	@Column(name = "expire_timestamp")
22653 ashik.ali 90
	private LocalDateTime expireTimestamp = null;
25503 amit.gupta 91
 
22600 ashik.ali 92
	@Column(name = "created_by")
93
	private int createdBy;
25503 amit.gupta 94
 
22859 ashik.ali 95
	@Transient
96
	private Set<Integer> retailerIds = new HashSet<>();
25503 amit.gupta 97
 
98
	@Column(name="partner_type")
99
	@Enumerated(EnumType.STRING)
100
	private PartnerType partnerType;
101
 
22859 ashik.ali 102
	@Transient
23339 ashik.ali 103
	private Map<Integer, String> itemStringMap = new HashMap<>();
25503 amit.gupta 104
 
22600 ashik.ali 105
	public int getId() {
106
		return id;
107
	}
25503 amit.gupta 108
 
22600 ashik.ali 109
	public void setId(int id) {
110
		this.id = id;
111
	}
25503 amit.gupta 112
 
22653 ashik.ali 113
	public String getName() {
114
		return name;
22600 ashik.ali 115
	}
25503 amit.gupta 116
 
22653 ashik.ali 117
	public void setName(String name) {
118
		this.name = name;
22600 ashik.ali 119
	}
25503 amit.gupta 120
 
22653 ashik.ali 121
	public String getDescription() {
122
		return description;
22600 ashik.ali 123
	}
25503 amit.gupta 124
 
22653 ashik.ali 125
	public void setDescription(String description) {
126
		this.description = description;
22600 ashik.ali 127
	}
25503 amit.gupta 128
 
22653 ashik.ali 129
	public SchemeType getType() {
130
		return type;
131
	}
25503 amit.gupta 132
 
22653 ashik.ali 133
	public void setType(SchemeType type) {
134
		this.type = type;
135
	}
25503 amit.gupta 136
 
137
	@Override
138
	public String toString() {
139
		return "Scheme [id=" + id + ", name=" + name + ", description=" + description + ", type=" + type
140
				+ ", amountType=" + amountType + ", amount=" + amount + ", startDateTime=" + startDateTime
141
				+ ", endDateTime=" + endDateTime + ", createTimestamp=" + createTimestamp + ", activeTimestamp="
142
				+ activeTimestamp + ", expireTimestamp=" + expireTimestamp + ", createdBy=" + createdBy
143
				+ ", retailerIds=" + retailerIds + ", partnerType=" + partnerType + ", itemStringMap=" + itemStringMap
144
				+ "]";
145
	}
146
 
23527 ashik.ali 147
	public AmountType getAmountType() {
22600 ashik.ali 148
		return amountType;
149
	}
25503 amit.gupta 150
 
23527 ashik.ali 151
	public void setAmountType(AmountType amountType) {
22600 ashik.ali 152
		this.amountType = amountType;
153
	}
25503 amit.gupta 154
 
22600 ashik.ali 155
	public float getAmount() {
156
		return amount;
157
	}
25503 amit.gupta 158
 
22600 ashik.ali 159
	public void setAmount(float amount) {
160
		this.amount = amount;
161
	}
25503 amit.gupta 162
 
23019 ashik.ali 163
	public LocalDateTime getStartDateTime() {
164
		return startDateTime;
22600 ashik.ali 165
	}
25503 amit.gupta 166
 
23019 ashik.ali 167
	public void setStartDateTime(LocalDateTime startDateTime) {
168
		this.startDateTime = startDateTime;
22600 ashik.ali 169
	}
25503 amit.gupta 170
 
23019 ashik.ali 171
	public LocalDateTime getEndDateTime() {
172
		return endDateTime;
22653 ashik.ali 173
	}
25503 amit.gupta 174
 
23019 ashik.ali 175
	public void setEndDateTime(LocalDateTime endDateTime) {
176
		this.endDateTime = endDateTime;
22653 ashik.ali 177
	}
25503 amit.gupta 178
 
22859 ashik.ali 179
	public LocalDateTime getCreateTimestamp() {
180
		return createTimestamp;
22600 ashik.ali 181
	}
25503 amit.gupta 182
 
22859 ashik.ali 183
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
184
		this.createTimestamp = createTimestamp;
22600 ashik.ali 185
	}
25503 amit.gupta 186
 
22600 ashik.ali 187
	public int getCreatedBy() {
188
		return createdBy;
189
	}
25503 amit.gupta 190
 
22600 ashik.ali 191
	public void setCreatedBy(int createdBy) {
192
		this.createdBy = createdBy;
193
	}
25503 amit.gupta 194
 
22653 ashik.ali 195
	public LocalDateTime getActiveTimestamp() {
196
		return activeTimestamp;
22600 ashik.ali 197
	}
25503 amit.gupta 198
 
22653 ashik.ali 199
	public void setActiveTimestamp(LocalDateTime activeTimestamp) {
200
		this.activeTimestamp = activeTimestamp;
22600 ashik.ali 201
	}
25503 amit.gupta 202
 
22653 ashik.ali 203
	public LocalDateTime getExpireTimestamp() {
204
		return expireTimestamp;
205
	}
25503 amit.gupta 206
 
22653 ashik.ali 207
	public void setExpireTimestamp(LocalDateTime expireTimestamp) {
208
		this.expireTimestamp = expireTimestamp;
209
	}
25503 amit.gupta 210
 
211
	public String getFormattedStartDateTime() {
212
		if (startDateTime == null) {
22859 ashik.ali 213
			return null;
214
		}
24402 amit.gupta 215
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
23019 ashik.ali 216
		return startDateTime.format(formatter);
25503 amit.gupta 217
	}
218
 
219
	public String getFormattedEndDateTime() {
220
		if (endDateTime == null) {
22859 ashik.ali 221
			return null;
222
		}
24402 amit.gupta 223
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
23019 ashik.ali 224
		return endDateTime.format(formatter);
25503 amit.gupta 225
	}
226
 
227
	public String getFormattedCreateTimestamp() {
228
		if (createTimestamp == null) {
22859 ashik.ali 229
			return null;
230
		}
24402 amit.gupta 231
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
22859 ashik.ali 232
		return createTimestamp.format(formatter);
25503 amit.gupta 233
	}
234
 
235
	public String getFormattedActiveTimestamp() {
236
		if (activeTimestamp == null) {
22859 ashik.ali 237
			return null;
238
		}
24402 amit.gupta 239
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
22859 ashik.ali 240
		return activeTimestamp.format(formatter);
25503 amit.gupta 241
	}
242
 
243
	public String getFormattedExpireTimestamp() {
244
		if (expireTimestamp == null) {
22859 ashik.ali 245
			return null;
246
		}
24402 amit.gupta 247
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
22859 ashik.ali 248
		return expireTimestamp.format(formatter);
25503 amit.gupta 249
	}
250
 
22859 ashik.ali 251
	public Set<Integer> getRetailerIds() {
252
		return retailerIds;
253
	}
25503 amit.gupta 254
 
22859 ashik.ali 255
	public void setRetailerIds(Set<Integer> retailerIds) {
256
		this.retailerIds = retailerIds;
257
	}
25503 amit.gupta 258
 
259
	public String getRetailerIdsString() {
22859 ashik.ali 260
		Set<String> stringRetailerIds = new HashSet<>();
25503 amit.gupta 261
		if (!retailerIds.isEmpty()) {
262
			for (int retailerId : retailerIds) {
22859 ashik.ali 263
				stringRetailerIds.add(String.valueOf(retailerId));
264
			}
265
		}
266
		return String.join(", ", stringRetailerIds);
267
	}
25503 amit.gupta 268
 
23339 ashik.ali 269
	public Map<Integer, String> getItemStringMap() {
270
		return itemStringMap;
22859 ashik.ali 271
	}
25503 amit.gupta 272
 
23339 ashik.ali 273
	public void setItemStringMap(Map<Integer, String> itemStringMap) {
274
		this.itemStringMap = itemStringMap;
22859 ashik.ali 275
	}
25503 amit.gupta 276
 
277
	/*
278
	 * public String getItemIdsString(){ Set<String> stringItemIds = new
279
	 * HashSet<>(); if(!itemIds.isEmpty()){ for(int itemId : itemIds){
280
	 * stringItemIds.add(String.valueOf(itemId)); } } return String.join(", ",
281
	 * stringItemIds); }
282
	 */
283
 
22600 ashik.ali 284
	@Override
285
	public int hashCode() {
286
		final int prime = 31;
287
		int result = 1;
288
		result = prime * result + id;
289
		return result;
290
	}
25503 amit.gupta 291
 
22600 ashik.ali 292
	@Override
293
	public boolean equals(Object obj) {
294
		if (this == obj)
295
			return true;
296
		if (obj == null)
297
			return false;
298
		if (getClass() != obj.getClass())
299
			return false;
300
		Scheme other = (Scheme) obj;
301
		if (id != other.id)
302
			return false;
303
		return true;
304
	}
25503 amit.gupta 305
 
22600 ashik.ali 306
}