cloud-etl-task/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInfo.java

123 lines
2.8 KiB
Java

package com.muyu.common.domian;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.common.domian.req.TaskInfoAddReq;
import com.muyu.common.domian.req.TaskInfoUpdReq;
import com.muyu.common.domian.resp.TaskInfoResp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.function.Supplier;
@EqualsAndHashCode(callSuper = true)
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "etl_task" ,autoResultMap = true)
public class TaskInfo extends BaseEntity {
/**
* id
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 任务名称
*/
private String name;
/**
* 任务权重级别
*/
private String weight;
/**
* 任务执行状态
*/
private String processStatus;
/**
* 任务是否执行成功
*/
private String status;
/**
* 总处理条数
*/
private Long total;
/**
* 已处理完条数
*/
private Long processTotal;
/**
* 错误条数
*/
private Long errorTotal;
/**
* 总执行次数
*/
private Long executeTotal;
/**
* 已完成执行次数
*/
private Long completeExecuteTotal;
/**
* 成功插入条数
*/
private Long successInsertTotal;
/**
* 成功修改条数
*/
private Long successUpdateTotal;
/**
* 成功删除条数
*/
private Long successDeleteTotal;
/**
* 累计处理时间
*/
private Date grandTotalTime;
/**
* json
*/
private String json;
public static TaskInfoResp build(TaskInfo taskInfo){
return TaskInfoResp.builder()
.id(taskInfo.id)
.name(taskInfo.name)
.processStatus(taskInfo.processStatus)
.status(taskInfo.status)
.weight(taskInfo.weight)
.build();
}
public static TaskInfo addBuild(TaskInfoAddReq req) {
return TaskInfo.builder()
.name(req.getName())
.weight(req.getWeight())
.status("N")
.processStatus("0")
.remark(req.getRemark())
.build();
}
public static TaskInfo updBuild(TaskInfoUpdReq req, Supplier<Long> id){
return TaskInfo.builder()
.id(id.get())
.name(req.getName())
.weight(req.getWeight())
.remark(req.getRemark())
.build();
}
}