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; 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 id){ return TaskInfo.builder() .id(id.get()) .name(req.getName()) .weight(req.getWeight()) .remark(req.getRemark()) .build(); } }