package com.ruoyi.project.business.domain.vo.lead;
/**
 * @author : fangk
 * @date : 2024/4/24 15:57
 * @desc : 线索列表查询 req
 */

import lombok.AccessLevel;
import lombok.Data;
import lombok.Getter;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;


@Data
public class LeadListReq {

    /**
     * 线索编号
     */
    private String leadNo;

    /**
     * 转化后客户编号
     */
    private String accountNo;
    
    /**
     * 国家
     */
    // private Long countryId;
    private List<Long> countryId;

    /**
     * 区域
     */
    private List<Long> areaId;

    /**
     * 城市
     */
    private String city;

    /**
     * 来源（关联字典表）
     */
    private List<String> origin;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 联系电话
     */
    private String contact;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 行业
     */
    private List<String> sector;

    /**
     * 地址
     */
    private String address;

    /**
     * 公司名称
     */
    private String company;

    /**
     * 描述
     */
    private String requirement;

    /**
     * 优先级（关联字典表）
     */
    private List<String> priority;

    /**
     * 状态（关联字典表）
     */
    private List<String> status;

    /**
     * 分配对象
     */
    private Long owner;
    
    private String ownerName;

    private List<Long> ownerAgent;

    /**
     * 线索时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // private List<Date> leadTime;

    /**
     * 线索类型（0：终端客户 1 代理商）
     */
    private String type;

    /**
     * 转化后客户id
     */
    private Long relativeAccount;

    /**
     * 转化项目后Id
     */
    private Long relativeProject;

    /**
     * 转化成单后合同Id
     */
    private Long relativeContract;

    /**
     * 无效原因
     */
    private String unvalidReason;
    
    // private String createByName;
    private String createByNickName;

    /**
     * 线索集合
     */
    private List<Long> leadIds;
    
    // 数据权限 带 逗号
    private String permissionChar;
 
    // 数据权限 不带 逗号
    @Getter(AccessLevel.NONE)
    private String permission;
    
    // 登录用户
    private Long loginUserId;

    // 远程搜索
    private String queryKey;
    
    
    // lan
    private String lan;



    /**
     * 公司类型（关联字典表）
     */
    private List<String> companyType;
    /**
     * 需求类型（关联字典表）
     */
    private List<String> requirementType;

    /**
     * 最新跟进结果
     */
    private String lastFollowResult;

    /**
     * 跟进人
     */
    private String follower;

    /**
     * 产品意向
     */
    private List<String> intentionalProduct;

    /**
     * 项目类型
     */
    private List<String> segment;

    /**
     * 客户姓名
     */
    private String accountName;
    
    // 日期范围
    private LocalDateTime beginTime;
    
    private LocalDateTime endTime;
    

    public String getPermission() {
        // 将permissionChar的逗号去掉
        return permissionChar == null ? null : permissionChar.replace(",", "");
    }
    
}