package com.m2pool.lease.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 机器参数请求对象
 * </p>
 *
 * @author yyb
 * @since 2025-07-23
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "机器参数请求对象",value = "ProductMachineParamsVo" )
public class ProductMachineParamsVo{

    @ApiModelProperty(value = "商品 ID",example = "2")
    private Long productId;

    @ApiModelProperty(value = "矿机型号",example = "龍珠")
    private String type;

    @ApiModelProperty(value = "商品机器单机理论算力（卖方手动填写）",example = "0.01")
    private BigDecimal theoryPower;

    @ApiModelProperty(value = "商品机器单机算力单位",example = "TH/S")
    private String  unit;

    @ApiModelProperty(value = "功耗",example = "0.01")
    private BigDecimal powerDissipation;

    @ApiModelProperty(value = "机器成本价格单位$ [ 功耗 * 电费 * 24 * (1 + 收益率) ]",example = "0.01")
    private BigDecimal  cost;


    @ApiModelProperty(value = "最大可租借天数(默认七天)",example = "7")
    private Integer maxLeaseDays;

    @ApiModelProperty(value = "商品对应的机器列表")
    List<ProductMachineURDVo> productMachineURDVos;
}
