BasketInvoicePaymentEntity.java
package sk.iway.iwcm.components.basket.jpa;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import sk.iway.iwcm.system.datatable.DataTableColumnType;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumn;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditor;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditorAttr;
@Entity
@Table(name="basket_invoice_payments")
@Getter
@Setter
public class BasketInvoicePaymentEntity implements Serializable {
@Id
@Column(name="payment_id")
@GeneratedValue(strategy = GenerationType.IDENTITY, generator="S_basket_invoice_payments")
@DataTableColumn(inputType = DataTableColumnType.ID, title="ID")
private Long id;
@ManyToOne
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
@JsonBackReference(value="paymentsBasketInvoice")
@JoinColumn(name="invoice_id", insertable = false, updatable = false)
BasketInvoiceEntity paymentsBasketInvoice;
@Column(name="invoice_id")
@DataTableColumn(inputType = DataTableColumnType.HIDDEN)
Long invoiceId;
@Column(name="create_date")
@Temporal(TemporalType.TIMESTAMP)
@DataTableColumn(
inputType = DataTableColumnType.DATE,
title="components.basket.invoice.date"
)
private Date createDate;
@Column(name="payment_method")
@DataTableColumn(
inputType = DataTableColumnType.SELECT,
title="[[#{components.basket.invoice.payment_method}]]",
editor = {
@DataTableColumnEditor(
options = {
@DataTableColumnEditorAttr(key = "components.basket.order_form.cash_on_delivery", value = "cash_on_delivery"),
@DataTableColumnEditorAttr(key = "components.basket.order_form.money_transfer", value = "money_transfer")
}
)
}
)
private String paymentMethod;
@Column(name="payed_price")
@DataTableColumn(
inputType = DataTableColumnType.NUMBER,
renderFormat = "dt-format-number--decimal",
title="components.basket.admin_invoices_detail.suma"
)
private BigDecimal payedPrice;
@Column(name="closed_date")
@Temporal(TemporalType.TIMESTAMP)
@DataTableColumn(
inputType = DataTableColumnType.DATETIME,
title="",
visible = false,
hidden = true,
hiddenEditor = true
)
private Date closedDate;
@Column(name="confirmed")
private Boolean confirmed;
}