浏览代码

框架任务api增加,增删改接口及实现

zhaosongshan 7 月之前
父节点
当前提交
9de9c8fbde

+ 9 - 0
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-api/src/main/java/vip/xiaonuo/dev/api/DevJobApi.java

@@ -12,6 +12,10 @@
  */
 package vip.xiaonuo.dev.api;
 
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+
 /**
  * 定时任务API
  *
@@ -19,4 +23,9 @@ package vip.xiaonuo.dev.api;
  * @date 2022/9/2 15:59
  */
 public interface DevJobApi {
+    JSONObject addJob(JSONObject addParam);
+
+    JSONObject editJob(JSONObject editParam);
+
+    JSONObject deleteJob(List<String> ids);
 }

+ 1 - 1
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/job/service/DevJobService.java

@@ -49,7 +49,7 @@ public interface DevJobService extends IService<DevJob> {
      * @author xuyuxiang
      * @date 2022/4/24 20:48
      */
-    void add(DevJobAddParam devJobAddParam);
+    DevJob add(DevJobAddParam devJobAddParam);
 
     /**
      * 编辑定时任务

+ 92 - 0
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobApiServiceImpl.java

@@ -0,0 +1,92 @@
+package vip.xiaonuo.dev.modular.job.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import vip.xiaonuo.dev.api.DevJobApi;
+import vip.xiaonuo.dev.modular.job.entity.DevJob;
+import vip.xiaonuo.dev.modular.job.mapper.DevJobMapper;
+import vip.xiaonuo.dev.modular.job.param.DevJobAddParam;
+import vip.xiaonuo.dev.modular.job.param.DevJobEditParam;
+import vip.xiaonuo.dev.modular.job.param.DevJobIdParam;
+import vip.xiaonuo.dev.modular.job.service.DevJobService;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @PackageName:vip.xiaonuo.dev.modular.job.service.impl
+ * @ClassName:DevJobApiServiceImpl
+ * @Author ZSS
+ * @Date 2025-07-24 10:19
+ * @Note: 任务接口实现类
+ **/
+@Slf4j
+@Service("DevJobApiServiceImpl")
+public class DevJobApiServiceImpl extends ServiceImpl<DevJobMapper, DevJob> implements DevJobApi {
+    @Resource
+    private DevJobService devJobService;
+
+    @Override
+    public JSONObject addJob(JSONObject addParam) {
+        JSONObject result = new JSONObject();
+        try {
+            DevJobAddParam devJobAddParam = JSONObject.toJavaObject(addParam, DevJobAddParam.class);
+            DevJob devJob = devJobService.add(devJobAddParam);
+            result.put("data", devJob);
+            result.put("code", 200);
+            result.put("msg", "任务添加成功");
+            return result;
+        } catch (Exception e) {
+            log.error("任务添加失败", e);
+            return JSONObject.parseObject("{\"code\":500,\"msg\":\"任务添加失败\"}");
+        }
+    }
+
+    @Override
+    public JSONObject editJob(JSONObject editParam) {
+        JSONObject result = new JSONObject();
+        try {
+            String jobId = editParam.getString("id");
+            if(jobId == null || jobId.isEmpty()){
+                return JSONObject.parseObject("{\"code\":500,\"msg\":\"入参任务ID不存在\"}");
+            }
+            DevJob devJob = devJobService.queryEntity(jobId);
+            if(devJob == null){
+                return JSONObject.parseObject("{\"code\":500,\"msg\":\"ID:"+jobId+" 此任务不存在\"}");
+            }
+            DevJobEditParam devJobEditParam = JSONObject.toJavaObject(editParam, DevJobEditParam.class);
+            devJobService.edit(devJobEditParam);
+            result.put("code", 200);
+            result.put("msg", "任务添加成功");
+            return result;
+        } catch (Exception e) {
+            log.error("任务修改失败", e);
+            return JSONObject.parseObject("{\"code\":500,\"msg\":\"任务修改失败\"}");
+        }
+    }
+
+    @Override
+    public JSONObject deleteJob(List<String> ids) {
+        JSONObject result = new JSONObject();
+        try {
+            if(ids == null || ids.isEmpty()){
+                return JSONObject.parseObject("{\"code\":500,\"msg\":\"入参任务ID集合不存在\"}");
+            }
+            List<DevJobIdParam> devJobIdParamList = new ArrayList<DevJobIdParam>();
+            for(String id : ids){
+                DevJobIdParam devJobIdParam = new DevJobIdParam();
+                devJobIdParam.setId(id);
+                devJobIdParamList.add(devJobIdParam);
+            }
+            devJobService.delete(devJobIdParamList);
+            result.put("code", 200);
+            result.put("msg", "任务删除成功");
+            return result;
+        } catch (Exception e) {
+            log.error("任务删除失败", e);
+            return JSONObject.parseObject("{\"code\":500,\"msg\":\"任务删除失败\"}");
+        }
+    }
+}

+ 3 - 2
snowy-plugin/snowy-plugin-dev/snowy-plugin-dev-func/src/main/java/vip/xiaonuo/dev/modular/job/service/impl/DevJobServiceImpl.java

@@ -47,7 +47,7 @@ import java.util.stream.Collectors;
 
 /**
  * 定时任务Service接口实现类
- * 
+ *
  * @author xuyuxiang
  * @date 2022/8/5 10:47
  **/
@@ -98,12 +98,13 @@ public class DevJobServiceImpl extends ServiceImpl<DevJobMapper, DevJob> impleme
     }
 
     @Override
-    public void add(DevJobAddParam devJobAddParam) {
+    public DevJob add(DevJobAddParam devJobAddParam) {
         checkParam(devJobAddParam);
         DevJob devJob = BeanUtil.toBean(devJobAddParam, DevJob.class);
         devJob.setCode(RandomUtil.randomString(10));
         devJob.setJobStatus(DevJobStatusEnum.STOPPED.getValue());
         this.save(devJob);
+        return devJob;
     }
 
     private void checkParam(DevJobAddParam devJobAddParam) {