diff --git a/sql/demo.sql b/sql/demo.sql index 8e44057..b071d6b 100644 --- a/sql/demo.sql +++ b/sql/demo.sql @@ -89,3 +89,38 @@ CREATE TABLE IF NOT EXISTS crafts ( create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); + +-- 创建 crafts 实验 +CREATE TABLE IF NOT EXISTS tasks ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR NOT NULL, + start_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + end_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + status INTEGER, + create_user INTEGER, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + is_deleted INTEGER +); +-- 创建 crafts 容器 +CREATE TABLE IF NOT EXISTS container ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + type INTEGER, + solution_id INTEGER, + capacity_total INTEGER, + capacity_used INTEGER +); +-- 创建 crafts 日志 +CREATE TABLE IF NOT EXISTS logs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + text TEXT + create_user INTEGER, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- 创建 crafts 步骤记录 +CREATE TABLE IF NOT EXISTS task_steps ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + task_id INTEGER, + step_description TEXT +); diff --git a/src/main/java/com/qyft/gd/controller/ContainerController.java b/src/main/java/com/qyft/gd/controller/ContainerController.java new file mode 100644 index 0000000..81ad4bf --- /dev/null +++ b/src/main/java/com/qyft/gd/controller/ContainerController.java @@ -0,0 +1,29 @@ +package com.qyft.gd.controller; + +import com.qyft.gd.model.entity.Container; +import com.qyft.gd.system.common.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "容器") +@RestController +@RequestMapping("/api/container") +@RequiredArgsConstructor +@Slf4j +public class ContainerController { + @Operation(summary = "容器列表") + @GetMapping("/list") + public Result> getAllContainer() { + return Result.success(); + } + @Operation(summary = "更新容器配置") + @PutMapping("/{id}") + public Result updateContainer( @RequestBody Container container) { + return Result.success(); + } +} diff --git a/src/main/java/com/qyft/gd/controller/LogsController.java b/src/main/java/com/qyft/gd/controller/LogsController.java new file mode 100644 index 0000000..af28bbe --- /dev/null +++ b/src/main/java/com/qyft/gd/controller/LogsController.java @@ -0,0 +1,38 @@ +package com.qyft.gd.controller; + +import com.qyft.gd.model.entity.Logs; +import com.qyft.gd.model.entity.Tasks; +import com.qyft.gd.system.common.base.BasePageQuery; +import com.qyft.gd.system.common.result.PageResult; +import com.qyft.gd.system.common.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "日志") +@RestController +@RequestMapping("/api/logs") +@RequiredArgsConstructor +@Slf4j +public class LogsController { + @Operation(summary = "日志列表") + @GetMapping("/list") + public PageResult getAllTasks(BasePageQuery pageQuery) { + return PageResult.success(null); + } + + @Operation(summary = "日志详情") + @GetMapping("/") + public Result detail(@RequestParam Long id) { + return Result.success(null); + } + + @Operation(summary = "删除日志") + @DeleteMapping("/{ids}") + public Result deleteLog(@Parameter(description = "日志ID,多个以英文逗号(,)分割") @PathVariable String ids) { + return Result.success(); + } +} diff --git a/src/main/java/com/qyft/gd/controller/TasksController.java b/src/main/java/com/qyft/gd/controller/TasksController.java new file mode 100644 index 0000000..626f189 --- /dev/null +++ b/src/main/java/com/qyft/gd/controller/TasksController.java @@ -0,0 +1,62 @@ +package com.qyft.gd.controller; + +import com.qyft.gd.model.entity.Tasks; +import com.qyft.gd.service.CraftsService; +import com.qyft.gd.system.common.base.BasePageQuery; +import com.qyft.gd.system.common.result.PageResult; +import com.qyft.gd.system.common.result.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "实验") +@RestController +@RequestMapping("/api/tasks") +@RequiredArgsConstructor +@Slf4j +public class TasksController { + @Operation(summary = "实验列表") + @GetMapping("/list") + public PageResult getAllTasks(BasePageQuery pageQuery) { + return PageResult.success(null); + } + + @Operation(summary = "实验详情") + @GetMapping("/") + public Result detail(@RequestParam Long id) { + return Result.success(null); + } + + @Operation(summary = "添加新实验") + @PostMapping("/") + public Result addTask(@RequestBody Tasks task) { + return Result.success(); + } + + @Operation(summary = "更新实验") + @PutMapping("/{id}") + public Result updateTask(@PathVariable Long id, @RequestBody Tasks task) { + return Result.success(); + } + + @Operation(summary = "删除实验") + @DeleteMapping("/{ids}") + public Result deleteTask(@Parameter(description = "实验ID,多个以英文逗号(,)分割") @PathVariable String ids) { + return Result.success(); + } + + @Operation(summary = "开始实验接口") + @PostMapping("/start") + public Result startTask(@Parameter(description = "实验id") @RequestParam Long taskId) { + return Result.success(); + } + + @Operation(summary = "停止实验") + @PostMapping("/stop") + public Result stopTask(@Parameter(description = "实验id") @RequestParam Long taskId) { + return Result.success(); + } +} diff --git a/src/main/java/com/qyft/gd/model/entity/Container.java b/src/main/java/com/qyft/gd/model/entity/Container.java new file mode 100644 index 0000000..5ac846e --- /dev/null +++ b/src/main/java/com/qyft/gd/model/entity/Container.java @@ -0,0 +1,32 @@ + +package com.qyft.gd.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qyft.gd.system.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Schema(description = "容器状态表") +@TableName("containerStatus") +@Data +public class Container extends BaseEntity { + + @NotBlank + @Schema(description = "类型") + private String type; + + @NotBlank + @Schema(description = "溶液id") + private String solutionId; + + @NotBlank + @Schema(description = "总容量") + private Integer capacityTotal; + + @NotBlank + @Schema(description = "使用容量") + private Integer capacityUsed; +} diff --git a/src/main/java/com/qyft/gd/model/entity/Logs.java b/src/main/java/com/qyft/gd/model/entity/Logs.java new file mode 100644 index 0000000..fdc6c4c --- /dev/null +++ b/src/main/java/com/qyft/gd/model/entity/Logs.java @@ -0,0 +1,24 @@ + +package com.qyft.gd.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qyft.gd.system.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Schema(description = "日志") +@TableName("logs") +@Data +public class Logs extends BaseEntity { + + @NotBlank + @Schema(description = "创建人") + private String createUser; + + @NotBlank + @Schema(description = "日志内容") + private String text; +} diff --git a/src/main/java/com/qyft/gd/model/entity/TaskSteps.java b/src/main/java/com/qyft/gd/model/entity/TaskSteps.java new file mode 100644 index 0000000..03f478e --- /dev/null +++ b/src/main/java/com/qyft/gd/model/entity/TaskSteps.java @@ -0,0 +1,24 @@ + +package com.qyft.gd.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qyft.gd.system.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Schema(description = "实验步骤") +@TableName("task_steps") +@Data +public class TaskSteps extends BaseEntity { + + @NotBlank + @Schema(description = "实验id") + private String task_id; + + @NotBlank + @Schema(description = "步骤描述") + private String step_description; +} diff --git a/src/main/java/com/qyft/gd/model/entity/Tasks.java b/src/main/java/com/qyft/gd/model/entity/Tasks.java new file mode 100644 index 0000000..c6b32e4 --- /dev/null +++ b/src/main/java/com/qyft/gd/model/entity/Tasks.java @@ -0,0 +1,36 @@ + +package com.qyft.gd.model.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qyft.gd.system.common.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Schema(description = "实验") +@TableName("tasks") +@Data +public class Tasks extends BaseEntity { + + @NotBlank + @Schema(description = "实验名称") + private String name; + + @NotBlank + @Schema(description = "开始时间") + private String start_time; + + @Schema(description = "创建人") + private String createUser; + + @Schema(description = "结束时间") + private String end_time; + + @Schema(description = "状态") + private String status; + + @Schema(description = "是否删除") + private String is_deleted; +}