package com.erp.user.entity.auth;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 微信扫码会话实体
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WechatSession implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 二维码唯一ID
     */
    private String qrId;
    
    /**
     * 随机状态码
     */
    private String state;
    
    /**
     * 用户ID（扫码后绑定）
     */
    private Long userId;
    
    /**
     * 微信OpenID
     */
    private String openId;
    
    /**
     * 会话密钥
     */
    private String sessionKey;
    
    /**
     * 状态：pending-待扫码, scanned-已扫码待确认, confirmed-已确认, expired-已过期
     */
    private String status;
    
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    
    /**
     * 过期时间
     */
    private LocalDateTime expiresAt;
    
    /**
     * 确认时间
     */
    private LocalDateTime confirmedAt;
}
