package org.wfc.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.wfc.common.mybatis.domain.BaseData;

import java.math.BigDecimal;

/**
 * <p>
 * 用户平台-套餐表
 * </p>
 *
 * @author sys
 * @since 2024-12-20
 */
@Getter
@Setter
@TableName("u_package")
@Schema(name = "UPackage", description = "用户平台-套餐表")
public class UPackage extends BaseData {

    private static final long serialVersionUID = 1L;

    @Schema(description = "带宽限速ID")
    private Long rateLimitId;

    @Schema(description = "套餐名称")
    private String packageName;

    @Schema(description = "有效期数")
    private Integer periodNum;

    @Schema(description = "有效期类型")
    private Integer periodType;

    @Schema(description = "价格")
    private BigDecimal price;

    @Schema(description = "流量")
    private Long traffic;

    @Schema(description = "时长")
    private Long duration;

    @Schema(description = "在线设备数")
    private Integer clientNum;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "带宽是否限制")
    private Boolean rateLimitEnable;

    @Schema(description = "流量是否限制")
    private Boolean trafficEnable;

    @Schema(description = "时长是否限制")
    private Boolean durationEnable;

    @Schema(description = "在线设备数是否限制")
    private Boolean clientNumEnable;

    @Schema(description = "套餐是否启用")
    private Boolean packageEnable;

    @Schema(description = "带宽限速组")
    @TableField(exist = false)
    private URateLimit rateLimits;
}
