1、批量删除任务及其关联数据
2、onlyoffice回调接口跳过鉴权
This commit is contained in:
@@ -247,4 +247,14 @@ public class SimulationTaskController implements ISimulationTaskFeignClient {
|
||||
return taskService.getProjectDifficultStatistics(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除任务及相关数据
|
||||
*/
|
||||
@SysLog("删除任务及相关数据")
|
||||
@PostMapping("/deleteTask")
|
||||
@Operation(summary = "删除任务及相关数据", description = "删除任务及相关数据")
|
||||
public SdmResponse deleteTask(@RequestBody @Validated SpdmDeleteTaskReq req) {
|
||||
return taskService.deleteTask(req);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.sdm.project.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sdm.common.entity.req.project.SimulationPerformance;
|
||||
import com.sdm.project.model.entity.SimulationPerformanceExtra;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-03
|
||||
*/
|
||||
public interface SimulationPerformanceExtraMapper extends BaseMapper<SimulationPerformanceExtra> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.sdm.project.model.entity;
|
||||
|
||||
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 io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-09-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("simulation_performance_extra")
|
||||
@ApiModel(value="SimulationPerformanceExtra对象", description="")
|
||||
public class SimulationPerformanceExtra implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
@TableField("uuid")
|
||||
private String uuid;
|
||||
|
||||
@TableField("performanceId")
|
||||
private String performanceId;
|
||||
|
||||
@TableField("taskId")
|
||||
private String taskId;
|
||||
|
||||
@TableField("nodeId")
|
||||
private String nodeId;
|
||||
|
||||
@TableField("poolName")
|
||||
private String poolName;
|
||||
|
||||
|
||||
@TableField("propertyName")
|
||||
private String propertyName;
|
||||
|
||||
@TableField("propertyValue")
|
||||
private String propertyValue;
|
||||
|
||||
@TableField("valueType")
|
||||
private String valueType;
|
||||
|
||||
@TableField("propertyClass")
|
||||
private String propertyClass;
|
||||
|
||||
@TableField("creator")
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long creator;
|
||||
|
||||
@TableField("create_time")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
|
||||
@TableField("updater")
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private Long updater;
|
||||
|
||||
@TableField("update_time")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private String updateTime;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 删除任务及相关数据请求参数
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "删除任务及相关数据请求参数")
|
||||
public class SpdmDeleteTaskReq {
|
||||
|
||||
@Schema(description = "任务id集合")
|
||||
@NotEmpty
|
||||
private List<String> taskIdList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.sdm.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.entity.req.project.SimulationPerformance;
|
||||
import com.sdm.project.model.entity.SimulationPerformanceExtra;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-03
|
||||
*/
|
||||
public interface ISimulationPerformanceExtraService extends IService<SimulationPerformanceExtra> {
|
||||
|
||||
}
|
||||
@@ -76,4 +76,7 @@ public interface ITaskService {
|
||||
SdmResponse<List<JSONObject>> getTaskDifficultStatistics();
|
||||
|
||||
SdmResponse<List<ProjectDifficultStatisticsResp>> getProjectDifficultStatistics(ProjectDifficultCompleteStatisticsReq req);
|
||||
|
||||
SdmResponse deleteTask(SpdmDeleteTaskReq req);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.sdm.project.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sdm.common.entity.req.project.SimulationPerformance;
|
||||
import com.sdm.project.dao.SimulationPerformanceExtraMapper;
|
||||
import com.sdm.project.dao.SimulationPerformanceMapper;
|
||||
import com.sdm.project.model.entity.SimulationPerformanceExtra;
|
||||
import com.sdm.project.service.ISimulationPerformanceExtraService;
|
||||
import com.sdm.project.service.ISimulationPerformanceService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author author
|
||||
* @since 2025-11-03
|
||||
*/
|
||||
@Service
|
||||
public class SimulationPerformanceExtraServiceImpl extends ServiceImpl<SimulationPerformanceExtraMapper, SimulationPerformanceExtra> implements ISimulationPerformanceExtraService {
|
||||
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import com.sdm.common.entity.enums.DirTypeEnum;
|
||||
import com.sdm.common.entity.enums.FilePermissionEnum;
|
||||
import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.DelDirReq;
|
||||
import com.sdm.common.entity.req.data.QueryFileReq;
|
||||
import com.sdm.common.entity.req.data.UpdatePermissionReq;
|
||||
import com.sdm.common.entity.req.project.SimulationPerformance;
|
||||
@@ -110,6 +111,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
@Autowired
|
||||
private SimulationFlowFeignClientImpl flowFeignClient;
|
||||
|
||||
@Autowired
|
||||
private ISimulationPerformanceExtraService simulationPerformanceExtraService;
|
||||
|
||||
private static final String NODE_NAME_KEY = "nodeName";
|
||||
|
||||
private static final String NODE_CODE_KEY = "nodeCode";
|
||||
@@ -2656,4 +2660,42 @@ public class TaskServiceImpl implements ITaskService {
|
||||
return SdmResponse.success(projectDifficultStatisticsRespList.stream().sorted(Comparator.comparingInt(ProjectDifficultStatisticsResp::getDifficult)).toList());
|
||||
}
|
||||
|
||||
// 删除文件夹
|
||||
public void deleteDirNew(List<String> uuidList) {
|
||||
for (String uuid : uuidList) {
|
||||
DelDirReq req = new DelDirReq();
|
||||
req.setDelUuid(uuid);
|
||||
log.info("调用删除文件夹的参数为:{}", req);
|
||||
SdmResponse response = dataClientFeignClient.delDir(req);
|
||||
log.info("调用删除文件夹的返回值为:{}", response);
|
||||
if (response.getCode() != ResultCode.SUCCESS.getCode()) {
|
||||
throw new RuntimeException(response.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public SdmResponse deleteTask(SpdmDeleteTaskReq req) {
|
||||
List<String> taskIdList = req.getTaskIdList();
|
||||
// 删除任务相关数据
|
||||
simulationTaskService.lambdaUpdate().in(SimulationTask::getUuid, taskIdList).remove();
|
||||
simulationTaskMemberService.lambdaUpdate().in(SimulationTaskMember::getTaskId, taskIdList).remove();
|
||||
simulationTaskExtraService.lambdaUpdate().in(SimulationTaskExtra::getTaskId, taskIdList).remove();
|
||||
simulationTaskAttentionService.lambdaUpdate().in(SimulationTaskAttention::getTaskId, taskIdList).remove();
|
||||
// 删除指标相关数据
|
||||
List<SimulationPerformance> performanceList = simulationPerformanceService.lambdaQuery().in(SimulationPerformance::getTaskId, taskIdList).list();
|
||||
if (CollectionUtils.isNotEmpty(performanceList)) {
|
||||
simulationPerformanceService.lambdaUpdate().in(SimulationPerformance::getTaskId, taskIdList).remove();
|
||||
simulationPerformanceExtraService.lambdaUpdate().in(SimulationPerformanceExtra::getPerformanceId, performanceList.stream().map(SimulationPerformance::getUuid).toList()).remove();
|
||||
}
|
||||
try {
|
||||
deleteDirNew(taskIdList);
|
||||
}catch (Exception e) {
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return SdmResponse.failed("删除任务失败,原因为:" + e.getMessage());
|
||||
}
|
||||
return SdmResponse.success("删除任务成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user