package com.yuchen.saas.park.api.entity.property;

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

/**
 * <p>
 * 账单收费设置
 * </p>
 *
 * @author miaoqs
 * @since 2024-09-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("saas_park_property_bill_charge_setup")
@ApiModel(value="SaasParkPropertyBillChargeSetup对象", description="账单收费设置")
public class SaasParkPropertyBillChargeSetup extends TenantEntity {

    /**
     * 项目
     */
    @ApiModelProperty(name = "parkId", value = "项目")
    private Long parkId;
    /**
     * 社区
     */
    @ApiModelProperty(name = "communityId", value = "社区")
    private Long communityId;
    /**
     * 后台收费模式 1:所有收费类型强制连续缴费;2:允许选择任意账单(按收费类型)进行收费（非连续缴费）;
     */
    @ApiModelProperty(name = "backChargeMode", value = "后台收费模式 1:所有收费类型强制连续缴费;2:允许选择任意账单(按收费类型)进行收费（非连续缴费）;")
    private String backChargeMode;
    /**
     * 客户自助缴费模式 1:所有收费类型强制连续缴费;2:允许客户选择收费类型(连续缴费);3:允许选择任意账单(按收费类型)进行缴费（非连续缴费）;
     */
    @ApiModelProperty(name = "clientSelfMode", value = "客户自助缴费模式 1:所有收费类型强制连续缴费;2:允许客户选择收费类型(连续缴费);3:允许选择任意账单(按收费类型)进行缴费（非连续缴费）;")
    private String clientSelfMode;
    /**
     * 调整金额审批 0:关闭;1:开启;
     */
    @ApiModelProperty(name = "adjustmentMoneyApprove", value = "调整金额审批 0:关闭;1:开启;")
    private String adjustmentMoneyApprove;
    /**
     * 线下收费撤销设置 0:关闭;1:开启;
     */
    @ApiModelProperty(name = "offlineChargingRepealState", value = "线下收费撤销设置 0:关闭;1:开启;")
    private String offlineChargingRepealState;
    /**
     * 线下收费可撤销天数
     */
    @ApiModelProperty(name = "offlineChargingRepealDay", value = "线下收费可撤销天数")
    private Integer offlineChargingRepealDay;
    /**
     * 取舍方式 1:四舍五入;2:直接舍掉;
     */
    @ApiModelProperty(name = "giveUpMode", value = "取舍方式 1:四舍五入;2:直接舍掉;")
    private String giveUpMode;
    /**
     * 保留位数
     */
    @ApiModelProperty(name = "retainPlaces", value = "保留位数")
    private Integer retainPlaces;
    /**
     * 房间仪表用量
     */
    @ApiModelProperty(name = "meterUsage", value = "房间仪表用量")
    private Integer meterUsage;
    /**
     * 0元账单 0:关闭;1:开启;
     */
    @ApiModelProperty(name = "zeroBillState", value = "0元账单 0:关闭;1:开启;")
    private String zeroBillState;
    /**
     * 自动生成账单 0:关闭;1:开启;
     */
    @ApiModelProperty(name = "autoBillState", value = "自动生成账单 0:关闭;1:开启;")
    private String autoBillState;
    /**
     * 每月几日第一次自动生成账单
     */
    @ApiModelProperty(name = "monthFirstBillDay", value = "每月几日第一次自动生成账单")
    private Integer monthFirstBillDay;
    /**
     * 每月几日第二次自动生成账单
     */
    @ApiModelProperty(name = "monthSecondBillDay", value = "每月几日第二次自动生成账单")
    private Integer monthSecondBillDay;
    /**
     * 自动冲抵预存款 0:关闭;1:开启;
     */
    @ApiModelProperty(name = "autoCounteractDeposit", value = "自动冲抵预存款 0:关闭;1:开启;")
    private String autoCounteractDeposit;
    /**
     * 每月几日自动冲抵账单
     */
    @ApiModelProperty(name = "monthAutoCounteractDay", value = "每月几日自动冲抵账单")
    private Integer monthAutoCounteractDay;



}
