package com.cyksj.model.views;

import com.ejlchina.searcher.bean.DbField;
import com.ejlchina.searcher.bean.DbIgnore;
import com.ejlchina.searcher.bean.SearchBean;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;

/**
 * 项目名: yhlxj
 * 文件名: GoodsDonSkuRenewView
 * 创建者: JavaZou
 * 创建时间:2024/8/29 11:38
 */
@Getter
@Setter
@SearchBean(tables = "goods_don_sku sku left join goods_don g on g.id = sku.goods_id",
		where = "sku.status is true and g.status is true and g.deleted is true")
public class GoodsDonSkuRenewView {
	@DbField("sku.id")
	private Long skuId;

	@DbField("sku.sub_title")
	private String subTitle;

	@DbField("sku.spec_val")
	private String specVal;

	@DbField("sku.price")
	private BigDecimal price;

	@DbField("g.id")
	private Long goodsId;

	@DbField("g.title")
	private String title;

	@DbField("sku.months")
	private Integer months;

	/**
	 * gpt 镜像限制次数
	 */
	@DbField("sku.gpt_limit_num")
	private Integer gptUserLimitNum;

	/**
	 * gpt 镜像限制时间
	 */
	@DbField("sku.gpt_limit_time")
	private Long gptUserLimitTime;

	/**
	 * deepseek限制次数
	 */
	@DbField("sku.ds_limit_num")
	private Integer userDsLimitNum;

	/**
	 * deepseek限制时间
	 */
	@DbField("sku.ds_limit_time")
	private Long userDsLimitTime;

	/**
	 * 其他模型限制次数
	 */
	@DbField("sku.other_limit_num")
	private Integer userOtherLimitNum;

	/**
	 * 其他模型限制时间
	 */
	@DbField("sku.other_limit_time")
	private Long userOtherLimitTime;

	/**
	 * 续费升级套餐id
	 */
	@DbIgnore
	private Long packageId;

	/**
	 * 续费升级目前规格订单id
	 */
	@DbIgnore
	private Long originalOrderId;

	/**
	 * claude code每日限额
	 */
	@DbField("sku.claude_daily_limit")
	private Integer claudeDailyLimit;

	/**
	 * Claude code 服务总额度
	 */
	@DbField("sku.claude_quota")
	private Integer claudeQuota;

	/**
	 * cc最高约可使用次数
	 */
	@DbField("sku.highest_usage")
	private Integer highestUsage;

	/**
	 * 是否赠送codex
	 */
	@DbField("sku.is_codex")
	private Boolean isCodex;

	/**
	 * codex套餐名
	 */
	@DbField("sku.codex_plan_name")
	private String codexPlanName;

	/**
	 * 每日预算上限
	 */
	@DbField("sku.openai_daily_limit")
	private Integer openaiDailyLimit;

	/**
	 * 每月预算上限
	 */
	@DbField("sku.openai_quota")
	private Integer openaiQuota;
}
