package com.czg.print;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 经营日报
 * @author Administrator
 */
@Data
@Accessors(chain = true)
public class DayReportPrintDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 统计时间
     */
    private String statisticsTime;

    /**
     * 营业额
     */
    private BusinessSts turnover;
    /**
     * 收入来源
     * 原价统计金额
     */
    private Income sourceIncome;
    /**
     * 实收统计
     * 实际收入统计金额
     *
     */
    private Income actualIncome;

    /**
     * 优惠统计
     */
    private DiscountSts discountSta;

    /**
     * 营业统计
     */
    @Data
    @Accessors(chain = true)
    public static class BusinessSts {
        /**
         * 订单原价总额
         */
        private BigDecimal originAmount;
        /**
         * 营业额
         */
        private BigDecimal turnover;
        /**
         * 优惠金额
         */
        private BigDecimal discountAmount;
        /**
         * 订单总数
         */
        private Long orderCount;
        /**
         * 折前单均价
         * 订单原价总额/订单数量（含退款）
         */
        private BigDecimal averageOrderAmount;
        /**
         * 折后单均价
         * 营业额/订单数量（含退款）
         */
        private BigDecimal averageTurnover;
        /**
         * 退款金额
         */
        private BigDecimal refundAmount;
        /**
         * 退款订单数
         */
        private Long refundOrderCount;
    }


    /**
     * 收入统计类
     */
    @Data
    @Accessors(chain = true)
    public static class Income {
        /**
         * 现金收款
         */
        private BigDecimal cash;
        /**
         * 微信支付金额
         */
        private BigDecimal wechat;
        /**
         * 支付宝支付金额
         */
        private BigDecimal alipay;
        /**
         * 美团团购
         */
        private BigDecimal meituan;
        /**
         * 抖音团购
         */
        private BigDecimal douyin;
        /**
         * 其他
         */
        private BigDecimal other;


        /**
         * 二维码收款
         */
        private BigDecimal selfScan;
        /**
         * 扫码收款
         */
        private BigDecimal barScan;

        /**
         * 充值
         */
        private BigDecimal recharge;

        /**
         * 挂账
         */
        private BigDecimal owed;

        /**
         * 余额支付
         */
        private BigDecimal balance;
    }

    /**
     * 数据统计 类
     */
    @Data
    @Accessors(chain = true)
    public static class DiscountSts {
        /**
         * 新客立减
         */
        private BigDecimal newConsumerDiscount;

        /**
         * 霸王餐
         */
        private BigDecimal freeCashAmount;

        /**
         * 满减活动
         */
        private BigDecimal fullMinusAmount;

        /**
         * 优惠券
         */
        private BigDecimal couponAmount;

        /**
         * 会员折扣
         */
        private BigDecimal memberDiscount;

        /**
         * 积分抵扣金额
         */
        private BigDecimal pointsDiscountAmount;

        /**
         * 订单改价
         */
        private BigDecimal orderDiscount;
    }
}
