ClueChangeResult.java 1.67 KB
package cn.fw.valhalla.sdk.result;

import lombok.Data;

import java.util.Objects;

/**
 * 线索改变信息
 *
 * @author : kurisu
 * @version : 1.0
 * @className : ClueChangeResult
 * @description : 线索改变信息
 * @date : 2022-12-06 16:13
 */
@Data
public class ClueChangeResult {
    public final static String TOPIC = "Follow_Clue_Change";
    /**
     * 车架号
     */
    private String frameNo;
    /**
     * 集团id
     */
    private Long groupId;
    /**
     * 保有客跟进类型
     *
     * @see cn.fw.valhalla.sdk.enums.CustomerFollowTypeEnum
     */
    private Integer clueType;
    /**
     * 变更类型
     */
    private ChangeType changeType;

    /**
     * 新开始的线索
     *
     * @return boolean
     */
    public boolean isNewStartClue() {
        if (Objects.isNull(changeType)) {
            return Boolean.FALSE;
        }
        return ChangeType.ADD.equals(changeType);
    }

    /**
     * 中途终止的线索
     *
     * @return boolean
     */
    public boolean isStopClue() {
        if (Objects.isNull(changeType)) {
            return Boolean.FALSE;
        }
        return ChangeType.ABANDON.equals(changeType) ||
                ChangeType.COMPLETE.equals(changeType) ||
                ChangeType.OTHER_COMPLETE.equals(changeType) ||
                ChangeType.ROLE_CHANGE.equals(changeType);
    }

    public enum ChangeType {
        ADD,
        STOP,
        /**
         * 主动放弃
         */
        ABANDON,
        /**
         * 成交
         */
        COMPLETE,
        /**
         * 他人成交
         */
        OTHER_COMPLETE,
        /**
         * 角色变动
         */
        ROLE_CHANGE
    }
}