package com.m2pool.lease.dto.v2;

import com.m2pool.lease.dto.MachinePayTypeDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

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

/**
 * <p>
 * 商品对应实际商品返回对象
 * </p>
 *
 * @author yyb
 * @since 2025-07-23
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "矿机返回对象",value = "MachineInfoDto" )
public class MachineInfoDto {


    private Integer type;

    private BigDecimal theoryPower;


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

    @ApiModelProperty(value = "gpu名称 或asic 名称")
    private String model;

    @ApiModelProperty(value = "矿机mac地址")
    private String hostMac;

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

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


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

    @ApiModelProperty(value = "最大月收益 usdt")
    private BigDecimal monthIncome;


    @ApiModelProperty(value = "最大收益币种算法")
    private String algorithm;

    @ApiModelProperty(value = "售价")
    private BigDecimal price;

    @ApiModelProperty(value = "最大收益对应币种")
    private String coin;

    @ApiModelProperty(value = "矿机客户端在离线情况 0 离线 1 在线")
    private Boolean onlineStatus;

    @ApiModelProperty(value = "可出售机器数量")
    private Integer saleNumbers;

    @ApiModelProperty(value = "已售出数量")
    private Integer saleOutNumbers;

    //动态列名(方便前端显示)
    private String c1;

    private String c2;

    private String c3;

    private String c4;

    private String c5;

    private String c6;

    private String c7;

    private String c8;

    private String c9;

    private String c10;



    //@ApiModelProperty(value = "币种动态列集合")
    //private List<PowerIncomeInfoDto> powerIncomeInfoList;

    @ApiModelProperty(value = "店铺售价集合")
    private List<MachinePayTypeDto> priceList;
}
