package com.qs.mp.channel.domain.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.qs.mp.channel.domain.ChannelGoods;
import com.qs.mp.common.enums.ChannelGoodsSettleStatusTypeEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zhangkaikai
 * @create 2023-06-07 3:50 PM
 **/
@ApiModel("门店采购商品结算出参类")
@Data
public class ChannelGoodsSettleVO {


    @ApiModelProperty("订单号")
    private String orderId;

    @ApiModelProperty("门店采购商品id")
    private Long channelGoodsId;

    @ApiModelProperty("下单时间")
    private Date createdTime;

    @ApiModelProperty("门店名称")
    private String channelName;

    @ApiModelProperty("门店手机号")
    private String mobile;

    @ApiModelProperty("手机号")
    private String tel;

    @ApiModelProperty("总库存")
    private Integer totalQuantity;

    @ApiModelProperty("总已核销")
    private Integer totalVerifyQty;

    @ApiModelProperty("总剩余库存")
    private Integer totalRemainQty;

    @ApiModelProperty("总采购成本")
    private Integer totalPurchaseCost;

    @ApiModelProperty("结算库存")
    private Integer totalSettleQty;

    @ApiModelProperty("状态 1未结算 2已结算 3已结算 4核销完成")
    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
    private ChannelGoodsSettleStatusTypeEnum status;

    @ApiModelProperty("门店库存管理结算明细")
    List<ChannelGoods> items;

    @ApiModelProperty("支付金额")
    private Integer payAmount;

    @ApiModelProperty("发起时间")
    private Date pushTime;

    @ApiModelProperty("结算时间")
    private Date settleTime;
}
