package com.ms.api.dto.order;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.Data;

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

@Data
public class DsPurchaseSettingDTO {

    /**
     * 当检测到采购单修改物流单号后，尝试自动替换对应订单的物流单号
     */
    private int isPurchaseLogisticsUpdateToPlatform;

    /**
     * right_now|logistics_accept|disabled
     */
    private String deliveryTimeType;

    /**
     * 是否开启自动付款
     */
    private int isAutoPay;

    /**
     * 是否开启自动采购
     */
    private int isAutoPurchase;

    /**
     * 延迟自动采购时间【单位分钟】
     */
    private Integer delayPurchaseMinute;

    /**
     * 是否开启利润少于多少禁止自动采购
     */
    private int isUseForbiddenPurchaseProfit;

    /**
     * 当利润低于多少，禁止自动采购
     */
    private BigDecimal forbiddenPurchaseProfit;

    /**
     * 是否使用关键词禁止采购
     */
    private int isUseForbiddenKeywords;

    /**
     * 禁止采购的关键词
     */
    private String forbiddenKeywords;

    /**
     * 是否所有商品支持自动采购
     */
    private int isUseAllProduct;

    /**
     * 指定商品自动采购
     */
    private int isUsePartProduct;

    /**
     * 隔离订单是否禁止采购
     */
    private int isForbidIsolationPurchase;

    /**
     * 数据创建时间
     */
    private Date gmtCreate;

    /**
     * 数据修改时间
     */
    private Date gmtModified;

    /**
     * 自动采购首次开启时间
     */
    @JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)
    private Date gmtIsAutoPurchase;

    /**
     * 要过滤自动采购的商品
     */
    @JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)
    private Map<Long, FilterAutoPurchaseProductDTO> filterAutoPurchaseProducts;

    /**
     * 允许自动采购的商品
     */
    @JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)
    private Map<Long, AllowAutoPurchaseProductDTO> allowAutoPurchaseProducts;

}
