From b3f87dc60404490e992d3eccfbe2a60b66d69f72 Mon Sep 17 00:00:00 2001 From: yanglin Date: Thu, 6 Mar 2025 18:25:52 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3581:=20=E5=90=8C=E6=AD=A5=E5=8D=B0?= =?UTF-8?q?=E7=AB=A0=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ess/server/ess/job/JobHttpHandler.java | 28 +++++++++++++++++++ .../ess/server/ess/job/SyncSealNameJob.java | 6 +++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/JobHttpHandler.java diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/JobHttpHandler.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/JobHttpHandler.java new file mode 100644 index 00000000..adced28d --- /dev/null +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/JobHttpHandler.java @@ -0,0 +1,28 @@ +package cn.axzo.nanopart.ess.server.ess.job; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.alibaba.fastjson.JSONObject; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.executor.XxlJobExecutor; +import com.xxl.job.core.handler.IJobHandler; + +/** + * @author yanglin + */ +@RestController +public class JobHttpHandler { + + @PostMapping("/jobs/{jobName}") + ReturnT exec(@PathVariable String jobName, + @RequestBody(required = false) JSONObject paramObj) throws Exception { + IJobHandler jobHandler = XxlJobExecutor.loadJobHandler(jobName); + if (jobHandler == null) + return new ReturnT<>(ReturnT.FAIL_CODE, String.format("找不到job: %s", jobName)); + return jobHandler.execute(paramObj == null ? null : paramObj.toJSONString()); + } + +} \ No newline at end of file diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/SyncSealNameJob.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/SyncSealNameJob.java index 6b6a059f..ac438f92 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/SyncSealNameJob.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/job/SyncSealNameJob.java @@ -3,6 +3,7 @@ package cn.axzo.nanopart.ess.server.ess.job; import java.util.List; +import cn.axzo.nanopart.ess.api.enums.EssSealState; import org.springframework.stereotype.Component; import com.tencentcloudapi.essbasic.v20210526.models.OccupiedSeal; @@ -38,16 +39,19 @@ public class SyncSealNameJob { @XxlJob("syncSealNameJob") public ReturnT execute(String s) { RecordCursor cursor = new RecordCursor<>(EssOrg::getId, - () -> essOrgDao.lambdaQuery().eq(EssOrg::isAuthorized, YesOrNo.YES)); + () -> essOrgDao.lambdaQuery().eq(EssOrg::getIsAuthorized, YesOrNo.YES)); for (List orgs : cursor) { for (EssOrg org : orgs) { EssPerson superAdmin = orgManager.findSuperAdmin(org.getOuId()).orElse(null); if (superAdmin == null) continue; for (EssSeal seal : essSealDao.getByOuId(org.getOuId())) { try { + if (seal.getState() == EssSealState.DELETED) + continue; OccupiedSeal sealInfo = essClient.getSealInfo(superAdmin, seal.getEssSealId()); if (sealInfo == null) continue; essSealDao.updateSealName(seal.getEssSealId(), sealInfo.getSealName()); + log.info("update seal name success, sealId: {}, sealName: {}", seal.getEssSealId(), sealInfo.getSealName()); } catch (Exception e) { log.warn("get seal info failed, sealId: {}", seal.getEssSealId(), e); }