dengsixing 13 часов назад
Родитель
Сommit
cfeb5d993f

+ 7 - 0
src/main/java/com/fdkankan/external/controller/XinxizhongxinController.java

@@ -35,4 +35,11 @@ public class XinxizhongxinController {
         PageInfo<ZgxxzxPushLog> zgxxzxPushLogPageInfo = xinxizhongxinService.taskList(request);
         return ResultData.ok(zgxxzxPushLogPageInfo);
     }
+
+    @SignVerification
+    @DeleteMapping("cancel/{id}")
+    public ResultData<Void> cancel(@PathVariable("id") Integer id) throws IOException {
+        xinxizhongxinService.cancelTask(id);
+        return ResultData.ok();
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/external/service/XinxizhongxinService.java

@@ -16,4 +16,6 @@ public interface XinxizhongxinService {
     void pushScene();
 
     void syncPushResult();
+
+    void cancelTask(Integer id);
 }

+ 11 - 0
src/main/java/com/fdkankan/external/service/impl/XinxizhongxinServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.lang.UUID;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.fdkankan.common.constant.CommonOperStatus;
+import com.fdkankan.common.constant.CommonStatus;
 import com.fdkankan.common.constant.CommonSuccessStatus;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
@@ -159,4 +160,14 @@ public class XinxizhongxinServiceImpl implements XinxizhongxinService {
         }
         zgxxzxPushLogService.updateBatch(list);
     }
+
+    @Override
+    public void cancelTask(Integer id) {
+        ZgxxzxPushLog zgxxzxPushLog = zgxxzxPushLogService.getById(id);
+        if(zgxxzxPushLog == null || zgxxzxPushLog.getStatus() != CommonSuccessStatus.WAITING.code()){
+            throw new BusinessException(ErrorCode.FILE_NOT_EXIST.code(), "任务不存在或者非等待状态,无法取消");
+        }
+        zgxxzxPushLog.setStatus(3);
+        zgxxzxPushLogService.updateById(zgxxzxPushLog);
+    }
 }