
package com.tmerclub.cloud.distribution.dto;

import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 分销收入记录信息DTO
 *
 * @author cl
 * @date 2021-08-09 14:14:09
 */
public class DistributionUserIncomeDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "收入记录id")
    private Long incomeId;

    @Schema(description = "钱包id")
    private Long walletId;

    @Schema(description = "收入类型(1一代奖励、2二代奖励 3邀请奖励 等 )")
    private Integer incomeType;

    @Schema(description = "佣金状态(0:待支付、1:待结算、2:已结算、-1:订单失效)")
    private Integer state;

    @Schema(description = "佣金数额")
    private Long incomeAmount;

    @Schema(description = "关联订购流水号")
    private String orderId;

    @Schema(description = "关联订单项order_item_id")
    private Long orderItemId;

    @Schema(description = "商户订单号")
    private String merchantOrderId;

    @Schema(description = "分销员id")
    private Long distributionUserId;

    @Schema(description = "操作人id")
    private Long modifier;

    @Schema(description = "分销业绩-推广效果：0无 1佣金 2创建时间 3更新时间")
    private Integer sortParam;

    @Schema(description = "排序类型 0无 1 正序 2倒序")
    private Integer sortType;

    @Schema(description = "商品名称")
    private String spuName;

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "分销员")
    private DistributionUserDTO distributionUser;

    @Schema(description = "分销员昵称")
    private String nickName;

    @Schema(description = "分销员手机号")
    private String userMobile;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "店铺id列表")
    private List<Long> shopIds;

    @Schema(description = "商品id")
    private Long spuId;

    @Schema(description = "商品id列表")
    private List<Long> spuIds;

    @Schema(description = "支付系统类型")
    @Hidden
    private Integer paySysType;

    public List<Long> getShopIds() {
        return shopIds;
    }

    public void setShopIds(List<Long> shopIds) {
        this.shopIds = shopIds;
    }

    public List<Long> getSpuIds() {
        return spuIds;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getUserMobile() {
        return userMobile;
    }

    public void setUserMobile(String userMobile) {
        this.userMobile = userMobile;
    }

    public void setSpuIds(List<Long> spuIds) {
        this.spuIds = spuIds;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public DistributionUserDTO getDistributionUser() {
        return distributionUser;
    }

    public void setDistributionUser(DistributionUserDTO distributionUser) {
        this.distributionUser = distributionUser;
    }

    public Long getIncomeId() {
        return incomeId;
    }

    public void setIncomeId(Long incomeId) {
        this.incomeId = incomeId;
    }

    public Long getWalletId() {
        return walletId;
    }

    public void setWalletId(Long walletId) {
        this.walletId = walletId;
    }

    public Integer getIncomeType() {
        return incomeType;
    }

    public void setIncomeType(Integer incomeType) {
        this.incomeType = incomeType;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Long getIncomeAmount() {
        return incomeAmount;
    }

    public void setIncomeAmount(Long incomeAmount) {
        this.incomeAmount = incomeAmount;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public String getMerchantOrderId() {
        return merchantOrderId;
    }

    public void setMerchantOrderId(String merchantOrderId) {
        this.merchantOrderId = merchantOrderId;
    }

    public Long getDistributionUserId() {
        return distributionUserId;
    }

    public void setDistributionUserId(Long distributionUserId) {
        this.distributionUserId = distributionUserId;
    }

    public Long getModifier() {
        return modifier;
    }

    public void setModifier(Long modifier) {
        this.modifier = modifier;
    }

    public Integer getSortParam() {
        if (sortParam == null) {
            return 0;
        }
        return sortParam;
    }

    public void setSortParam(Integer sortParam) {
        this.sortParam = sortParam;
    }

    public Integer getSortType() {
        if (sortType == null) {
            return 0;
        }
        return sortType;
    }

    public void setSortType(Integer sortType) {
        this.sortType = sortType;
    }

    public Integer getPaySysType() {
        return paySysType;
    }

    public void setPaySysType(Integer paySysType) {
        this.paySysType = paySysType;
    }

    @Override
    public String toString() {
        return "DistributionUserIncomeDTO{" +
                "incomeId=" + incomeId +
                ", walletId=" + walletId +
                ", incomeType=" + incomeType +
                ", state=" + state +
                ", incomeAmount=" + incomeAmount +
                ", orderId='" + orderId + '\'' +
                ", orderItemId=" + orderItemId +
                ", merchantOrderId='" + merchantOrderId + '\'' +
                ", distributionUserId=" + distributionUserId +
                ", modifier=" + modifier +
                ", sortParam=" + sortParam +
                ", sortType=" + sortType +
                ", spuName='" + spuName + '\'' +
                ", shopName='" + shopName + '\'' +
                ", distributionUser=" + distributionUser +
                ", nickName='" + nickName + '\'' +
                ", userMobile='" + userMobile + '\'' +
                ", shopId=" + shopId +
                ", shopIds=" + shopIds +
                ", spuId=" + spuId +
                ", spuIds=" + spuIds +
                ", paySysType=" + paySysType +
                '}';
    }
}
