Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21716 ashik.ali 1
package com.spice.profitmandi.dao.entity.transaction;
21545 ashik.ali 2
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
5
 
6
import javax.persistence.Column;
22009 ashik.ali 7
import javax.persistence.Convert;
21545 ashik.ali 8
import javax.persistence.Entity;
21819 amit.gupta 9
import javax.persistence.EnumType;
10
import javax.persistence.Enumerated;
21545 ashik.ali 11
import javax.persistence.GeneratedValue;
12
import javax.persistence.GenerationType;
13
import javax.persistence.Id;
14
import javax.persistence.NamedQueries;
15
import javax.persistence.NamedQuery;
16
import javax.persistence.Table;
17
 
22009 ashik.ali 18
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
19
 
21716 ashik.ali 20
import in.shop2020.model.v1.order.TransactionStatus;
21545 ashik.ali 21
 
22
/**
23
 * This class basically contains transaction details
24
 * 
25
 * @author ashikali
26
 *
27
 */
28
@Entity
29
@Table(name="transaction.transaction", schema = "transaction")
30
@NamedQueries({
31
	@NamedQuery(name = "Transaction.selectCount", query = "select count(t) from Transaction t"),
32
	@NamedQuery(name = "Transaction.selectCountByRetailerId", query = "select count(t) from Transaction t where t.retailerId = :retailerId"),
33
	@NamedQuery(name="Transaction.selectAll", query="select t from Transaction t"),
21809 amit.gupta 34
	//and t.status in (1,2,4,5,6)
35
	@NamedQuery(name="Transaction.selectById", query="select t from Transaction t where t.id= :id"),
22013 amit.gupta 36
	@NamedQuery(name = "Transaction.selectIdsByRetailerId", query = "select t.id from Transaction t where t.retailerId = :retailerId and t.status != 0 order by t.id desc"),
21545 ashik.ali 37
	@NamedQuery(
38
			name = "Transaction.selectByIds", 
39
			query = "select t.id, t.createTimestamp, o.retailerAddress1, o.retailerAddress2, o.retailerCity, "
40
					+ "o.retailerPinCode, o.retailerState, o.shippingCost, o.statusDescription, o.invoiceNumber, o.airwayBillNumber, o.totalAmount, li.brand, li.modelName, "
22420 ashik.ali 41
					+ "li.modelNumber, li.color, li.quantity, li.unitPrice, p.id, p.name, o.shippingTimestamp, o.status, o.promisedDeliveryTime, o.retailerName, t.status, i.catalogItemId  from Transaction t join Order o on o.transactionId = t.id "
42
					+ "join LineItem li on li.orderId = o.id left join Provider p on p.id = o.logisticsProviderId join Item i on i.id = li.itemId where t.id in :ids order by t.id desc")
21545 ashik.ali 43
	})
44
 
