package com.yuchen.saas.parking.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.List;

/**
 * @ClassName PmgBatParkParking
 * @Description 停车场信息表
 * @Author 张逸飞
 * @Date 2022年11月9日 17:39:13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "停车场信息表", description = "停车场信息表")
@TableName("pmg_bat_park_parking")
public class PmgBatParkParking extends TenantEntity {

    /**
     * 园区id
     */
    @ApiModelProperty(name = "parkId",value = "园区id")
    private String parkId;
    /**
     * 停车场名字
     */
    @ApiModelProperty(name = "name",value = "停车场名字")
    private String name;
    /**
     * 停车场父id
     */
    @ApiModelProperty(name = "parentId",value = "停车场父id")
    private String parentId;
    /**
     * 停车场省市区
     */
    @ApiModelProperty(name = "area",value = "停车场省市区")
    private String area;
    /**
     * 停车场省市区code
     */
    @ApiModelProperty(name = "areaCode",value = "停车场省市区code")
    private String areaCode;
    /**
     * 停车场地址
     */
    @ApiModelProperty(name = "address",value = "停车场地址")
    private String address;
    /**
     * 停车位总数
     */
    @ApiModelProperty(name = "totalPlace",value = "停车位总数")
    private Integer totalPlace;
    /**
     * 固定车位总数
     */
    @ApiModelProperty(name = "totalPermPlace",value = "固定车位总数")
    private Integer totalPermPlace;
    /**
     * 临时车位总数
     */
    @ApiModelProperty(name = "totalTemporaryPlace",value = "临时车位总数")
    private Integer totalTemporaryPlace;

    /**
     * 开放固定车位总数
     */
    @ApiModelProperty(name = "openTotalPermPlace",value = "开放固定车位总数")
    private Integer openTotalPermPlace;

    /**
     * 开放临停车位总数
     */
    @ApiModelProperty(name = "openTotalTemporaryPlace",value = "开放临停车位总数")
    private Integer openTotalTemporaryPlace;
    /**
     * 车场管理员姓名
     */
    @ApiModelProperty(name = "parkingManagerName",value = "车场管理员姓名")
    private String parkingManagerName;
    /**
     * 车场管理员电话
     */
    @ApiModelProperty(name = "parkingManagerPhone",value = "车场管理员电话")
    private String parkingManagerPhone;
    /**
     * 停车场公告信息
     */
    @ApiModelProperty(name = "announcement",value = "停车场公告信息")
    private String announcement;
    /**
     * 菜单加载层级区分 | 无parentid : 1| 有parentid : 2
     */
    @ApiModelProperty(name = "menuType",value = "菜单加载层级区分 | 无parentid : 1| 有parentid : 2")
    private Integer menuType;

    /**
     * 是否开启测试：默认为false
     */
    @ApiModelProperty(name = "isTestEnable",value = "是否开启测试")
    private String isTestEnable;

    /**
     * 开启测试车牌号:已逗号分割
     */
    @ApiModelProperty(name = "isTestPlateNo",value = "开启测试车牌号")
    private String isTestPlateNo;

    @ApiModelProperty(name = "operator", value = "运营商id（nest_customer_manage表主键）")
    private Long operator;
    @ApiModelProperty(name = "operatorName", value = "运营商名")
    private String operatorName;
    @ApiModelProperty(name = "orgType", value = "机构类型 1:单位；2：企业；3：个体户；4：个人；5：其他")
    private Integer orgType;
    @ApiModelProperty(name = "parkType", value = "场地类型(1:地面车场,2:地库车场,3:建筑车场,4:其他)")
    private Integer parkType;

    /**
     * 地理坐标X
     */
    @ApiModelProperty(name = "coordX", value = "地理坐标X")
    private Double coordX;
    /**
     * 地理坐标Y
     */
    @ApiModelProperty(name = "coordY", value = "地理坐标Y")
    private Double coordY;

    @ApiModelProperty(name = "parkingPhoto", value = "停车场配图（多张，号隔开）")
    private String parkingPhoto;

    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    @ApiModelProperty(name = "operateStatus", value = "运营状态（1：未运营，2：运营中）")
    private Integer operateStatus;

    @ApiModelProperty(name = "enableCharging", value = "是否开通收费")
    private Boolean enableCharging;
    @ApiModelProperty(name = "enableChargingRules", value = "已开通收费规则(1临停2月卡3错时4群组5异常6充电)")
    private String enableChargingRules;

    @ApiModelProperty(name = "verifyState", value = "确认状态（0：未确认，1：已确认）")
    private String verifyState;

    @ApiModelProperty(name = "publishType", value = "发布类型（1：统一平台，2：客户专用）")
    private String publishType;

    @ApiModelProperty(name = "collectFeeModel", value = "收费模式（1：平台代收，定期结算，2：客户直收，自动分层, 3:免费模式）")
    private String collectFeeModel;

    @ApiModelProperty(name = "invoiceModel", value = "开票模式（1：平台开票，2：客户开票）")
    private String invoiceModel;

    @ApiModelProperty(name = "enableRefundCard", value = "是否开通退卡")
    private Boolean enableRefundCard;

    @ApiModelProperty(name = "refundCardType", value = "可退卡类型（1：全时月卡，2：错时月卡）多选用,隔开")
    private String refundCardType;

    @ApiModelProperty(name = "refundCardMethod", value = "退卡方式（1：管理端，2：用户端）多选用,隔开")
    private String refundCardMethod;

    @ApiModelProperty(name = "startedMonthBillingType", value = "已开始月份的计费类型(1.按临停计费扣除使用费用 2.按平均计费扣除使用费用 3.不退款)")
    private Integer startedMonthBillingType;

    @ApiModelProperty(name = "temporaryParkingDayFee", value = "临停每天计费金额(元)")
    private Long temporaryParkingDayFee;

    @ApiModelProperty(name = "refundRule", value = "退卡退款计算规则")
    private String refundRule;

    @ApiModelProperty(name = "refundDescription", value = "退卡退款规则说明")
    private String refundDescription;
}
