package shop.alien.entity.second.vo;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import shop.alien.entity.second.SecondTradeRecord;

import java.math.BigDecimal;
import java.util.List;

@Data
@JsonInclude
@NoArgsConstructor
@ApiModel(value = "SecondTradeRecordVo对象", description = "二手商品交易vo")
public class SecondTradeRecordVo extends SecondTradeRecord {

    @ApiModelProperty(value = "分页页数")
    private Integer pageNum;

    @ApiModelProperty(value = "分页条数")
    private Integer pageSize;

    @ApiModelProperty(value = "买方姓名")
    private String buyerName;

    @ApiModelProperty(value = "买方联系方式")
    private String buyerPhone;

    @ApiModelProperty(value = "卖方姓名")
    private String sellerName;

    @ApiModelProperty(value = "卖方联系方式")
    private String sellerPhone;

    @ApiModelProperty(value = "商品标题")
    private String title;

    @ApiModelProperty(value = "用户id")
    private Integer userId;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户电话")
    private String userPhone;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "商品封面图片")
    private String homeImage;

    @ApiModelProperty(value = "商品价格（元，保留小数后两位）")
    private BigDecimal price;

    @ApiModelProperty(value = "用户交易状态  0-未确认  1-交易成功  2-交易失败")
    private Integer userTransactionStatus;

    @ApiModelProperty(value = "用户交易评价")
    private String userEvaluate;

    @ApiModelProperty(value = "用户交易评分")
    private Integer userRating;

    @ApiModelProperty(value = "当前时间是否超过交易时间  0-否  1-是")
    private String timeOutFlag;

    @ApiModelProperty(value = "商品标签")
    private String goodsLabel;

    @ApiModelProperty(value = "交易流程")
    private List<JSONObject> operationJsonList;

    @ApiModelProperty(value = "商品信息")
    private SecondGoodsVo goodsInfo;

    @ApiModelProperty(value = "委托人ID")
    private Integer entrustId;

    @ApiModelProperty(value = "委托人电话")
    private String entrustUserPhone;

    @ApiModelProperty(value = "委托人姓名")
    private String entrustUserName;

    @ApiModelProperty(value = "委托人身份证")
    private String entrustIdCard;

    @ApiModelProperty(value = "委托人身份证图片")
    private String entrustIdCardImg;
}
