package com.ssyf.module.robot.domain.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ssyf.common.core.domain.query.PageQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author ELSA
 * @description 机器人运行信息查询参数
 */
@Data
@Accessors(chain = true)
public class RRobotRunningInfoQuery extends PageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String uuid;
    private List<String> uids;
    private String robotGroupUuid;

    private String robotGroupName;
    /**
     * 机器人uuid
     */
    private String robotUuid;

    /**
     * 机器人账号
     */
    private String robotAccount;
    /**
     * 机器人昵称
     */
    private String robotNickName;

    /**
     * 直播间名称
     */
    private String liveRoomName;

    /**
     * 主播名称
     */
    private String anchorName;

    /**
     * 主播头像
     */
    private String anchorAvatar;


    /**
     * 运行状态
     */
    private Integer runningStatus;

    /**
     * 运行开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime runningStartTime;

    /**
     * 运行结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime runningEndTime;

    /**
     * 运行时长（秒）
     */
    private Integer runningDuration;


    /**
     * 当前行为：5离线，1-闲逛，2-在直播间，3-送礼物，4-聊天
     */
    private Integer currentBehavior;

    /**
     * 当前所在直播间ID
     */
    private String liveRoomId;

    /**
     * 当前直播间主播ID
     */
    private String anchorId;

    /**
     * 运行结果
     */
    private String runningResult;

    /**
     * 运行日志
     */
    private String runningLog;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 创建时间开始
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTimeStart;

    /**
     * 创建时间结束
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTimeEnd;
}