2 Комити 6b83104e93 ... 2a8a1ba267

Аутор SHA1 Порука Датум
  刘桐 2a8a1ba267 Merge branch 'master' of http://git.jiayuepowertech.com:9022/liutong/xvji пре 2 недеља
  刘桐 927a8ac655 新增任务删除接口 пре 2 недеља

+ 2 - 0
xvji-admin/src/main/java/com/xvji/service/PredictTaskService.java

@@ -21,4 +21,6 @@ public interface PredictTaskService extends IService<PredictTask> {
      */
     List<PredictTask> getAllPredictTasks();
 
+    boolean deletePredictTaskWithComponents(Long taskId);
+
 }

+ 11 - 4
xvji-admin/src/main/java/com/xvji/service/TrainTaskService.java

@@ -7,21 +7,28 @@ import com.xvji.domain.TrainTask;
 import java.util.List;
 
 /**
- * 训练任务服务接口(继承MyBatis-Plus的IService,获取基础CRUD能力)
+ * 训练任务服务接口
  */
 public interface TrainTaskService extends IService<TrainTask> {
 
     /**
-     * 新增训练任务并关联单个组件(可选方法,用于单独新增场景)
+     * 新增训练任务并关联单个组件
      * @param trainTask 训练任务信息
      * @param component 关联组件信息
-     * @return 操作结果(true成功,false失败)
+     * @return 操作结果
      */
     boolean addTrainTaskWithComponent(TrainTask trainTask, Component component);
 
     /**
-     * 查询所有训练任务(自定义查询方法)
+     * 查询所有训练任务
      * @return 训练任务列表
      */
     List<TrainTask> getAllTrainTasks();
+
+    /**
+     * 根据id删除训练任务
+     * @param taskId 训练任务id
+     * @return
+     */
+    boolean deleteTrainTaskWithComponents(Long taskId);
 }

+ 23 - 1
xvji-admin/src/main/java/com/xvji/service/impl/PredictTaskServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xvji.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xvji.domain.Component;
 import com.xvji.domain.PredictTask;
@@ -20,7 +21,7 @@ public class PredictTaskServiceImpl extends ServiceImpl<PredictTaskMapper, Predi
     private ComponentService componentService;
 
     /**
-     * 新增预测任务并关联组件(事务保证:任务和组件要么同时成功,要么同时失败)
+     * 新增预测任务并关联组件
      */
     @Transactional
     @Override
@@ -60,5 +61,26 @@ public class PredictTaskServiceImpl extends ServiceImpl<PredictTaskMapper, Predi
         return list();
     }
 
+    /**
+     * 根据id删除预测任务 以及关联组件
+     * @param taskId
+     * @return
+     */
+    @Transactional
+    @Override
+    public boolean deletePredictTaskWithComponents(Long taskId) {
+        PredictTask predictTask = this.getById(taskId);
+        if (predictTask == null) {
+            return false; //无此预测任务
+        }
+        QueryWrapper<Component> componentQueryWrapper = new QueryWrapper<>();
+        componentQueryWrapper
+                .eq("TASK_ID" , taskId)
+                .eq("TASK_TYPE" , 1); //预测任务类型为1
+        componentService.remove(componentQueryWrapper);
+        this.removeById(taskId);
+        return true;
+    }
+
 
 }

+ 26 - 1
xvji-admin/src/main/java/com/xvji/service/impl/TrainTaskServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xvji.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xvji.domain.Component;
 import com.xvji.domain.TrainTask;
@@ -51,10 +52,34 @@ public class TrainTaskServiceImpl extends ServiceImpl<TrainTaskMapper, TrainTask
     }
 
     /**
-     * 查询所有训练任务(直接调用Mapper的查询方法,可根据需求扩展条件)
+     * 查询所有训练任务
      */
     @Override
     public List<TrainTask> getAllTrainTasks() {
         return baseMapper.selectList(null);
     }
+
+    /**
+     * 根据id删除训练任务 同时删除关联组件
+     * @param taskId 训练任务id
+     * @return
+     */
+    @Transactional
+    @Override
+    public boolean deleteTrainTaskWithComponents(Long taskId) {
+
+        TrainTask trainTask = this.getById(taskId);
+        if (trainTask == null){
+            //没有此id任务
+            return false;
+        }
+        QueryWrapper<Component> componentQueryWrapper = new QueryWrapper<>();
+        componentQueryWrapper
+                .eq("TASK_ID",taskId)
+                .eq("TASK_TYPE",0);//训练任务类型为0
+        componentService.remove(componentQueryWrapper);//删除任务相关组件
+        this.removeById(taskId);
+        return true;
+
+    }
 }

+ 17 - 0
xvji-admin/src/main/java/com/xvji/web/controller/PredictTaskController.java

@@ -9,6 +9,7 @@ import com.xvji.domain.vo.PredictTaskVO;
 import com.xvji.mapper.PredictTaskMapper;
 import com.xvji.service.ComponentService;
 import com.xvji.service.PredictTaskService;
+import org.aspectj.weaver.loadtime.Aj;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -225,6 +226,22 @@ public class PredictTaskController {
         }
     }
 
+    @DeleteMapping("/{pTaskId}")
+    public AjaxResult deleteById(@PathVariable Long pTaskId){
+        try {
+
+            boolean result = predictTaskService.deletePredictTaskWithComponents(pTaskId);
+            if (result){
+                return AjaxResult.success("预测任务删除成功");
+            }else {
+                return AjaxResult.error("预测任务id不存在");
+            }
+        }catch (Exception e){
+            return AjaxResult.error("预测任务删除失败" + e.getMessage());
+        }
+    }
+
+
     ////////////////////////////////////////// 辅助方法 //////////////////////////////////////////////////////////////////////
 
     /**

+ 21 - 0
xvji-admin/src/main/java/com/xvji/web/controller/TrainTaskController.java

@@ -243,6 +243,27 @@ public class TrainTaskController {
         }
     }
 
+    /**
+     * 删除任务
+     * @param tTaskId
+     * @return
+     */
+    @DeleteMapping("/{tTaskId}")
+    public AjaxResult deleteById(@PathVariable Long tTaskId){
+
+        try {
+            Boolean result = trainTaskService.deleteTrainTaskWithComponents(tTaskId);
+            if (result){
+                return AjaxResult.success("训练任务删除成功");
+            }else {
+                return AjaxResult.error("训练任务id不存在");
+            }
+
+        }catch (Exception e){
+            return AjaxResult.error("训练任务删除失败" + e.getMessage());
+        }
+    }
+
 
     ///////////////////////////////////////////////////////////////////////////
     /**