45
public class Transaction implements Serializable{
46
 
47
	private static final long serialVersionUID = 1L;
48
 
49
	public Transaction() {
50
	}
51
 
52
	@Id
53
	@Column(name="id", unique=true, updatable=false)
54
	@GeneratedValue(strategy = GenerationType.IDENTITY)
55
	private int id;
56
 
22009 ashik.ali 57
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21545 ashik.ali 58
	@Column(name = "createdOn")
59
	private LocalDateTime createTimestamp;
60
 
21819 amit.gupta 61
	@Enumerated(EnumType.ORDINAL)
21545 ashik.ali 62
	@Column(name = "status")
63
	private TransactionStatus status;
64
 
65
	@Column(name = "status_message", length = 100)
66
	private String statusMessage;
67
 
68
	@Column(name = "customer_id")
69
	private int retailerId;
70
 
71
	@Column(name = "shopping_cart_id")
72
	private int shoppingCartId;
73
 
74
	@Column(name = "coupon_code", length = 20)
75
	private String couponCode;
76
 
77
	@Column(name = "session_source", length = 100)
78
	private String sessionSource;
79
 
22009 ashik.ali 80
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21545 ashik.ali 81
	@Column(name = "session_start_time")
82
	private LocalDateTime sessionStateTime;
83
 
84
	@Column(name = "first_source")
85
	private String firstSource;
86
 
22009 ashik.ali 87
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21545 ashik.ali 88
	@Column(name = "first_source_start_time")
89
	private LocalDateTime firstSourceStateTime;
90
 
91
	@Column(name = "totalShippingCost")
92
	private float totalShippingCost;
93
 
94
	@Column(name = "totalCodCharges")
95
	private float totalCodCharges;
96
 
97
	@Column(name = "payment_option")
98
	private int paymentOption;
99
 
100
	public int getId() {
101
		return id;
102
	}
103
	public void setId(int id) {
104
		this.id = id;
105
	}
106
 
107
 
108
	public LocalDateTime getCreateTimestamp() {
109
		return createTimestamp;
110
	}
111
	public void setCreateTimestamp(LocalDateTime createTimestamp) {
112
		this.createTimestamp = createTimestamp;
113
	}
114
	public TransactionStatus getStatus() {
115
		return status;
116
	}
117
	public void setStatus(TransactionStatus status) {
118
		this.status = status;
119
	}
120
	public String getStatusMessage() {
121
		return statusMessage;
122
	}
123
	public void setStatusMessage(String statusMessage) {
124
		this.statusMessage = statusMessage;
125
	}
126
	public int getRetailerId() {
127
		return retailerId;
128
	}
129
	public void setRetailerId(int retailerId) {
130
		this.retailerId = retailerId;
131
	}
132
	public int getShoppingCartId() {
133
		return shoppingCartId;
134
	}
135
	public void setShoppingCartId(int shoppingCartId) {
136
		this.shoppingCartId = shoppingCartId;
137
	}
138
	public String getCouponCode() {
139
		return couponCode;
140
	}
141
	public void setCouponCode(String couponCode) {
142
		this.couponCode = couponCode;
143
	}
144
	public String getSessionSource() {
145
		return sessionSource;
146
	}
147
	public void setSessionSource(String sessionSource) {
148
		this.sessionSource = sessionSource;
149
	}
150
	public LocalDateTime getSessionStateTime() {
151
		return sessionStateTime;
152
	}
153
	public void setSessionStateTime(LocalDateTime sessionStateTime) {
154
		this.sessionStateTime = sessionStateTime;
155
	}
156
	public String getFirstSource() {
157
		return firstSource;
158
	}
159
	public void setFirstSource(String firstSource) {
160
		this.firstSource = firstSource;
161
	}
162
	public LocalDateTime getFirstSourceStateTime() {
163
		return firstSourceStateTime;
164
	}
165
	public void setFirstSourceStateTime(LocalDateTime firstSourceStateTime) {
166
		this.firstSourceStateTime = firstSourceStateTime;
167
	}
168
	public float getTotalShippingCost() {
169
		return totalShippingCost;
170
	}
171
	public void setTotalShippingCost(float totalShippingCost) {
172
		this.totalShippingCost = totalShippingCost;
173
	}
174
	public float getTotalCodCharges() {
175
		return totalCodCharges;
176
	}
177
	public void setTotalCodCharges(float totalCodCharges) {
178
		this.totalCodCharges = totalCodCharges;
179
	}
180
	public int getPaymentOption() {
181
		return paymentOption;
182
	}
183
	public void setPaymentOption(int paymentOption) {
184
		this.paymentOption = paymentOption;
185
	}
186
 
21924 ashik.ali 187
 
21545 ashik.ali 188
	@Override
21924 ashik.ali 189
	public int hashCode() {
190
		final int prime = 31;
191
		int result = 1;
192
		result = prime * result + id;
193
		return result;
194
	}
195
	@Override
196
	public boolean equals(Object obj) {
197
		if (this == obj)
198
			return true;
199
		if (obj == null)
200
			return false;
201
		if (getClass() != obj.getClass())
202
			return false;
203
		Transaction other = (Transaction) obj;
204
		if (id != other.id)
205
			return false;
206
		return true;
207
	}
208
	@Override
21545 ashik.ali 209
	public String toString() {
210
		return "Transaction [createTimestamp=" + createTimestamp + ", status=" + status + ", statusMessage="
211
				+ statusMessage + ", retailerId=" + retailerId + ", shoppingCartId=" + shoppingCartId + ", couponCode="
212
				+ couponCode + ", sessionSource=" + sessionSource + ", sessionStateTime=" + sessionStateTime
213
				+ ", firstSource=" + firstSource + ", firstSourceStateTime=" + firstSourceStateTime
214
				+ ", totalShippingCost=" + totalShippingCost + ", totalCodCharges=" + totalCodCharges
215
				+ ", paymentOption=" + paymentOption + "]";
216
	}
217
 
218
 
219
}