Browse Source

feat: 实验/日志/容器管理controller预定义

master
guoapeng 6 months ago
parent
commit
dd37f5ff6c
  1. 35
      sql/demo.sql
  2. 29
      src/main/java/com/qyft/gd/controller/ContainerController.java
  3. 38
      src/main/java/com/qyft/gd/controller/LogsController.java
  4. 62
      src/main/java/com/qyft/gd/controller/TasksController.java
  5. 32
      src/main/java/com/qyft/gd/model/entity/Container.java
  6. 24
      src/main/java/com/qyft/gd/model/entity/Logs.java
  7. 24
      src/main/java/com/qyft/gd/model/entity/TaskSteps.java
  8. 36
      src/main/java/com/qyft/gd/model/entity/Tasks.java

35
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
);

29
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<List<Container>> getAllContainer() {
return Result.success();
}
@Operation(summary = "更新容器配置")
@PutMapping("/{id}")
public Result<String> updateContainer( @RequestBody Container container) {
return Result.success();
}
}

38
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<Logs> getAllTasks(BasePageQuery pageQuery) {
return PageResult.success(null);
}
@Operation(summary = "日志详情")
@GetMapping("/")
public Result<Logs> detail(@RequestParam Long id) {
return Result.success(null);
}
@Operation(summary = "删除日志")
@DeleteMapping("/{ids}")
public Result<String> deleteLog(@Parameter(description = "日志ID,多个以英文逗号(,)分割") @PathVariable String ids) {
return Result.success();
}
}

62
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<Tasks> getAllTasks(BasePageQuery pageQuery) {
return PageResult.success(null);
}
@Operation(summary = "实验详情")
@GetMapping("/")
public Result<Tasks> detail(@RequestParam Long id) {
return Result.success(null);
}
@Operation(summary = "添加新实验")
@PostMapping("/")
public Result<String> addTask(@RequestBody Tasks task) {
return Result.success();
}
@Operation(summary = "更新实验")
@PutMapping("/{id}")
public Result<String> updateTask(@PathVariable Long id, @RequestBody Tasks task) {
return Result.success();
}
@Operation(summary = "删除实验")
@DeleteMapping("/{ids}")
public Result<String> deleteTask(@Parameter(description = "实验ID,多个以英文逗号(,)分割") @PathVariable String ids) {
return Result.success();
}
@Operation(summary = "开始实验接口")
@PostMapping("/start")
public Result<String> startTask(@Parameter(description = "实验id") @RequestParam Long taskId) {
return Result.success();
}
@Operation(summary = "停止实验")
@PostMapping("/stop")
public Result<String> stopTask(@Parameter(description = "实验id") @RequestParam Long taskId) {
return Result.success();
}
}

32
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;
}

24
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;
}

24
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;
}

36
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;
}
Loading…
Cancel
Save