opt:1.新增国际化准备工作。

This commit is contained in:
2026-02-04 09:37:08 +08:00
parent 67653cc200
commit 6c9c1c95e4
24 changed files with 474 additions and 108 deletions

View File

@@ -4,10 +4,7 @@ import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.nl.logging.annotation.Log;
import org.nl.enums.TaskSourceEnum;
import org.nl.task.param.CancelTaskRequestParam;
import org.nl.task.param.CreateTaskRequestParam;
import org.nl.task.param.OneClickOperationRequestParam;
import org.nl.task.param.PauseAndResumeTaskParam;
import org.nl.task.param.*;
import org.nl.task.service.TaskService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -32,6 +29,12 @@ public class TaskController {
return new ResponseEntity<>(taskService.createTask(createTaskRequestParam, TaskSourceEnum.SCREEN.getName()), HttpStatus.OK);
}
@PostMapping("/queryTask")
@Log("查询任务")
public ResponseEntity<Object> queryTask(@RequestBody @Validated QueryTaskRequestParam queryTaskRequestParam){
return new ResponseEntity<>(taskService.queryTask(queryTaskRequestParam), HttpStatus.OK);
}
@PostMapping("/cancelTask")
@Log("取消任务")
public ResponseEntity<Object> cancelTask(@RequestBody @Validated CancelTaskRequestParam cancelTaskRequestParam){

View File

@@ -0,0 +1,41 @@
package org.nl.task.enums;
import lombok.Getter;
/**
* @author dsh
* 2025/12/1
*/
@Getter
public enum OneClickTaskTypeEnum {
/**
* 一键充电
*/
CHARGE("Charge", "CHARGE", "一键充电"),
/**
* 一键加水
*/
REFILL("Refill", "WATER", "一键加水");
private String code;
private String scheduleType;
private String desc;
OneClickTaskTypeEnum(String code, String scheduleType, String desc) {
this.code = code;
this.scheduleType = scheduleType;
this.desc = desc;
}
public static String mappingScheduleTypeByCode(String code){
for (OneClickTaskTypeEnum oneClickTaskTypeEnum: OneClickTaskTypeEnum.values()){
if (oneClickTaskTypeEnum.code.equals(code)){
return oneClickTaskTypeEnum.scheduleType;
}
}
return null;
}
}

View File

@@ -0,0 +1,44 @@
package org.nl.task.param;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author dsh
* 2026/2/3
*/
@Data
public class QueryTaskRequestParam {
/**
* 当前页
*/
@NotNull(message = "当前页不能为空")
private Integer pageNum;
/**
* 页数大小
*/
@NotNull(message = "页数大小不能为空")
private Integer pageSize;
/**
* 任务号
*/
private String task_code;
/**
* 任务状态
*/
private String status;
/**
* 目标点
*/
private String destinations;
/**
* 任务类型
*/
private String type;
}

View File

@@ -3,10 +3,7 @@ package org.nl.task.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.response.WebResponse;
import org.nl.task.entity.Task;
import org.nl.task.param.CancelTaskRequestParam;
import org.nl.task.param.CreateTaskRequestParam;
import org.nl.task.param.OneClickOperationRequestParam;
import org.nl.task.param.PauseAndResumeTaskParam;
import org.nl.task.param.*;
import java.util.List;
@@ -22,6 +19,12 @@ public interface TaskService extends IService<Task>{
*/
WebResponse createTask(CreateTaskRequestParam createTaskRequestParam, String taskSource);
/**
* 查询任务
* @return WebResponse
*/
WebResponse queryTask(QueryTaskRequestParam queryTaskRequestParam);
/**
* 取消任务
* @return WebResponse

View File

@@ -10,6 +10,8 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -21,14 +23,12 @@ import org.nl.enums.YesOrNoEnum;
import org.nl.exception.BadRequestException;
import org.nl.response.WebResponse;
import org.nl.task.entity.Task;
import org.nl.task.enums.OneClickTaskTypeEnum;
import org.nl.task.enums.ScheduleTaskStatusEnum;
import org.nl.task.enums.TaskStatusEnum;
import org.nl.task.enums.TaskTypeEnum;
import org.nl.task.mapper.TaskMapper;
import org.nl.task.param.CancelTaskRequestParam;
import org.nl.task.param.CreateTaskRequestParam;
import org.nl.task.param.OneClickOperationRequestParam;
import org.nl.task.param.PauseAndResumeTaskParam;
import org.nl.task.param.*;
import org.nl.task.service.TaskService;
import org.nl.util.IdUtil;
import org.nl.util.TaskCodeGeneratorUtil;
@@ -77,7 +77,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
.lt(Task::getStatus,TaskStatusEnum.FINISHED.getCode())
);
currentTaskList.clear();
currentTaskList = taskList;
currentTaskList.addAll(taskList);
taskInfoList.clear();
//根据车辆编号分类 车辆任务队列。
if (!taskList.isEmpty()) {
@@ -161,6 +161,18 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
}
}
@Override
public WebResponse queryTask(QueryTaskRequestParam param) {
Page<Task> page = new Page<>(param.getPageNum(),param.getPageSize());
IPage<Task> infoPage = taskMapper.selectPage(page,new LambdaQueryWrapper<>(Task.class)
.likeRight(StrUtil.isNotBlank(param.getTask_code()),Task::getTask_code,param.getTask_code())
.eq(StrUtil.isNotBlank(param.getStatus()),Task::getStatus,param.getStatus())
.eq(StrUtil.isNotBlank(param.getDestinations()),Task::getDestinations,param.getDestinations())
.eq(StrUtil.isNotBlank(param.getType()),Task::getType,param.getType())
);
return WebResponse.requestParamOk(infoPage);
}
@Override
@Transactional(rollbackFor = Exception.class)
public WebResponse cancelTask(CancelTaskRequestParam cancelTaskRequestParam) {
@@ -296,6 +308,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper,Task> implements Tas
taskMapper.insert(task);
ScheduleAPICreateOneClickTaskParam scheduleAPICreateOneClickTaskParam = BeanUtil.copyProperties(task, ScheduleAPICreateOneClickTaskParam.class);
scheduleAPICreateOneClickTaskParam.setType(OneClickTaskTypeEnum.mappingScheduleTypeByCode(oneClickOperationRequestParam.getType()));
HttpResponse result = scheduleTaskAPI.oneClickOperationTask(scheduleAPICreateOneClickTaskParam);
if (result == null || !result.isOk()){
throw new BadRequestException("调度生成一键任务失败");