//package cn.freemud.entities.dto;
//
//import cn.freemud.entities.dto.shoppingCart.SendPoint;
//import cn.freemud.entities.vo.SubtractStockVO;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//
//import java.util.Date;
//import java.util.List;
//import java.util.Map;
//import java.util.UUID;
//
//@Data
//public class ActivityCalculationDiscountResponseDto {
//
//    private Integer ver;
//
//    /**
//     * 状态码
//     */
//    private String statusCode;
//
//    /**
//     * 状态码描述
//     */
//    private String msg;
//
//    /**
//     * 优惠后运费
//     */
//    private Long distributionFee;
//
//    /**
//     * 集合外的为系统按照优先级计算出来的优惠信息
//     * ，calculationResults集合中的为多种优惠方案
//     * 计算出来的优惠信息列表，并按优惠力度倒序排列
//     */
//    private CalculationDiscountResult result;
//
//    @Data
//    public static class CalculationDiscountResult {
//        /**
//         * 原总价（分）
//         */
//        private Long originalTotalAmount;
//        /**
//         * 需支付金额（分）
//         */
//        private Long totalAmount;
//        /**
//         * 总优惠金额（分）
//         */
//        private Long totalDiscountAmount;
//        /**
//         * 总的优惠信息集合
//         */
//        private List<Discount> discounts;
//
//        /**
//         * 月享卡2.0优惠
//         */
//        private MonthCardDiscount monthlyEnjoyCardDiscount;
//
//        /**
//         * 商品优惠信息
//         */
//        private List<Goods> goods;
//        /**
//         * 赠送、换购商品信息集合
//         */
//        private List<SendActivity> sendGoods;
//        /**
//         * 满额赠券活动号列表
//         */
//        private List<String> sendCoupons;
//        /**
//         * 使用到的优惠券及优惠金额
//         */
//        private List<CouponResults> couponDiscounts;
//
//
//        /**
//         * 多种优惠方案计算出的优惠集合，并按优惠力度倒序排列
//         */
////        private List<CalculationResult> calculationResults;
//
//        List<ApportionGoods> apportionGoods;
//        /**
//         * 促销活动
//         */
//        List<ActivityPrompt> activityPrompts;
//
//        /**
//         * 校验后有效的商品券map
//         */
//        private Map<String, CheckSpqInfoResponseDto> validCouponMap;
//        /**
//         * 校验后有效的spqid对应的uuid
//         */
//        private Map<String, List<String>> spqIdToCartUuid;
//        /**
//         * 扣减库存
//         */
//        private List<SubtractStockVO> stocks;
//
//        /**
//         * 配送费
//         */
//        private Long deliveryAmount;
//
//        /**
//         * 优惠后 配送费
//         */
//        private Long distributionFee;
//        /**
//         * 麦咖啡，月卡金额
//         */
//        private Long payCardFee;
//
//        private SendPoint sendPointVo;
//
//        @Data
//        public static class MonthCardDiscount{
//            /**
//             * 月享卡2.0优惠总额
//             */
//            private Long discountAmount;
//            /**
//             * 月享卡券号
//             */
//            private String couponCode;
//            /**
//             * 券标识
//             */
//            private String couponLogo;
//            /**
//             * 优惠标识
//             */
//            private String discountLogo;
//            /**
//             * 优惠描述
//             */
//            private String discountDesc;
//        }
//
//
//        @Data
//        public static class ActivityPrompt {
//
//            /**
//             * 活动名称
//             */
//            private String acitivityName;
//            /**
//             * 活动号
//             */
//            private String activityCode;
//            /**
//             * 活动类型
//             */
//            private Integer activityType;
//            private Long discountAmout;
//            /**
//             * 门槛金额
//             */
//            private Long thresholdAmount;
//            private Long totalAmount;
//
//            private Integer totalQuantity;
//            /**
//             * 已经优惠金额
//             */
//            private Long alreadyDiscountAmount;
//            private Integer alreadyDiscountThresholdAmount;
//            private Integer activitySubType;
//            private List<SendGoods> sendGoods;
//
//            /**
//             * 优惠类型  3 根据件数满减
//             */
//            private Integer preferentialType;
//
//            /**
//             * 门槛件数
//             */
//            private Integer thresholdQuantity;
//
//            /**
//             * 门槛启用金额 满足多少钱，参与件数活动
//             */
//            private Integer invokeAmount;
//
//        }
//
//        @Data
//        public static class Discount {
//            /**
//             * 活动号
//             */
//            private String activityCode;
//            /**
//             * 活动名称
//             */
//            private String activityName;
//            /**
//             * 活动描述
//             */
//            private String activityDesc;
//            /**
//             * 每个活动优惠总金额（单位分）
//             */
//            private Integer discount;
//            /**
//             * 优惠类型：
//             * 1-整单满减
//             * 11-每满减
//             * 12-阶梯满减
//             * 2-单品特价
//             * 14-满额减配送费
//             * 21-单品折扣
//             * 3-优惠券
//             * 5-整单满金额折
//             * 51-每满金额折
//             * 52-阶梯满金额折
//             * 53-第M件/杯N折
//             * 6-买M赠N
//             * 7-满额赠券
//             * 8-满N件换购
//             * 81-满额换购
//             * 82-阶梯满数量打折
//             * 83-整单满数量打折
//             */
//            private Integer type;
//
//            private Long thresholdAmount;
//            /**
//             * 运费月卡入机字段
//             */
//            private String tenderId;
//            /**
//             *  1-运费券 2-运费月卡券 3-月卡券 4-万能券 5-啡常月享卡 6-通用券
//             */
//            private Integer extendType;
//
//            private SendPointDto sendPointVo;
//
//            private Date endTime;
//            /**
//             * 购物车商品行uid
//             */
//            private String cartGoodsUid;
//            private Boolean zeroDiscount;
//            private Integer integral;
//        }
//
//        @Data
//        public static class SendPointDto{
//            private String activityCode;
//            private Integer sendPoint;
//            private Integer maxNum;
//            private Integer exchangeNum;
//            private Integer validityDateDays;
//            private Boolean storeLevel;
//            private Integer isContinueExchange;
//        }
//
//        @Data
//        public static class Goods {
//
//            /**
//             * 购物车行记录
//             */
//            private String cartGoodsUid;
//            /**
//             * 商品id
//             */
//            private String goodsId;
//            /**
//             * 0 原购物车商品 1 赠送商品  2 换购商品
//             */
//            private Integer cartGoodType;
//            /**
//             * 商品数量
//             */
//            private Integer goodsQuantity;
//            /**
//             * 商品原价（分）
//             */
//            private Long originalPrice;
//            /**
//             * 商品现价（分）
//             */
//            private Long nowPrice;
//            /**
//             * 分摊到商品上的优惠总金额
//             */
//            private Long discountAmount;
//            /**
//             * 商品实付金额
//             */
//            private Long realAmount;
//            /**
//             * 实际优惠的商品数量
//             */
//            private Integer actualGoodsNumber;
//            private List<GoodsDiscount> discounts;
//
//            /**
//             * 活动键位编号
//             */
//            private String artNo;
//
//            /**
//             * 买一赠一时，存赠送主商品的cartGoodsUid用于标记是哪个商品赠送的
//             */
//            private String originalGoodsUid;
//
//            /**
//             * 小料节点
//             */
//            private List<GoodsMaterial> smallMaterial;
//
//            @Data
//            public static class GoodsDiscount {
//                /**
//                 * 活动号
//                 */
//                private String activityCode;
//                /**
//                 * 活动名称
//                 */
//                private String activityName;
//                /**
//                 * 活动描述
//                 */
//                private String activityDesc;
//
//                /**
//                 * 商品ID
//                 */
//                private String goodsId;
//                /**
//                 * 折扣金额
//                 */
//                private Long discount;
//
//                /**
//                 * 活动类型
//                 */
//                private Integer type;
//                /**
//                 * 当前活动实际优惠的商品数量
//                 */
//                private Integer actualGoodsNumber;
//            }
//
//            @Data
//            public static class GoodsMaterial{
//                /**
//                 * 子商品类型：1-小料；2-可选商品
//                 */
//                private Integer type;
//                /**
//                 * 小料商品ID
//                 */
//                private String goodsId;
//                /**
//                 * 小料数量
//                 */
//                private Integer goodsQuantity;
//                /**
//                 * 商品原价(单位：分)
//                 */
//                private Integer originalPrice;
//                /**
//                 * 商品现价(单位：分)
//                 */
//                private Integer nowPrice;
//                /**
//                 * 分摊到商品上的优惠总金额
//                 */
//                private Integer discountAmount;
//                /**
//                 * 商品实付金额
//                 */
//                private Integer realAmount;
//            }
//        }
//
//        @Data
//        public static class SendActivity {
//            /**
//             * 活动号
//             */
//            private String activityCode;
//            /**
//             * 活动名称
//             */
//            private String activityName;
//            /**
//             * 活动类型
//             */
//            private Integer activityType;
//            /**
//             * 可选赠送商品最大数量
//             */
//            private Integer maxNum;
//            /**
//             * 可选赠送商品最小数量
//             */
//            private Integer minNum;
//            /**
//             * 买M送N时，送ABC中选其中几个
//             */
//            private Integer sendKinds;
//            private List<SendGoods> sendGoods;
//
//            @Data
//            public static class SendGoods {
//                /**
//                 * 买一赠一时，存赠送主商品的cartGoodsUid 用于标记是那个商品送的
//                 */
//                private String originalGoodsUid;
//                /**
//                 * 赠送商品ID
//                 */
//                private String goodsId;
//                /**
//                 * 品类
//                 */
//                private String category;
//                /**
//                 * 赠送商品名称
//                 */
//                private String goodsName;
//                /**
//                 * 赠送商品现价（单位：分）（加价换购时表示需要加的价格）
//                 */
//                private Long nowPrice;
//                /**
//                 * 赠送商品原价
//                 */
//                private Long originalPrice;
//                /**
//                 * 赠送商品数量
//                 */
//                private Integer sendNumber;
//            }
//        }
//
//        @Data
//        public static class CouponResults {
//            /**
//             * 优惠券号
//             */
//            private String couponCode;
//            /**
//             * 优惠金额（单位分）
//             */
//            private Integer discountAmount;
//
//            private Integer activityType;
//
//            private String activityName;
//        }
//
//        @Data
//        public static class CalculationResult {
//            /**
//             * 原总价（分）
//             */
//            private Integer originalTotalAmount;
//            /**
//             * 需支付金额（分）
//             */
//            private Integer totalAmount;
//            /**
//             * 总优惠金额（分）
//             */
//            private Integer totalDiscountAmount;
//            /**
//             * 总的优惠信息集合
//             */
//            private List<Discount> discounts;
//
//            /**
//             * 商品优惠信息
//             */
//            private List<Goods> goods;
//
//            /**
//             * 赠送、换购商品信息集合
//             */
//            private List<SendActivity> sendGoods;
//        }
//
//        @Data
//        public static class ApportionGoods {
//
//            /**
//             * 商品id
//             */
//            private String goodsId;
//            /**
//             * 商品数量
//             */
//            private Integer goodsQuantity;
//            /**
//             * 商品原价（分）
//             */
//            private Long originalPrice;
//            /**
//             * 赠送商品现价（单位：分）（加价换购时表示需要加的价格）
//             */
//            private Long nowPrice;
//            /**
//             * 均摊金额
//             */
//            private Integer apportionAmount;
//
//            private List<ApportionDetails> apportionDetails;
//            private List<Material> smallMaterial;
//            /**
//             * 购物车行记录
//             */
//            private String cartGoodsUid;
//
//            @Data
//            public static class ApportionDetails {
//                /**
//                 * 活动code,如果是商品券，优惠券，放券code
//                 */
//                private String activityCode;
//                /**
//                 * 活动类型  ActivityTypeEnum 枚举，不能为空
//                 */
//                private Integer activityType;
//                /**
//                 * 活动名称，如果是商品券，优惠券，放券名称
//                 */
//                private String activityName;
//                /**
//                 * 特价价格 比如限时特价价格
//                 */
//                private Long goodsNowPrice;
//                /**
//                 * 折扣比率 百分比，非必传  有折扣活动
//                 */
//                private Long activityRebate;
//                /**
//                 * 促销类型  交易类促销  商品类促销  ApportionType
//                 */
//                private Integer apportionType;
//                /**
//                 * 活动均摊金额
//                 */
//                private Long activityApportionAmount;
//            }
//
//            @Data
//            @NoArgsConstructor
//            public static class Material {
//                /**
//                 * 均摊金额
//                 */
//                private Integer apportionAmount;
//                /**
//                 * 购物车行记录
//                 */
//                private String cartGoodsUid;
//
//                /**
//                 * 商品id
//                 */
//                private String goodsId;
//
//                /**
//                 * 商品数量
//                 */
//                private Integer goodsQuantity;
//
//                /**
//                 * 赠送商品现价（单位：分）（加价换购时表示需要加的价格）
//                 */
//                private Long nowPrice;
//
//                /**
//                 * 商品原价（分）
//                 */
//                private Long originalPrice;
//                private List<ApportionDetails> apportionDetails;
//
//            }
//        }
//        @Data
//        public static class SendGoods {
//            private String  goodsId;
//            private String  goodsName;
//            private Integer  sendNumber;
//            private String picture;
//            private Integer originalPrice;
//        }
//    }
//
//
//}
