package com.bonus.core.pay.common.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.JsonNode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@TableName("trade_record")
public class TradeRecord implements Serializable {
   private static final long serialVersionUID = 1L;
   @TableId(
      type = IdType.INPUT
   )
   private Long id;
   private Long relatedTradeId;
   private Long canteenId;
   private Long custId;
   private BigDecimal amount;
   private Integer tradeState;
   private Integer tradeType;
   private Integer payType;
   private Integer payChannel;
   private Integer sourceType;
   private String outTradeNo;
   private String tradeResult;
   private LocalDateTime tradeTime;
   private String remark;
   private JsonNode param;
   private JsonNode extParam;
   private LocalDateTime createTime;
   private LocalDateTime updateTime;

   public Long getId() {
      return this.id;
   }

   public Long getRelatedTradeId() {
      return this.relatedTradeId;
   }

   public Long getCanteenId() {
      return this.canteenId;
   }

   public Long getCustId() {
      return this.custId;
   }

   public BigDecimal getAmount() {
      return this.amount;
   }

   public Integer getTradeState() {
      return this.tradeState;
   }

   public Integer getTradeType() {
      return this.tradeType;
   }

   public Integer getPayType() {
      return this.payType;
   }

   public Integer getPayChannel() {
      return this.payChannel;
   }

   public Integer getSourceType() {
      return this.sourceType;
   }

   public String getOutTradeNo() {
      return this.outTradeNo;
   }

   public String getTradeResult() {
      return this.tradeResult;
   }

   public LocalDateTime getTradeTime() {
      return this.tradeTime;
   }

   public String getRemark() {
      return this.remark;
   }

   public JsonNode getParam() {
      return this.param;
   }

   public JsonNode getExtParam() {
      return this.extParam;
   }

   public LocalDateTime getCreateTime() {
      return this.createTime;
   }

   public LocalDateTime getUpdateTime() {
      return this.updateTime;
   }

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

   public void setRelatedTradeId(final Long relatedTradeId) {
      this.relatedTradeId = relatedTradeId;
   }

   public void setCanteenId(final Long canteenId) {
      this.canteenId = canteenId;
   }

   public void setCustId(final Long custId) {
      this.custId = custId;
   }

   public void setAmount(final BigDecimal amount) {
      this.amount = amount;
   }

   public void setTradeState(final Integer tradeState) {
      this.tradeState = tradeState;
   }

   public void setTradeType(final Integer tradeType) {
      this.tradeType = tradeType;
   }

   public void setPayType(final Integer payType) {
      this.payType = payType;
   }

   public void setPayChannel(final Integer payChannel) {
      this.payChannel = payChannel;
   }

   public void setSourceType(final Integer sourceType) {
      this.sourceType = sourceType;
   }

   public void setOutTradeNo(final String outTradeNo) {
      this.outTradeNo = outTradeNo;
   }

   public void setTradeResult(final String tradeResult) {
      this.tradeResult = tradeResult;
   }

   public void setTradeTime(final LocalDateTime tradeTime) {
      this.tradeTime = tradeTime;
   }

   public void setRemark(final String remark) {
      this.remark = remark;
   }

   public void setParam(final JsonNode param) {
      this.param = param;
   }

   public void setExtParam(final JsonNode extParam) {
      this.extParam = extParam;
   }

   public void setCreateTime(final LocalDateTime createTime) {
      this.createTime = createTime;
   }

   public void setUpdateTime(final LocalDateTime updateTime) {
      this.updateTime = updateTime;
   }

}
