package com.leromro.core.domain;

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 com.leromro.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

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

/**
 * 订单费用结算申请对象 l_order_settlement_application
 * 
 * @author lsd
 * @date 2025-05-13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("l_order_settlement_application")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "OrderSettlementApplication", description = "订单费用结算申请")
public class OrderSettlementApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    @TableField("order_id")
    @ApiModelProperty("订单id")
    private Long orderId;

    @TableField("applicant_type")
    @ApiModelProperty("结算申请方类型 1区域管理  2服务中心")
    private String applicantType;

    @TableField("applicant_id")
    @ApiModelProperty("结算申请者id（区域管理/服务中心id）")
    private Long applicantId;

    @TableField("amount")
    @ApiModelProperty("提现金额（元）")
    private BigDecimal amount;

    @TableField("application_user_id")
    @ApiModelProperty("申请用户id")
    private Long applicationUserId;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("application_time")
    @ApiModelProperty("申请时间")
    private Date applicationTime;

    @TableField("payee_method")
    @ApiModelProperty("收款方式 1银行卡")
    private String payeeMethod;

    @TableField("payee_account")
    @ApiModelProperty("收款账号")
    private String payeeAccount;

    @TableField("payee_bank_name")
    @ApiModelProperty("收款银行名称")
    private String payeeBankName;

    @TableField("payee_name")
    @ApiModelProperty("收款人姓名")
    private String payeeName;

    @TableField("payee_remark")
    @ApiModelProperty("收款申请备注")
    private String payeeRemark;

    @TableField("auditor_user_id")
    @ApiModelProperty("审核用户id")
    private Long auditorUserId;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("auditor_time")
    @ApiModelProperty("审核时间")
    private Date auditorTime;

    @TableField("auditor_status")
    @ApiModelProperty("审核状态 10审核中 20审核通过 30审核未通过")
    private String auditorStatus;

    @TableField("auditor_remark")
    @ApiModelProperty("审核结果说明")
    private String auditorRemark;


}
