add:增加后台管理系统

This commit is contained in:
2026-01-30 17:16:46 +08:00
parent acf269e92a
commit 778c8de6cd
155 changed files with 9913 additions and 51 deletions

View File

@@ -3,7 +3,7 @@ package org.nl.task.controller;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.nl.logging.annotation.Log;
import org.nl.task.enums.TaskSourceEnum;
import org.nl.enums.TaskSourceEnum;
import org.nl.task.param.CancelTaskRequestParam;
import org.nl.task.param.CreateTaskRequestParam;
import org.nl.task.param.OneClickOperationRequestParam;
@@ -14,8 +14,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author dsh
* 2025/11/27
@@ -70,4 +68,10 @@ public class TaskController {
return new ResponseEntity<>(taskService.oneClickOperation(oneClickOperationRequestParam, TaskSourceEnum.SCREEN.getName()),HttpStatus.OK);
}
@GetMapping("/queryCurrentTaskInfo")
@Log("查询当前任务")
public ResponseEntity<Object> queryCurrentTaskInfo(){
return new ResponseEntity<>(taskService.queryCurrentTaskInfo(),HttpStatus.OK);
}
}

View File

@@ -1,39 +0,0 @@
package org.nl.task.enums;
import lombok.Getter;
/**
* @author dsh
* 2025/11/27
*/
@Getter
public enum TaskSourceEnum {
/**
* APP
*/
APP("1", "app", "app"),
/**
* 屏幕
*/
SCREEN("2", "screen", "屏幕"),
/**
* 外部API
*/
EXTERNAL_API("3", "API", "外部API"),
/**
* 二维码
*/
QRCODE("4", "QRCode", "二维码");
private String code;
private String name;
private String desc;
TaskSourceEnum(String code, String name, String desc) {
this.code = code;
this.name = name;
this.desc = desc;
}
}

View File

@@ -9,12 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.nl.api.task.api.TaskAPI;
import org.nl.api.task.core.QRCodeTaskRequestParam;
import org.nl.enums.ScheduleTaskReportStatusEnum;
import org.nl.exception.BadRequestException;
import org.nl.api.task.core.TaskRequestParam;
import org.nl.response.WebResponse;
import org.nl.task.entity.Task;
import org.nl.task.enums.TaskSourceEnum;
import org.nl.enums.TaskSourceEnum;
import org.nl.task.enums.TaskStatusEnum;
import org.nl.task.param.CancelTaskRequestParam;
import org.nl.task.param.CreateTaskRequestParam;
@@ -72,9 +70,9 @@ public class TaskAPIProvider implements TaskAPI {
}
@Override
public WebResponse createTask(QRCodeTaskRequestParam qrCodeTaskRequestParam) {
CreateTaskRequestParam param = BeanUtil.toBean(qrCodeTaskRequestParam, CreateTaskRequestParam.class);
return taskService.createTask(param, TaskSourceEnum.QRCODE.getName());
public WebResponse createTask(TaskRequestParam taskRequestParam,String taskSource) {
CreateTaskRequestParam param = BeanUtil.toBean(taskRequestParam, CreateTaskRequestParam.class);
return taskService.createTask(param, taskSource);
}
@Override

View File

@@ -66,7 +66,7 @@ public interface TaskService extends IService<Task>{
WebResponse oneClickOperation(OneClickOperationRequestParam oneClickOperationRequestParam,String taskSource);
/**
* 根据房间号查询当前任务信息
* 查询当前任务信息
* @return List<Task>
*/
List<Task> queryCurrentTaskInfo();

View File

@@ -169,11 +169,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
throw new BadRequestException("任务号不能为空");
}
HttpResponse result = scheduleTaskAPI.cancelTask(cancelTaskRequestParam.getTask_code());
if (result == null || !result.isOk()){
log.info("取消调度任务失败");
throw new BadRequestException("取消调度任务失败");
}
// HttpResponse result = scheduleTaskAPI.cancelTask(cancelTaskRequestParam.getTask_code());
// if (result == null || !result.isOk()){
// log.info("取消调度任务失败");
// throw new BadRequestException("取消调度任务失败");
// }
taskMapper.update(new LambdaUpdateWrapper<>(Task.class)
.set(Task::getStatus,TaskStatusEnum.CANCELED.getCode())
@@ -260,6 +260,12 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
@Override
public WebResponse taskOperationConfirm(String task_code) {
// 校验一下当前是否到达上报点位,如果未到达上报点位,不能触发确认到达。
Task task = taskMapper.selectOne(new LambdaQueryWrapper<>(Task.class).eq(Task::getTask_code, task_code));
if (!ScheduleTaskReportStatusEnum.REPORTED.getCode().equals(task.getVehicleReportStatus())) {
throw new BadRequestException("未到达上报点位,无法确认到达");
}
boolean reuslt = taskMapper.update(new LambdaUpdateWrapper<>(Task.class)
.set(Task::getVehicleReportStatus, ScheduleTaskReportStatusEnum.FINISH_REPORTED.getCode())
.set(Task::getUpdate_time,DateUtil.now())