Subversion Repositories SmartDukaan

Rev

Rev 33795 | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

import com.spice.profitmandi.common.enumuration.UpgradeOfferPaymentStatus;

import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.Objects;

@Entity
@Table(name = "catalog.upgrade_offer")
@NamedQueries({
        @NamedQuery(name = "UpgradeOffer.selectUpgradeOfferGroupByYearMonth", query = "select new com.spice.profitmandi.dao.model.PendingPaymentUpgradeOfferModel(" +
                " sum(cast(coi.schemePayout as long)),cast(fo.fofoId as int), u.name, uo.paymentStatus,uo.customerOfferItemId, DATE_FORMAT(uo.createdTimestamp, '%m-%Y')) " +
                " from UpgradeOffer uo" +
                " JOIN CustomerOfferItem coi on uo.customerOfferItemId = coi.id" +
                " JOIN FofoOrder fo on fo.id = uo.orderId" +
                " JOIN userUser u on u.id = fo.fofoId" +
                " where fo.fofoId = (:fofoId) and uo.paymentStatus = :status and uo.createdTimestamp >= :startDate" +
                " group by DATE_FORMAT(uo.createdTimestamp, '%m-%Y')"),

//        @NamedQuery(name = "UpgradeOffer.selectUpgradeOfferBeforeSixMonth", query = "select new com.spice.profitmandi.dao.model.PendingPaymentUpgradeOfferModel(" +
//                " sum(coi.schemePayout),fo.fofoId, u.name, uo.paymentStatus,uo.customerOfferItemId, DATE_FORMAT(uo.createdTimestamp, '%m-%Y')) " +
//                " from UpgradeOffer uo" +
//                " JOIN CustomerOfferItem coi on uo.customerOfferItemId = coi.id" +
//                " JOIN FofoOrder fo on fo.id = uo.orderId" +
//                " JOIN userUser u on u.id = fo.fofoId" +
//                " where fo.fofoId = (:fofoId) and uo.paymentStatus = 'PENDING' and uo.createdTimestamp <= :endDate ")
})
public class UpgradeOffer {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "order_id")
    private int orderId;

    @Column(name = "item_id")
    private int itemId;

    @Column(name = "serial_number")
    private String serialNumber;

    @Column(name = "customer_offer_item_id")
    private int customerOfferItemId;

    @Column(name = "created_timestamp")
    private LocalDateTime createdTimestamp;

    @Column(name = "payment_status")
    private UpgradeOfferPaymentStatus paymentStatus;

    @Column(name = "status_description")
    private String statusDescription;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getOrderId() {
        return orderId;
    }

    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }

    public String getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }

    public int getCustomerOfferItemId() {
        return customerOfferItemId;
    }

    public void setCustomerOfferItemId(int customerOfferItemId) {
        this.customerOfferItemId = customerOfferItemId;
    }

    public LocalDateTime getCreatedTimestamp() {
        return createdTimestamp;
    }

    public void setCreatedTimestamp(LocalDateTime createdTimestamp) {
        this.createdTimestamp = createdTimestamp;
    }

    public int getItemId() {
        return itemId;
    }

    public void setItemId(int itemId) {
        this.itemId = itemId;
    }

    public UpgradeOfferPaymentStatus getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(UpgradeOfferPaymentStatus paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public String getStatusDescription() {
        return statusDescription;
    }

    public void setStatusDescription(String statusDescription) {
        this.statusDescription = statusDescription;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        UpgradeOffer that = (UpgradeOffer) o;
        return id == that.id && orderId == that.orderId && itemId == that.itemId && customerOfferItemId == that.customerOfferItemId && Objects.equals(serialNumber, that.serialNumber) && Objects.equals(createdTimestamp, that.createdTimestamp) && paymentStatus == that.paymentStatus && Objects.equals(statusDescription, that.statusDescription);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, orderId, itemId, serialNumber, customerOfferItemId, createdTimestamp, paymentStatus, statusDescription);
    }

    @Override
    public String toString() {
        return "UpgradeOffer{" +
                "id=" + id +
                ", orderId=" + orderId +
                ", itemId=" + itemId +
                ", serialNumber='" + serialNumber + '\'' +
                ", customerOfferItemId=" + customerOfferItemId +
                ", createdTimestamp=" + createdTimestamp +
                ", paymentStatus=" + paymentStatus +
                ", statusDescription='" + statusDescription + '\'' +
                '}';
    }
}