package com.gxwebsoft.shop.dto;

import com.gxwebsoft.common.core.enums.ShopDealerCapitalUpdateEnum;
import com.gxwebsoft.common.core.enums.ShopDealerTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 更新分销用户资金
 * @author xm
 * @since 2026-05-06
 */
@Data
@Schema(name = "ShopDealerUserReduceDto", description = "更新分销用户资金请求")
public class ShopDealerUserReduceDto {

    @Schema(description = "变动类型 1-操作冻结账户余额 2-操作提现账户余额【直接结算】 3-解冻")
    @NotNull(message = "变更类型不可为空！")
    private ShopDealerTypeEnum typeEnum;

    @Schema(description = "用户ID")
    private Integer userId;

    @Schema(description = "订单主体用户ID")
    private Integer orderUserId;

    @Schema(description = "订单号")
    @NotEmpty(message = "订单号不能为空！")
    private String orderNo;

    @Schema(description = "变更金额")
    private BigDecimal price;

    @Schema(description = "业务类型")
    @NotEmpty(message = "业务类型不能为空！")
    private ShopDealerCapitalUpdateEnum updateEnum;

}
