package cn.iocoder.yudao.module.identity.controller.admin.scanrecord.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;

/**
* 扫码记录 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class ScanRecordBaseVO {

    @ApiModelProperty(value = "生码记录id", required = true)
    @NotNull(message = "生码记录id不能为空")
    private String generateRecordId;

    @ApiModelProperty(value = "二维码url ", required = true)
    @NotNull(message = "二维码url 不能为空")
    private String identityUrl;

    @ApiModelProperty(value = "相关批次ID", required = true)
    @NotNull(message = "相关批次ID不能为空")
    private String batchId;

    @ApiModelProperty(value = "商品id", required = true)
    @NotNull(message = "商品id不能为空")
    private String goodsId;

    @ApiModelProperty(value = "商品名称", required = true)
    @NotNull(message = "商品名称不能为空")
    private String goodsName;

    @ApiModelProperty(value = "扫码IP")
    private String scanIp;

    @ApiModelProperty(value = "类型： 0：采收批次", required = true)
    @NotNull(message = "类型： 0：采收批次不能为空")
    private Integer batchType;

    @ApiModelProperty(value = "扫码地区")
    private String scanArea;

    @ApiModelProperty(value = "扫码时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT")
    private Date scanTime;

    @ApiModelProperty(value = "扫码地点")
    private String scanLocation;

    @ApiModelProperty(value = "所属商户id", required = true)
    @NotNull(message = "所属商户id不能为空")
    private Long belongBusinessId;

    @ApiModelProperty(value = "所属商户名称", required = true)
    @NotNull(message = "所属商户名称不能为空")
    private String belongBusinessName;

}
