package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseNoDeleteDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 建行支付账单记录 DO
 *
 * @author 系统管理员
 */
@TableName("elderly_ccb_pay_order_record")
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyCcbPayOrderRecordDO {

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 账单id
     */
    @Schema(description = "账单id")
    private Long expenseOrderId;

    /**
     * 账单月
     */
    @Schema(description = "账单月")
    private String billingMonth;

    /**
     * 支付时间
     */
    @Schema(description = "支付时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = "GMT+8")
    private Date payTime;

    /**
     * 金额
     */
    @Schema(description = "金额")
    private BigDecimal payAmount;

    /**
     * 机构id
     */
    @Schema(description = "机构id")
    private Long tenantId;

    /**
     * 长者姓名（联表字段）
     */
    @TableField(exist = false)
    private String elderName;
}
