/*
 * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.bean.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yami.shop.common.serializer.json.ImgJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Data
public class ShopDetailDto {

	@NotBlank(message="店铺名称不能为空")
	@ApiModelProperty(value = "店铺名称(数字、中文，英文(可混合，不可有特殊字符)，可修改)、不唯一")
	@Size(max = 50,message = "商品名称长度应该小于{max}")
    private String shopName;

	@Size(max = 200,message = "店铺简介长度应该小于{max}")
	@ApiModelProperty(value = "店铺简介(可修改)")
    private String intro;

	@ApiModelProperty(value = "店铺联系电话")
	@NotBlank(message="店铺联系电话不能为空")
	@Size(max = 20,message = "店铺公告长度应该小于{max}")
    private String tel;

	@ApiModelProperty(value = "店铺详细地址")
	@NotBlank(message="店铺详细地址不能为空")
	@Size(max = 100,message = "店铺公告长度应该小于{max}")
    private String shopAddress;

	@ApiModelProperty(value = "店铺所在省份（描述）")
	@NotBlank(message="店铺所在省份不能为空")
	@Size(max = 10,message = "店铺所在省份长度应该小于{max}")
    private String province;

	@ApiModelProperty(value = "店铺所在省份Id")
	@NotNull(message="店铺所在省份Id不能为空")
	private Long provinceId;

	@ApiModelProperty(value = "店铺所在城市（描述）")
	@NotBlank(message="店铺所在城市不能为空")
	@Size(max = 10,message = "店铺所在城市长度应该小于{max}")
    private String city;

	@ApiModelProperty(value = "店铺所在城市Id")
	private Long cityId;

	@ApiModelProperty(value = "店铺所在区域（描述）")
	@NotBlank(message="店铺所在区域不能为空")
	@Size(max = 10,message = "店铺所在省份区域长度应该小于{max}")
    private String area;

	@ApiModelProperty(value = "店铺所在区域Id")
	private Long areaId;

	@NotBlank(message="店铺logo不能为空")
	@ApiModelProperty(value = "店铺logo")
	@Size(max = 200,message = "店铺logo长度应该小于{max}")
	@JsonSerialize(using = ImgJsonSerializer.class)
    private String shopLogo;

	@ApiModelProperty(value = "店铺相册")
	@Size(max = 1000,message = "店铺相册长度应该小于{max}")
    private String shopPhotos;

	@ApiModelProperty(value = "营业执照")
	@Size(max = 200,message = "营业执照长度应该小于{max}")
	@JsonSerialize(using = ImgJsonSerializer.class)
	private String businessLicense;

	@ApiModelProperty(value = "身份证正面")
	@Size(max = 200,message = "身份证正面长度应该小于{max}")
	@JsonSerialize(using = ImgJsonSerializer.class)
	private String identityCardFront;

	@ApiModelProperty(value = "身份证反面")
	@Size(max = 200,message = "身份证反面长度应该小于{max}")
	@JsonSerialize(using = ImgJsonSerializer.class)
	private String identityCardLater;

	@ApiModelProperty(value = "店铺所在纬度")
	@NotBlank(message="店铺所在纬度不能为空")
	private String shopLat;

	@ApiModelProperty(value = "店铺所在经度")
	@NotBlank(message="店铺所在经度不能为空")
	private String shopLng;
}
