CustomerQueryReq.java 3.73 KB
package cn.fw.valhalla.sdk.param;

import cn.fw.valhalla.sdk.enums.CustomerFollowTypeEnum;
import lombok.EqualsAndHashCode;
import lombok.ToString;

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


/**
 * @author : kurisu
 * @className : CustomerQueryReq
 * @description : 保有客查询参数
 * @date: 2022-01-10 14:59
 */
@ToString
@EqualsAndHashCode
public class CustomerQueryReq implements Serializable {
    private static final long serialVersionUID = 2363764577856885L;

    /**
     * 进站里程
     * 单位km 最多指会取前两个元素
     */
    private Integer[] arrivalMileage;

    /**
     * 车辆年限
     * 向上取整
     */
    private Integer[] ageLimit;

    /**
     * 客户星级
     */
    private Integer level;
    /**
     * 是否是 并且条件
     * 反之就是或者
     */
    private boolean andCondition;


    /**
     * (以下独立于 andCondition 都是取并且)
     * 保有客类型 (暂无)
     */
    @Deprecated
    private Integer customerType;

    private Long groupId;
    /**
     * 是否包含公共池
     */
    private Boolean includePublic;

    /**
     * 保有客跟进类型
     */
    private CustomerFollowTypeEnum followType;
    /**
     * 车架号
     */
    private String frameNo;

    /**
     * 门店id列表
     */
    private List<Long> shopList;

    /**
     * 排除用户集
     */
    private List<Long> excludeCustomerIds;

    public Integer getCustomerType() {
        return customerType;
    }

    public void setCustomerType(Integer customerType) {
        this.customerType = customerType;
    }

    public CustomerFollowTypeEnum getFollowType() {
        return followType;
    }

    public void setFollowType(CustomerFollowTypeEnum followType) {
        this.followType = followType;
    }

    public void setType(Integer type) {
        this.followType = CustomerFollowTypeEnum.ofValue(type);
    }

    public Integer[] getArrivalMileage() {
        return arrivalMileage;
    }

    public void setArrivalMileage(Integer... arrivalMileage) {
        if (arrivalMileage != null && arrivalMileage.length > 2) {
            this.arrivalMileage = Arrays.copyOfRange(arrivalMileage, 0, 2);
            return;
        }
        this.arrivalMileage = arrivalMileage;
    }

    public Integer[] getAgeLimit() {
        return ageLimit;
    }

    public void setAgeLimit(Integer... ageLimit) {
        if (ageLimit != null && ageLimit.length > 2) {
            this.ageLimit = Arrays.copyOfRange(ageLimit, 0, 2);
            return;
        }
        this.ageLimit = ageLimit;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public boolean isAndCondition() {
        return andCondition;
    }

    public void setAndCondition(boolean andCondition) {
        this.andCondition = andCondition;
    }

    public String getFrameNo() {
        return frameNo;
    }

    public void setFrameNo(String frameNo) {
        this.frameNo = frameNo;
    }

    public List<Long> getShopList() {
        return shopList;
    }

    public void setShopList(List<Long> shopList) {
        this.shopList = shopList;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public List<Long> getExcludeCustomerIds() {
        return excludeCustomerIds;
    }

    public void setExcludeCustomerIds(List<Long> excludeCustomerIds) {
        this.excludeCustomerIds = excludeCustomerIds;
    }

    public Boolean getIncludePublic() {
        return includePublic;
    }

    public void setIncludePublic(final Boolean includePublic) {
        this.includePublic = includePublic;
    }
}