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

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 颐康中心长者费用变动记录 DO
 *
 * @author 系统管理员
 */
@TableName("yk_elderly_expense_record")
@KeySequence("yk_elderly_expense_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class YkElderlyExpenseRecordDO{

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 类型，1.充值 2.消费 3.退款
     */
    private Integer type;
    /**
     * 费用类型，1.余额  2.工费
     */
    private Integer expenseType;
    /**
     * 颐康长者ID
     */
    private Long ykElderId;
    /**
     * 金额
     */
    private BigDecimal amount;
    /**
     * 余额
     */
    private BigDecimal balance;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 支付方式
     */
    private String payType;
    /**
     * 市就餐补贴（元）
     */
    private BigDecimal citySubsidy;
    /**
     * 市送餐补贴
     */
    private BigDecimal cityDeliverySubsidy;
    /**
     * 区补贴（元）
     */
    private BigDecimal districtSubsidy;
    /**
     * 区慈善会补贴（元）
     */
    private BigDecimal districtCharitySubsidy;
    /**
     * 街道补贴（元）
     */
    private BigDecimal streetSubsidy;
    /**
     * 街道慈善会补贴（元）
     */
    private BigDecimal streetCharitySubsidy;
    /**
     * 总补贴金额（不含运营补贴）
     */
    private BigDecimal totalSubsidyWithoutOperation;
    /**
     * 运营补贴
     */
    private BigDecimal operationSubsidyForElderly;
    /**
     * 自费金额
     */
    private BigDecimal selfPaidAmount;
    /**
     * 消费前余额
     */
    private BigDecimal consumptionBefore;
    /**
     * 消费后余额
     */
    private BigDecimal consumptionAfter;
    /**
     * 导入时间
     */
    private LocalDateTime importTime;
    /**
     * 用餐时段
     */
    private String mealPeriod;
    /**
     * 就餐时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime mealTime;
    /**
     * 消费总金额
     */
    private BigDecimal totalConsumptionAmount;

    /**
     * 流水号
     */
    private String serialNum;
    /**
     * 补贴类型
     */
    private String subsidyType;
    /**
     * 用餐类型
     */
    private String mealType;
    /**
     * 套餐名称
     */
    private String comboName;
    /**
     * 订单状态
     */
    private String orderStatus;
    /**
     * 消费时间
     */
    private LocalDateTime consumptionTime;
    /**
     * 确认状态
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createdTime;

    private Long tenantId;


}