Przeglądaj źródła

fix 群发任务发送类型改变停止群发定时任务

zoujiajian 3 lat temu
rodzic
commit
0908473a92

+ 11 - 0
netflix-common/src/main/java/com/cyksj/xxljob/XxlJobUtil.java

@@ -122,6 +122,17 @@ public class XxlJobUtil {
 		return Jsons.parseObject(execute.body(), XxlJobResult.class);
 	}
 
+	public static XxlJobResult stopJob(String jobId) throws Exception {
+		String path = "/jobinfo/stop?id=" + jobId;
+		String targetUrl = BASE_URL + path;
+
+		HttpResponse execute = HttpUtil.createPost(targetUrl)
+				.header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
+				.header("Cookie", getCookie())
+				.execute();
+		return Jsons.parseObject(execute.body(), XxlJobResult.class);
+	}
+
 
 	/**
 	 * 获取登录cookie

+ 7 - 0
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpMsgBulkTaskServiceImpl.java

@@ -94,6 +94,13 @@ public class CorpMsgBulkTaskServiceImpl extends ServiceImpl<CorpMsgBulkTaskMappe
 			corpMsgBulkTask.setAttachmentsStr(Jsons.toJson(corpMsgBulkTask.getAttachments()));
 		}
 		setCorn(corpMsgBulkTask);
+		if (corpMsgBulkTask.getId() != null) {
+			CorpMsgBulkTask dbCorpMsgBulkTask = corpMsgBulkTaskMapper.selectById(corpMsgBulkTask.getId());
+			if (StrUtil.isNotEmpty(dbCorpMsgBulkTask.getJobId()) && corpMsgBulkTask.getSendTimeType() == 1) {
+				//停止群发任务
+				XxlJobUtil.stopJob(dbCorpMsgBulkTask.getJobId());
+			}
+		}
 		this.saveOrUpdate(corpMsgBulkTask);
 		//处理群发任务和标签的关系
 		handleTaskTagRelation(corpMsgBulkTask);