LivePoolVO.java 3.07 KB
package cn.fw.dalaran.domain.vo;

import cn.fw.dalaran.domain.enums.PlatformEnum;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

/**
 * @author kurisu
 * @date 2021-12-20 16:03
 * @description 直播池
 */
@Data
@ToString
public class LivePoolVO {
    /**
     * 房间号
     */
    private String roomNo;
    /**
     * 用户昵称
     */
    private String userNick;
    /**
     * 平台类型
     */
    private Integer platform;
    /**
     * 直播标题
     */
    private String title;
    /**
     * 直播封面
     */
    private String cover;
    /**
     * 直播回放地址
     */
    private String playbackUrl;
    /**
     * 观看人数
     */
    private Long uv;
    /**
     * 峰值观看人数
     */
    private Long uvPeak;
    /**
     * 点赞人数
     */
    private Long likeNum;
    /**
     * 分享人数
     */
    private Long shareNum;
    /**
     * 评论人数
     */
    private Long commentNum;
    /**
     * 新增粉丝数
     */
    private Long newFanNum;
    /**
     * 收礼数
     */
    private Long receiveNum;
    /**
     * 收礼金额
     */
    private BigDecimal receiveAmount;
    /**
     * 直播时长 (秒)
     */
    private Integer liveDuration;
    /**
     * 是否有效直播(-2:被判空挂, -1:付费, 0:无效, 1:有效, 11:有效且最佳)
     */
    private Integer valid;
    /**
     * 直播开始时间
     */
    private Date liveStartTime;
    /**
     * 直播结束时间
     */
    private Date liveEndTime;
    /**
     * 话题
     */
    private String tags;
    /**
     * 所属活动主题
     */
    private String theme;
    /**
     * 品牌id
     */
    private Long brandId;
    /**
     * 品牌名称
     */
    private String brandName;
    /**
     * 车系id
     */
    private Long seriesId;
    /**
     * 车系名称
     */
    private String seriesName;
    /**
     * 所属人员
     */
    private String userName;
    /**
     * 所属门店
     */
    private String shopName;
    /**
     * 账号
     */
    private String account;

    /**
     * 获取有效性描述
     */
    public String getValidStatusDesc() {
        if (Objects.equals(this.valid, -2))
            return "空挂";
        if (Objects.equals(this.valid, -1))
            return "付费";
        if (Objects.equals(this.valid, 0))
            return "无效";
        if (Objects.equals(this.valid, 1))
            return "有效";
        if (Objects.equals(this.valid, 11))
            return "最佳";
        return "未知";
    }

    /**
     * 是否为最佳直播
     */
    public boolean getBestLive() {
        return this.valid > 10;
    }

    /**
     * 重写get方法
     *
     * @return 是否为有效直播
     */
    public boolean getValid() {
        return this.valid > 0;
    }

    public String getPlatformDesc() {
        PlatformEnum platformEnum = PlatformEnum.ofValue(platform);
        if (Objects.isNull(platformEnum)) {
            return "";
        }
        return platformEnum.getName();
    }
}