FollowPoolQueryVO.java 2.22 KB
package cn.fw.valhalla.domain.query;

import cn.fw.common.page.BasePageQuery;
import cn.fw.valhalla.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
import java.util.Objects;

/**
 * 档案查询条件
 *
 * @author kurisu
 */

@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FollowPoolQueryVO extends BasePageQuery {
    private Integer type;
    private String plateNo;
    private Long userId;
    private Long shopId;
    /**
     * 跟进状态
     */
    private Integer state;
    /**
     * 二次分配
     */
    private Integer redistribution;
    /**
     * 主动放弃
     */
    private Integer initiative;
    private String startTime;
    private String endTime;

    /**
     * 1升序 2降序
     */
    private Integer order;
    private String orderAtt;

    private String orderString;
    private Long groupId;

    public Integer getInitiative() {
        if (Objects.isNull(initiative)) {
            return null;
        }
        return initiative == 1 ? initiative : 0;
    }

    public Integer getRedistribution() {
        if (Objects.isNull(redistribution)) {
            return null;
        }
        return redistribution == 1 ? redistribution : 0;
    }

    public Date getStartTime() {
        if (StringUtils.isNotBlank(startTime) && NumberUtils.isDigits(startTime)) {
            LocalDateTime localDateTime = Instant.ofEpochMilli(NumberUtils.toLong(startTime)).atZone(ZoneId.systemDefault()).toLocalDateTime();
            return DateUtil.getBeginInTime(DateUtil.localDateTime2Date(localDateTime));
        }
        return DateUtil.getMonthFirstDay();
    }

    public Date getEndTime() {
        if (StringUtils.isNotBlank(endTime) && NumberUtils.isDigits(endTime)) {
            LocalDateTime localDateTime = Instant.ofEpochMilli(NumberUtils.toLong(endTime)).atZone(ZoneId.systemDefault()).toLocalDateTime();
            return DateUtil.getEndInTime(DateUtil.localDateTime2Date(localDateTime));
        }
        return new Date();
    }
}