package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.domain.vo.StoreOperatOutput;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * posstore对象 pos_store
 *
 * @author ruoyi
 * @date 2023-05-14
 */
@Data
@TableName(value = "pos_store")
@EqualsAndHashCode(callSuper = false)
public class PosStore
{
    private static final long serialVersionUID = 1L;


    /**  */
    @TableId(type = IdType.AUTO)
    @GeneratedValue
    private Integer id;

    /** 名称 */
    @Excel(name = "名称")
    private String posName;

    /** 店封面 */
    @Excel(name = "店封面")
    private String image;

    /** logo */
    private String logo;

    /** 菜單照片（图片URL，多张逗号分隔） */
    @Excel(name = "菜單照片")
    private String menuPhoto;

    /** 起送价 */
    @Excel(name = "起送价")
    private String posPrice;

    /** 所在地区 */
    @Excel(name = "所在地区")
    private String area;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 简介 */
    @Excel(name = "简介")
    private String briefIntroduction;

    /** 类型 */
    @Excel(name = "类型")
    private Long type;

    /** 卫生许可 */
    @Excel(name = "卫生许可")
    private String hygienePermit;

    /** 上传证件 */
    @Excel(name = "上传证件")
    private String hygieneLicence;

    /** 开始营业 */
    @Excel(name = "开始营业")
    private  String openBusiness;

    /** 结束营业 */
    @Excel(name = "结束营业")
    private  String windingUp;

    /** 分类 */
    @Excel(name = "分类")
    private String sort;

    /** 所属用户id */
    @Excel(name = "所属用户id")
    private Long userId;

    /** 距离 */
    @Excel(name = "距离")
    @TableField(exist = false)
    private Long juli;

    /** 创建时间 */
    @JsonProperty   //可查询，写入忽略
    @Excel(name = "创建时间")
    private LocalDateTime cretim;

    /** 至顶推广时间 */
    @Excel(name = "至顶推广时间")
    private String zhitsj;

    /** 推广排序 */
    @Excel(name = "推广排序")
    private Long tgpaixv;

    /** 状态 */
    @Excel(name = "状态")
    private Long state;

    /** 下架 */
    @Excel(name = "下架")
    private String offShelf;

    /** 服务类型 */
    @Excel(name = "服务类型")
    private String serverType;

    /** 客服电话 */
    @Excel(name = "客服电话")
    private String telephone;

    /** 是否摊位 0=店铺 1=摊位 */
    @Excel(name = "是否摊位")
    private Integer isStall;

    /** 是否关联夜市 */
    @Excel(name = "是否关联夜市")
    private Integer isNightMarket;

    /** 夜市id */
    @Excel(name = "夜市id")
    private Long nightMarketId;

    /** 是否免用发票:0需开票/1免用发票 */
    @Excel(name = "是否免用发票", readConverterExp = "0=需开票,1=免用发票")
    private Integer invoiceExempt;

    /** 用户名 */
    @Excel(name = "用户名")
    private transient String userName;

    /** 评分 */
    @Excel(name = "评分")
    private transient Double pingf;

    /** 月售订单数量 */
    @Excel(name = "订单数量")
    private transient Long ddsl;

    /** 营业时间 */
    @TableField(exist = false)
    private List<StoreOperatOutput> businessHours;

    /** 是否在营业中 */
    @TableField(exist = false)
    private Boolean isOperating;

    /** 统一编号(统编)：非 pos_store 列，实存于 pos_store_ezpay.ubn；随 addmendian 保存、随列表回显 */
    @TableField(exist = false)
    private String ubn;

    /** 删除标志（0代表存在 1代表删除） */
    @TableLogic
    private String delFlag;

}
