Subversion Repositories SmartDukaan

Rev

Rev 33213 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.entity.transaction;

import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
import in.shop2020.model.v1.order.TransactionStatus;

import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * This class basically contains transaction details
 * 
 * @author ashikali
 *
 */
@Entity
@Table(name = "transaction.transaction")
@NamedQueries({
        @NamedQuery(name = "Transaction.selectCount", query = "select count(t) from Transaction t"),
        @NamedQuery(name = "Transaction.selectCountByRetailerId", query = "select count(t) from Transaction t where t.retailerId = :retailerId"),
        @NamedQuery(name="Transaction.selectAll", query="select t from Transaction t"),
        //and t.status in (1,2,4,5,6)
        @NamedQuery(name = "Transaction.selectIdsByRetailerId", query = "select t.id from Transaction t where t.retailerId = :retailerId and t.status != 0 order by t.id desc"),
        @NamedQuery(
                        name = "Transaction.selectByIds", 
                        query = "select t.id, t.createTimestamp, o.retailerAddress1, o.retailerAddress2, o.retailerCity, "
                                        + "o.retailerPinCode, o.retailerState, o.shippingCost, o.statusDescription, o.invoiceNumber, o.airwayBillNumber, o.totalAmount, li.brand, li.modelName, "
                                        + "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 "
                                        + "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 and o.status not in(0,1) order by t.id desc")
        })

public class Transaction implements Serializable{
        
        private static final long serialVersionUID = 1L;
        
        public Transaction() {
        }
        
        @Id
        @Column(name="id", unique=true, updatable=false)
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;
        
        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "createdOn")
        private LocalDateTime createTimestamp;
        
        @Enumerated(EnumType.ORDINAL)
        @Column(name = "status")
        private TransactionStatus status;
        
        @Column(name = "status_message", length = 100)
        private String statusMessage;
        
        @Column(name = "customer_id")
        private int retailerId;
        
        @Column(name = "shopping_cart_id")
        private int shoppingCartId;
        
        @Column(name = "coupon_code", length = 20)
        private String couponCode;
        
        @Column(name = "session_source", length = 100)
        private String sessionSource;
        
        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "session_start_time")
        private LocalDateTime sessionStateTime;
        
        @Column(name = "first_source")
        private String firstSource;
        
        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "first_source_start_time")
        private LocalDateTime firstSourceStateTime;
        
        @Column(name = "totalShippingCost")
        private float totalShippingCost;
        
        @Column(name = "totalCodCharges")
        private float totalCodCharges;
        
        @Column(name = "payment_option")
        private int paymentOption;

        @Column(name = "createdBy")
        private int createdBy;

        @Column(name = "addId", length = 10)
        private int addId;

        public void setAddId(int addId) {
                this.addId = addId;
        }

        public int getAddId() {
                return addId;
        }

        public int getCreatedBy() {
                return createdBy;
        }

        public void setCreatedBy(int createdBy) {
                this.createdBy = createdBy;
        }
        public int getId() {
                return id;
        }
        public void setId(int id) {
                this.id = id;
        }
        public LocalDateTime getCreateTimestamp() {
                return createTimestamp;
        }
        public void setCreateTimestamp(LocalDateTime createTimestamp) {
                this.createTimestamp = createTimestamp;
        }
        public TransactionStatus getStatus() {
                return status;
        }
        public void setStatus(TransactionStatus status) {
                this.status = status;
        }
        public String getStatusMessage() {
                return statusMessage;
        }
        public void setStatusMessage(String statusMessage) {
                this.statusMessage = statusMessage;
        }
        public int getRetailerId() {
                return retailerId;
        }
        public void setRetailerId(int retailerId) {
                this.retailerId = retailerId;
        }
        public int getShoppingCartId() {
                return shoppingCartId;
        }
        public void setShoppingCartId(int shoppingCartId) {
                this.shoppingCartId = shoppingCartId;
        }
        public String getCouponCode() {
                return couponCode;
        }
        public void setCouponCode(String couponCode) {
                this.couponCode = couponCode;
        }
        public String getSessionSource() {
                return sessionSource;
        }
        public void setSessionSource(String sessionSource) {
                this.sessionSource = sessionSource;
        }
        public LocalDateTime getSessionStateTime() {
                return sessionStateTime;
        }
        public void setSessionStateTime(LocalDateTime sessionStateTime) {
                this.sessionStateTime = sessionStateTime;
        }
        public String getFirstSource() {
                return firstSource;
        }
        public void setFirstSource(String firstSource) {
                this.firstSource = firstSource;
        }
        public LocalDateTime getFirstSourceStateTime() {
                return firstSourceStateTime;
        }
        public void setFirstSourceStateTime(LocalDateTime firstSourceStateTime) {
                this.firstSourceStateTime = firstSourceStateTime;
        }
        public float getTotalShippingCost() {
                return totalShippingCost;
        }
        public void setTotalShippingCost(float totalShippingCost) {
                this.totalShippingCost = totalShippingCost;
        }
        public float getTotalCodCharges() {
                return totalCodCharges;
        }
        public void setTotalCodCharges(float totalCodCharges) {
                this.totalCodCharges = totalCodCharges;
        }
        public int getPaymentOption() {
                return paymentOption;
        }
        public void setPaymentOption(int paymentOption) {
                this.paymentOption = paymentOption;
        }
        
        
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + id;
                return result;
        }
        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                Transaction other = (Transaction) obj;
                if (id != other.id)
                        return false;
                return true;
        }
        @Override
        public String toString() {
                return "Transaction [createTimestamp=" + createTimestamp + ", status=" + status + ", statusMessage="
                                + statusMessage + ", retailerId=" + retailerId + ", shoppingCartId=" + shoppingCartId + ", couponCode="
                                + couponCode + ", sessionSource=" + sessionSource + ", sessionStateTime=" + sessionStateTime
                                + ", firstSource=" + firstSource + ", firstSourceStateTime=" + firstSourceStateTime
                                + ", totalShippingCost=" + totalShippingCost + ", totalCodCharges=" + totalCodCharges
                                + ", paymentOption=" + paymentOption + "]";
        }
        
    
}