package com.njzscloud.dispose.goods.pojo.param;

import com.njzscloud.dispose.finance.constant.ExpenseItemCategory;
import com.njzscloud.dispose.finance.constant.ExpenseStrategy;
import com.njzscloud.dispose.finance.constant.Unit;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 产品
 *
 * @author ljw
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class AddGoodsParam {

    /**
     * 产品类型 Id
     */
    private Long goodsCategoryId;

    /**
     * 产品名称
     */
    private String goodsName;

    /**
     * 规格
     */
    private String specParams;

    /**
     * 图片
     */
    private String picture;

    /**
     * 计量单位；字典代码：unit
     */
    private Unit unit;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否可用；0-->否、1-->是
     */
    private Boolean canuse;

    /**
     * 备注
     */
    private String memo;

    /**
     * 付费配置
     */
    private ExpenseItem expenseItem;

    @Getter
    @Setter
    @ToString
    @Accessors(chain = true)
    public static class ExpenseItem {

        /**
         * 收费项目类型，QiTa-->其他、ChanPin-->产品、YunFei-->运费
         */
        private ExpenseItemCategory expenseItemCategory;

        /**
         * 计费策略；字典代码：expense_strategy
         */
        private ExpenseStrategy expenseStrategy;

        /**
         * 计量单位；字典代码：unit
         */
        private Unit unit;

        /**
         * 税率
         */
        private BigDecimal taxRate;

        /**
         * 单价；单位：元，弹性模式-->每档价格
         */
        private BigDecimal unitPrice;

        /**
         * 起步价；单位：元，<= 起步量 固定费用
         */
        private BigDecimal initialPrice;

        /**
         * 起步量
         */
        private Integer initialQuantity;

        /**
         * 每档的量
         */
        private Integer everyQuantity;

        /**
         * 备注
         */
        private String memo;
    }
}


