package cn.axzo.msg.center.service.pending.request;

import cn.axzo.basics.common.page.PageRequest;
import cn.axzo.msg.center.service.enums.AppTerminalTypeEnum;
import cn.axzo.msg.center.service.enums.IdentityTypeEnum;
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @description
 *   代办记录分页查询参数的数模型
 * @author cold_blade
 * @date 2023/9/23
 * @version 1.0
 */
@Setter
@Getter
public class PendingMessageFixedTemplatePageRequest implements Serializable {

    private static final long serialVersionUID = 7172093131252325437L;
    /**
     * 当前登录账户的自然id(前端不care)
     */
    @NotNull(message = "personId is required")
    private Long personId;
    /**
     * 当前登录账户的身份id(前端不care)
     */
    private Long identityId;
    /**
     * 当前登录账户的身份类型(前端不care)
     */
    private IdentityTypeEnum identityType;
    /**
     * 应用终端
     */
    private AppTerminalTypeEnum appTerminalType;
    /**
     * 单位id
     */
    private Long ouId;
    /**
     * 筛选时间
     */
    @NotNull(message = "date is required")
    private Date selectDate;
    /**
     * 工作台id
     */
    private Long workspaceId;
    /**
     * APP终端类型(前端不care)
     *   WEB: web端页面
     *   MINI_PROGRAM: 安心筑小程序端页面
     *   IOS: 原生IOS端页面
     *   ANDROID: 原生Android端页面
     *   WEB_VIEW: H5页面
     *   WECHAT_MINI_PROGRAM: 微信小程序页面
     */
    private TerminalTypeEnum terminalType;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
