package shop.alien.entity.store.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import shop.alien.entity.store.LifeCoupon;
import shop.alien.entity.store.StoreBusinessInfo;
import shop.alien.entity.store.StoreInfo;
import shop.alien.entity.store.StoreStaffConfig;

import java.util.List;
import java.util.Map;

@EqualsAndHashCode(callSuper = true)
@Data
@JsonInclude
@NoArgsConstructor
@ApiModel(value = "StoreInfoVo对象", description = "商家信息")
public class StoreInfoVo extends StoreInfo {

    @ApiModelProperty(value = "主键")
    private Integer id;

    @ApiModelProperty(value = "商户ID")
    private Integer storeId;

    @ApiModelProperty(value = "商家名称")
    private String storeName;

    @ApiModelProperty(value = "商家头像")
    private String imgUrl;

    @ApiModelProperty(value = "商家入口图")
    private String entranceImage;

    @ApiModelProperty(value = "联系人")
    private String storeContact;

    @ApiModelProperty(value = "联系人电话")
    private String storePhone;

    @ApiModelProperty(value = "联系人身份证号")
    private String idCard;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "门店状态字符串")
    private String storeStatusStr;

    @ApiModelProperty(value = "营业状态字符串")
    private String businessStatusStr;

    @ApiModelProperty(value = "门店状态字符串")
    private String storeTypeStr;

    @ApiModelProperty(value = "商家评分")
    private double score;

    @ApiModelProperty(value = "是否连锁, 0:否, 1:是")
    private Integer isChain;

    @ApiModelProperty(value = "门店类型(1:中餐, 2:烧烤, 3:饮品, 4:甜点, 5:火锅, 6:宵夜, 7:西餐, 8:轻食, 9:水果)")
    private List<String> storeTypeList;

    @ApiModelProperty(value = "门店坐标经度")
    private String storePositionLongitude;

    @ApiModelProperty(value = "门店坐标纬度")
    private String storePositionLatitude;

    @ApiModelProperty(value = "token")
    private String token;

    private double distance;

    private String dishName;

    @ApiModelProperty(value = "门店简介")
    private String storeBlurb;

    @ApiModelProperty(value = "门店过期状态（0：已到期，1：未到期）")
    private String expiredState;

    @ApiModelProperty(value = "经营板块id(词典表 键为 business_section)")
    private Integer businessSection;

    @ApiModelProperty(value = "用户账号")
    private String userAccount;

    @ApiModelProperty(value = "经营种类集合")
    private List<String> businessTypesList;

    @ApiModelProperty(value = "营业执照图片地址")
    private List<String> businessLicenseAddress;

    @ApiModelProperty(value = "营业执照图片地址")
    private List<String> contractImageList;

    @ApiModelProperty(value = "续签合同图片地址")
    private List<String> renewContractImageList;

    @ApiModelProperty(value = "过期天数")
    private Long daysToExpire;

    @ApiModelProperty(value = "前端查询集合Label")
    private String Label;

    @ApiModelProperty(value = "前端查询集合Value")
    private Integer value;

    @ApiModelProperty(value = "营业状态, 见字典表 businessStatus")
    private Integer businessStatus;

    @ApiModelProperty(value = "平均得分")
    private String avgScore;

    @ApiModelProperty(value = "人均消费")
    private String avgPrice;

    @ApiModelProperty(value = "总评论数")
    private String totalNum;

    @ApiModelProperty(value = "优惠券列表")
    private List quanList;

    @ApiModelProperty(value = "营业时间")
    private List<String> openTime;

    @ApiModelProperty(value = "最近地铁站名")
    private String subwayName;

    @ApiModelProperty(value = "最近地铁站距离")
    private double distance2;

    @ApiModelProperty(value = "是否收藏")
    private Integer collection;

    @ApiModelProperty(value = "优惠券列表")
    private List<LifeCouponVo> couponList;

    @ApiModelProperty(value = "团购套餐列表")
    private List<LifeGroupBuyMainVo> tuangouList;

    @ApiModelProperty(value = "员工列表")
    private List<StoreStaffConfig> employeeList;

    @ApiModelProperty(value = "该用户是否在该店铺打过卡")
    private Integer clockInStore;

    @ApiModelProperty(value = "该用户是否在该店铺打过卡")
    private Integer clockInStoreToday;

    @ApiModelProperty(value = "该用户在该店铺打卡次数")
    private Integer clockInStoreNum;

    @ApiModelProperty(value = "该用户打卡的所有哦店铺次数")
    private Integer clockInNum;

    @ApiModelProperty(value = "该用户在该店铺的动态")
    private List<LifeUserDynamicsVo> dynamicsList;

    @ApiModelProperty(value = "该用户在该店铺的动态总数")
    private Integer totalDynamicsNum;

    private StoreBusinessInfo storeBusinessInfo;

    @ApiModelProperty(value = "是否营业中(0否1是)")
    private Integer yyFlag;

    @ApiModelProperty(value = "验证码")
    private String verificationCode;

    private List<Map<String, Object>> quanMapList;

    private String storeClockInCount;

}
