From 5d1c1d3bf4524233e074bd2ea04390f29463c80f Mon Sep 17 00:00:00 2001
From: Cui YongXing <2835316714@qq.com>
Date: Thu, 22 Aug 2024 19:20:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E6=89=80=E6=9C=89=E4=BB=BB=E5=8A=A1=E4=BF=A1=E6=81=AF=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/java/com/muyu/Main.java | 7 --
.../java/com/muyu/common/domian/TaskInfo.java | 91 +++++++++++++++++++
.../common/domian/req/TaskInfoListReq.java | 46 ++++++++++
.../muyu/common/domian/resp/TaskInfoResp.java | 41 +++++++++
cloud-task-server/pom.xml | 4 +
.../server/controller/TaskInfoController.java | 42 +++++++++
.../task/server/mapper/TaskInfoMapper.java | 12 +++
.../task/server/service/TaskInfoService.java | 15 +++
.../service/impl/TaskInfoServiceImpl.java | 47 ++++++++++
9 files changed, 298 insertions(+), 7 deletions(-)
delete mode 100644 cloud-task-common/src/main/java/com/muyu/Main.java
create mode 100644 cloud-task-common/src/main/java/com/muyu/common/domian/TaskInfo.java
create mode 100644 cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInfoListReq.java
create mode 100644 cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInfoResp.java
create mode 100644 cloud-task-server/src/main/java/com/muyu/task/server/controller/TaskInfoController.java
create mode 100644 cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInfoMapper.java
create mode 100644 cloud-task-server/src/main/java/com/muyu/task/server/service/TaskInfoService.java
create mode 100644 cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java
diff --git a/cloud-task-common/src/main/java/com/muyu/Main.java b/cloud-task-common/src/main/java/com/muyu/Main.java
deleted file mode 100644
index 95690d4..0000000
--- a/cloud-task-common/src/main/java/com/muyu/Main.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.muyu;
-
-public class Main {
- public static void main(String[] args) {
- System.out.println("Hello world!");
- }
-}
\ No newline at end of file
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInfo.java b/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInfo.java
new file mode 100644
index 0000000..d2c5823
--- /dev/null
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/TaskInfo.java
@@ -0,0 +1,91 @@
+package com.muyu.common.domian;
+
+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.muyu.common.core.web.domain.BaseEntity;
+import com.muyu.common.domian.resp.TaskInfoResp;
+import lombok.*;
+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 Integer 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();
+ }
+}
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInfoListReq.java b/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInfoListReq.java
new file mode 100644
index 0000000..6b7b74b
--- /dev/null
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/req/TaskInfoListReq.java
@@ -0,0 +1,46 @@
+package com.muyu.common.domian.req;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Administrator
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Tag(name = "任务列表请求对象" )
+public class TaskInfoListReq {
+ /**
+ * 任务名称
+ */
+ @Schema(name = "name",description = "任务名称")
+ private String name;
+ /**
+ * 任务权重级别
+ */
+ @Schema(name = "weight",description = "任务权重级别")
+ private Integer weight;
+ /**
+ * 任务执行状态
+ */
+ @Schema(name = "processStatus",description = "任务执行状态")
+ private String processStatus;
+
+ /**
+ * 任务执行状态
+ */
+ @Schema(name = "pageNum",description = "分页页数")
+ private Integer pageNum;
+
+ /**
+ * 任务执行状态
+ */
+ @Schema(name = "pageSize",description = "每页展示几条")
+ private Integer pageSize;
+}
diff --git a/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInfoResp.java b/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInfoResp.java
new file mode 100644
index 0000000..47319f2
--- /dev/null
+++ b/cloud-task-common/src/main/java/com/muyu/common/domian/resp/TaskInfoResp.java
@@ -0,0 +1,41 @@
+package com.muyu.common.domian.resp;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Administrator
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Tag(name = "任务列表返回对象" ,description = "负责任务信息查询的响应结果")
+public class TaskInfoResp {
+ /**
+ * id
+ */
+ private Long Id;
+ /**
+ * 任务名称
+ */
+ private String name;
+ /**
+ * 任务权重级别
+ */
+ private Integer weight;
+ /**
+ * 任务执行状态
+ */
+ private String processStatus;
+ /**
+ * 任务是否执行成功
+ */
+ private String status;
+
+}
diff --git a/cloud-task-server/pom.xml b/cloud-task-server/pom.xml
index 15a39b2..0593f15 100644
--- a/cloud-task-server/pom.xml
+++ b/cloud-task-server/pom.xml
@@ -90,6 +90,10 @@
com.muyu
cloud-common-nacos-api
+
+ com.muyu
+ cloud-task-common
+
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/controller/TaskInfoController.java b/cloud-task-server/src/main/java/com/muyu/task/server/controller/TaskInfoController.java
new file mode 100644
index 0000000..1da9711
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/controller/TaskInfoController.java
@@ -0,0 +1,42 @@
+package com.muyu.task.server.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.muyu.common.core.domain.Result;
+import com.muyu.common.domian.req.TaskInfoListReq;
+import com.muyu.common.domian.resp.TaskInfoResp;
+import com.muyu.task.server.service.TaskInfoService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@RestController
+@RequestMapping("taskInfo")
+@Tag(name = "任务控制层", description = "进行任务管理查询操作")
+public class TaskInfoController {
+
+ @Autowired
+ private TaskInfoService taskInfoService;
+
+ /**
+ * 获取所有的任务信息
+ * @param req
+ * @return
+ */
+ @PostMapping("/list")
+ @Operation(summary = "查看任务", description = "根据任务名称 权重 状态 查询")
+ public Result> selectList(TaskInfoListReq req) {
+ return Result.success(taskInfoService.selectList(req));
+ }
+
+
+
+
+}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInfoMapper.java b/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInfoMapper.java
new file mode 100644
index 0000000..04e25b7
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/mapper/TaskInfoMapper.java
@@ -0,0 +1,12 @@
+package com.muyu.task.server.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.common.domian.TaskInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author Administrator
+ */
+@Mapper
+public interface TaskInfoMapper extends BaseMapper {
+}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/TaskInfoService.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/TaskInfoService.java
new file mode 100644
index 0000000..4b33c64
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/TaskInfoService.java
@@ -0,0 +1,15 @@
+package com.muyu.task.server.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.common.domian.TaskInfo;
+import com.muyu.common.domian.req.TaskInfoListReq;
+import com.muyu.common.domian.resp.TaskInfoResp;
+
+/**
+ * @author Administrator
+ */
+
+public interface TaskInfoService extends IService {
+ Page selectList(TaskInfoListReq req);
+}
diff --git a/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java
new file mode 100644
index 0000000..d807f94
--- /dev/null
+++ b/cloud-task-server/src/main/java/com/muyu/task/server/service/impl/TaskInfoServiceImpl.java
@@ -0,0 +1,47 @@
+package com.muyu.task.server.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.StringUtils;
+import com.muyu.common.domian.TaskInfo;
+import com.muyu.common.domian.req.TaskInfoListReq;
+import com.muyu.common.domian.resp.TaskInfoResp;
+import com.muyu.task.server.mapper.TaskInfoMapper;
+import com.muyu.task.server.service.TaskInfoService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@Service
+public class TaskInfoServiceImpl extends ServiceImpl implements TaskInfoService {
+
+ @Resource
+ private TaskInfoMapper taskInfoMapper;
+
+ @Override
+ public Page selectList(TaskInfoListReq req) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.like(StringUtils.isNotEmpty(req.getName()), TaskInfo::getName, req.getName());
+ queryWrapper.eq(req.getWeight()!=null, TaskInfo::getWeight, req.getWeight());
+ queryWrapper.eq(StringUtils.isNotEmpty(req.getProcessStatus()), TaskInfo::getProcessStatus, req.getProcessStatus());
+ Page page = new Page<>(req.getPageNum(), req.getPageSize());
+ Page taskInfoPage = taskInfoMapper.selectPage(page, queryWrapper);
+ long total = taskInfoPage.getTotal();
+ long pages = taskInfoPage.getPages();
+ long size = taskInfoPage.getSize();
+ long current = taskInfoPage.getCurrent();
+ List list = taskInfoPage.getRecords().stream().map(taskInfo -> TaskInfo.build(taskInfo)).toList();
+ Page respPage = new Page<>();
+ respPage.setRecords(list);
+ respPage.setCurrent(current);
+ respPage.setSize(size);
+ respPage.setTotal(total);
+ respPage.setPages(pages);
+ return respPage;
+ }
+}