package com.kexue.skills.entity;

import java.math.BigDecimal;
import java.util.Date;

import java.io.Serializable;
import com.kexue.skills.entity.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * (ModelPrice)实体类
 * 大模型Token价格表
 *
 * @author 王志维
 * @since 2026-03-26 10:15:00
 */
@Data
public class ModelPrice extends BaseEntity implements Serializable  {
    private static final long serialVersionUID = 1L;

        @Schema(description ="主键ID")
        private Long id;

        @Schema(description ="厂商")
        private String vendor;

        @Schema(description ="模型名称")
        private String modelName;

        @Schema(description ="输入价格：元/百万Token")
        private BigDecimal inputPrice;

        @Schema(description ="输出价格：元/百万Token")
        private BigDecimal outputPrice;

        @Schema(description ="1分钱可购买输入Token数")
        private Long inputPerCent;

        @Schema(description ="1分钱可购买输出Token数")
        private Long outputPerCent;

        @Schema(description ="价格单位")
        private String unit;

        @Schema(description ="备注/版本信息")
        private String remark;

        @Schema(description ="计费区间下限（不包含）")
        private Long minTokens;

        @Schema(description ="计费区间上限（包含，-1代表无穷大）")
        private Long maxTokens;

        @Schema(description ="输出模式：standard=非思考模式, thinking=思考模式")
        private String outputMode;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        @Schema(description ="创建时间")
        private Date createdTime;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        @Schema(description ="更新时间")
        private Date updatedTime;

}
