package com.gxwebsoft.cms.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 客资管理请求参数
 *
 * @author 科技小王子
 * @since 2026-04-14
 */
@Data
@Schema(name = "CustomerLeadParam", description = "客资管理请求参数")
public class CustomerLeadParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "客资ID")
    private Integer leadId;

    @Schema(description = "客户姓名")
    private String name;

    @Schema(description = "客户电话")
    private String phone;

    @Schema(description = "单位/公司名称")
    private String company;

    @Schema(description = "需求描述")
    private String need;

    @Schema(description = "分配给的用户ID")
    private Integer assignedUserId;

    @Schema(description = "派单备注")
    private String dispatchRemarks;

    @Schema(description = "跟进状态: 0待跟进 1跟进中 2已成交 3无效")
    private Integer status;

    @Schema(description = "销售备注")
    private String remarks;

    @Schema(description = "预约时间")
    private String appointmentTime;

    @Schema(description = "成交金额")
    private BigDecimal dealAmount;

    @Schema(description = "来源类型")
    private String sourceType;

    // ========== 查询条件 ==========
    @Schema(description = "开始日期")
    private String startDate;

    @Schema(description = "结束日期")
    private String endDate;

    @Schema(description = "跟进状态(可多选,逗号分隔)")
    private String statusList;

    @Schema(description = "业务员ID")
    private Integer salesmanId;

    @Schema(description = "推荐人ID")
    private Integer referrerId;

    @Schema(description = "关键词(姓名/电话/公司)")
    private String keyword;

    @Schema(description = "当前页码")
    private Integer pageNum = 1;

    @Schema(description = "每页数量")
    private Integer pageSize = 10;
}
