package com.red.circle.other.app.dto.clientobject.activity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;

/**
 * 我的邀请人信息客户端对象.
 *
 * @author tf
 * @since 2025-10-28
 */
@Data
public class MyInviterInfoCO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 我的用户信息.
     */
    private UserBasicInfoCO myInfo;

    /**
     * 邀请人信息.
     */
    private UserBasicInfoCO inviterInfo;

    /**
     * 用户基本信息.
     */
    @Data
    public static class UserBasicInfoCO implements Serializable {

        private static final long serialVersionUID = 1L;

        /**
         * 用户ID.
         */
        @JsonSerialize(using = ToStringSerializer.class)
        private Long userId;

        /**
         * 用户名.
         */
        private String userName;

        /**
         * 头像.
         */
        private String avatar;

        /**
         * 邀请码.
         */
        private String inviteCode;

        /**
         * 用户创建时间.
         */
        private Timestamp createTime;

        /**
         * 是否超过三天过期
         */
        private boolean expired;

    }

}
