package com.yc.ship.module.trade.controller.admin.order.vo.order;

import com.yc.ship.module.trade.framework.annotation.ForUpdate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class OrderTotalRespVO {

    /**
     * 成人总数
     */
    @Schema(description = "成人总数")
    private Integer adultTotalNum;
    /**
     * 儿童总数
     */
    @Schema(description = "儿童总数")
    private Integer childTotalNum;
    /**
     * 婴儿总数
     */
    @Schema(description = "婴儿总数")
    private Integer babyTotalNum;
    /**
     * 陪同总数
     */
    @Schema(description = "陪同总数")
    private Integer withTotalNum;

    /**
     * 领队数
     */
    @Schema(description = "领队数")
    private Integer leaderTotalNum;

    @Schema(description = "16免1人数")
    private Integer freeNum;

    @Schema(description = "订单总额")
    private BigDecimal orderMoney;

    @Schema(description = "总额")
    private BigDecimal realMoney;

    @Schema(description = "应收款")
    private BigDecimal payAmount;

    @Schema(description = "实收款")
    private BigDecimal realPayAmount;

    @Schema(description = "其它费用")
    private BigDecimal otherMoney;

    /**
     * 调节总价
     */
    @Schema(description = "调节总价")
    private BigDecimal adjustTotalMoney;

    @Schema(description = "销售折扣金额")
    private BigDecimal discountAmount;

    @Schema(description = "陪同总价")
    private BigDecimal withTotalNumMoney;

    /**
     * 领队费用
     */
    @Schema(description = "领队费用")
    private BigDecimal leaderTotalMoney;

    @Schema(description = "16免1金额")
    private BigDecimal freeAmount;

    /**
     * 包含服务费
     */
    @Schema(description = "包含服务费")
    private BigDecimal serviceMoney;

    /**
     * 升楼层总数
     */
    @Schema(description = "升楼层总数")
    private Integer upFloorTotalNum;
    /**
     * 升楼层总价
     */
    @Schema(description = "升楼层总价")
    private BigDecimal upFloorTotalMoney;
    /**
     * 总加床人数
     */
    @Schema(description = "总加床人数")
    private Integer plusTotalNum;
    /**
     * 代收服务费
     */
    @Schema(description = "代收服务费")
    private BigDecimal collectionServiceMoney;
    //order
    @Schema(description = "定金")
    private BigDecimal deposi;


    @Schema(description = "受损金额")
    private BigDecimal damaged;

    @Schema(description = "补缴费金额")
    private BigDecimal  supplementAmount;

    @Schema(description = "取消状态 0：初始 1：已提交取消 2：取消成功")
    private Integer damagedStatus;

    @Schema(description = "取消提交时间")
    private LocalDateTime damagedTime;

    @Schema(description = "总房数")
    private BigDecimal totalRoomNum;

    @Schema(description = "总加床数")
    private BigDecimal totalAddBedNum;
    //order
    @Schema(description = "实收款房数")
    private BigDecimal totalPayedRoomNum;

    //order
    @Schema(description = "未收款房数")
    private BigDecimal totalNotPayRoomNum;

    @Schema(description = "拼男数")
    private Integer halfManNum;

    @Schema(description = "拼女数")
    private Integer halfWomenNum;

    @Schema(description = "总拼数")
    private Integer totalHalfNum;

    @Schema(description = "陪同男数")
    private Integer withManNum;

    @Schema(description = "陪同女数")
    private Integer withWomenNum;

    @Schema(description = "领队男数")
    private Integer leaderManNum;

    @Schema(description = "领队女数")
    private Integer leaderWomenNum;

    @Schema(description = "房型信息")
    private List<OrderTotalRoomModelVO> roomModelList;

    @Schema(description = "国家信息")
    private List<OrderTotalCountryVO> countryList;

    @Schema(description = "增值服务信息")
    private List<OrderTotalSpuVO> spuList;

    @Schema(description = "政策信息")
    private List<OrderTotalPolicyVO> policyList;





}
