package com.cyksj.model.views;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * 项目名: yhlxj11111111
 * 文件名: CodexUserInfoView
 * 创建者: Claude
 * 创建时间:2025/9/15
 */
@Getter
@Setter
@Builder
public class CodexUserInfoView {

    @JsonIgnore
    private Long userId;
    
    /**
     * 套餐名
     */
    private String planName;
    
    /**
     * 每日预算上限
     */
    private Integer openaiDailyLimit;
    
    /**
     * 每月预算上限
     */
    private Integer openaiQuota;

    private Date expiryTime;


    private Long renewOrderId;

    /**
     * 续费升级skuId
     */
    private Long renewSkuId;

    /**
     * 续费升级过期时间
     */
    private Date renewExpiryTime;
    
    /**
     * 座位ID
     */
    private Long relationId;
    
    /**
     * Claude Code套餐信息
     */
    private ClaudeCodeInfo claudeCodeInfo;

    /**
     * 是否是购买 默认false
     */
    private Boolean isPay;
    
    @Getter
    @Setter
    @Builder
    public static class ClaudeCodeInfo {
        @JsonIgnore
        private Long userId;

        /**
         * 套餐名
         */
        private String planName;

        private Long relationId;

        /**
         * claude code每日限额
         */
        private Integer claudeDailyLimit;

        /**
         * Claude code 服务总额度
         */
        private Integer claudeQuota;
        
        /**
         * code 有效期
         */
        private Date expiryTime;
        
        /**
         * 续费升级skuId
         */
        private Long renewSkuId;
        
        /**
         * 续费升级过期时间
         */
        private Date renewExpiryTime;
    }
}