diff options
| author | wangwei <[email protected]> | 2024-01-29 17:42:16 +0800 |
|---|---|---|
| committer | wangwei <[email protected]> | 2024-01-29 17:42:16 +0800 |
| commit | db3d90b505175a05265a39d35a4afe13a853df69 (patch) | |
| tree | 5a4baef52827d0e34d9509ca373a0a6d5b4c913c /src/main/java/com/geedge/scheduler/FqdnScheduler.java | |
| parent | a7aad6e357599db0c570d1c862d9e3335c4c3efe (diff) | |
Diffstat (limited to 'src/main/java/com/geedge/scheduler/FqdnScheduler.java')
| -rw-r--r-- | src/main/java/com/geedge/scheduler/FqdnScheduler.java | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/src/main/java/com/geedge/scheduler/FqdnScheduler.java b/src/main/java/com/geedge/scheduler/FqdnScheduler.java index 5e08bcf..c076963 100644 --- a/src/main/java/com/geedge/scheduler/FqdnScheduler.java +++ b/src/main/java/com/geedge/scheduler/FqdnScheduler.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.BooleanUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.geedge.common.constant.TsgObject; @@ -309,12 +310,49 @@ public class FqdnScheduler { return; } try { - DateTime dateTime = DateUtil.offsetSecond(new Date(), offsetSecond).setTimeZone(TimeZone.getTimeZone("UTC")); - String datetimeZ = DateUtil.format(dateTime, DatePattern.UTC_PATTERN); + DateTime deleteCursor = DateUtil.offsetSecond(new Date(), offsetSecond).setTimeZone(TimeZone.getTimeZone("UTC")); + String deleteCursorStr = DateUtil.format(deleteCursor, DatePattern.UTC_PATTERN); + + JSONObject objectItemList = TsgUtil.getObjectItemList(id, "fqdn"); + Object data = objectItemList.get("data"); + if (StrUtil.isEmptyIfStr(data)) { + log.warn("No item does not need to be deleted"); + return; + } + Map<String, Object> dataMap = (Map<String, Object>) data; + Object itemsObj = dataMap.get("items"); + if (StrUtil.isEmptyIfStr(itemsObj)) { + log.warn("No item does not need to be deleted"); + return; + } + List<Map<String, Object>> itemList = (List<Map<String, Object>>) itemsObj; + if (itemList.isEmpty()) { + log.warn("No item does not need to be deleted"); + return; + } + Map<String, Object> map = itemList.get(0); + if (StrUtil.isEmptyIfStr(map)) { + log.warn("No item does not need to be deleted"); + return; + } + Object itemObj = map.get("string"); + if (StrUtil.isEmptyIfStr(itemObj)) { + log.warn("No item does not need to be deleted"); + return; + } + Map<String, Object> itemMap = (Map<String, Object>) itemObj; + Object createdTimeObj = itemMap.get("created_time"); + DateTime latestCreatedDateTime = DateUtil.parse(createdTimeObj.toString()); + int compare = DateUtil.compare(deleteCursor, latestCreatedDateTime); + if (compare > 0) { + log.warn("Does not need to be deleted, avoid item to empty"); + return; + } + Map<String, Object> form = Maps.newHashMap(); form.put(TsgObject.KEY_OBJECT_TYPE, TsgObject.VALUE_OBJECT_TYPE_FQDN); form.put(TsgObject.KEY_VSYS_ID, TsgObject.VALUE_VSYS_ID_1); - form.put(TsgObject.KEY_CREATED_BEFORE, datetimeZ); + form.put(TsgObject.KEY_CREATED_BEFORE, deleteCursorStr); TsgUtil.deleteItemOfObjectById(id, form); } catch (Exception e) { log.error("{}: failed to execute delete task. message: {}", id, e.getMessage()); |
