102 lines
2.4 KiB
Java
102 lines
2.4 KiB
Java
package quant.rich.emoney.entity.sqlite;
|
||
|
||
import java.util.ArrayList;
|
||
import java.util.Collections;
|
||
import java.util.HashSet;
|
||
import java.util.List;
|
||
import java.util.Set;
|
||
|
||
import org.apache.commons.lang3.StringUtils;
|
||
import org.springframework.util.CollectionUtils;
|
||
|
||
import com.baomidou.mybatisplus.annotation.IdType;
|
||
import com.baomidou.mybatisplus.annotation.TableField;
|
||
import com.baomidou.mybatisplus.annotation.TableId;
|
||
import com.baomidou.mybatisplus.annotation.TableName;
|
||
import com.fasterxml.jackson.databind.JsonNode;
|
||
|
||
import lombok.Data;
|
||
import lombok.experimental.Accessors;
|
||
import quant.rich.emoney.mybatis.typehandler.CommaListTypeHandler;
|
||
import quant.rich.emoney.mybatis.typehandler.JsonStringTypeHandler;
|
||
|
||
@Data
|
||
@Accessors(chain = true)
|
||
@TableName(value = "plan", autoResultMap = true)
|
||
public class Plan {
|
||
|
||
/**
|
||
* 键 ID
|
||
*/
|
||
@TableId(type = IdType.AUTO)
|
||
private String planId;
|
||
|
||
/**
|
||
* 计划任务表达式
|
||
*/
|
||
private String cronExpr;
|
||
|
||
/**
|
||
* 计划名称
|
||
*/
|
||
private String planName;
|
||
|
||
/**
|
||
* 指标代码
|
||
*/
|
||
private String indexCode;
|
||
|
||
/**
|
||
* 需要抓取的指标周期
|
||
*/
|
||
@TableField(typeHandler = CommaListTypeHandler.class)
|
||
private List<String> periods;
|
||
|
||
/**
|
||
* 参数
|
||
*/
|
||
@TableField(typeHandler = JsonStringTypeHandler.class)
|
||
private JsonNode params;
|
||
|
||
/**
|
||
* 是否启用
|
||
*/
|
||
private Boolean enabled;
|
||
|
||
/**
|
||
* 交易日检查,若为 true,则任务执行时判断当日是否为交易日,若是则不执行任务,
|
||
* 反之无论是否为交易日都执行
|
||
*/
|
||
private Boolean openDayCheck;
|
||
|
||
/**
|
||
* 设置抓取周期并去重
|
||
* @param periods
|
||
* @return
|
||
*/
|
||
public Plan setPeriods(List<String> periods) {
|
||
if (CollectionUtils.isEmpty(periods)) {
|
||
this.periods = Collections.emptyList();
|
||
return this;
|
||
}
|
||
Set<String> hashSet = new HashSet<>();
|
||
periods.forEach(s -> {
|
||
if (StringUtils.isNotBlank(s)) {
|
||
hashSet.add(s.trim());
|
||
}
|
||
});
|
||
this.periods = new ArrayList<>(hashSet);
|
||
return this;
|
||
}
|
||
|
||
/**
|
||
* 获取抓取周期。已去重
|
||
* @return
|
||
*/
|
||
public List<String> getPeriods() {
|
||
setPeriods(periods);
|
||
return periods;
|
||
}
|
||
|
||
}
|