package com.m2pool.lease.dto;

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.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 商品机器修改返回对象
 * </p>
 *
 * @author yyb
 * @since 2025-07-23
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "商品机器修改返回对象",value = "ProductUpdateMachineDto" )
public class ProductUpdateMachineDto {

    @ApiModelProperty(value = "矿机ID")
    private Long id;

    /**
     * 挖矿机器 对应的矿工账号
     */
    @ApiModelProperty(value = "挖矿机器 对应的矿工账号")
    private String user;

    /**
     * 挖矿机器型号
     */
    @ApiModelProperty(value = "挖矿机器型号")
    private String type;

    /**
     * 挖矿机器编号
     */
    @ApiModelProperty(value = "挖矿机器编号")
    private String miner;


    /**
     * 单价
     */
    @ApiModelProperty(value = "售价集合")
    private List<MachinePayTypeDto> priceList;

    /**
     * 实际算力（计算得到，商家不能够自己添加和修改）
     */
    @ApiModelProperty(value = "3天算力平均大小---实际实时算力（计算得到，商家不能够自己添加和修改）")
    private BigDecimal computingPower;

    /**
     * 理论算力
     */
    @ApiModelProperty(value = "理论算力（卖方手动填写）")
    private BigDecimal theoryPower;

    @ApiModelProperty(value = "算力单位")
    private String unit;

    /**
     * 上下架状态，0 上架，1 下架
     */
    @ApiModelProperty(value = "上下架状态，0 上架，1 下架")
    private Integer state;

    /**
     * 售出状态 0未售出 1已售出 2售出中
     */
    @ApiModelProperty(value = "售出状态 0未售出 1已售出 2售出中")
    private Integer saleState;

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

    /**
     * 单机预估实际收入
     */
    //@ApiModelProperty(value = "单机预估实际收入（每日）")
    //private BigDecimal actualIncome;

    //@ApiModelProperty(value = "算法")
    //private String algorithm;

    @ApiModelProperty(value = "功耗 单位kw/h",example = "10")
    private BigDecimal powerDissipation;
}
