From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java | 67 +++++++++++++++++----------------
1 files changed, 34 insertions(+), 33 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
index 418a8fa..7c4d065 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/WaveSchedules.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.constant.Constants;
import com.vincent.rsf.server.manager.entity.Wave;
@@ -10,26 +11,26 @@
import com.vincent.rsf.server.manager.enums.WaveItemExceStatus;
import com.vincent.rsf.server.manager.service.WaveItemService;
import com.vincent.rsf.server.manager.service.WaveService;
+import com.vincent.rsf.server.manager.service.impl.TaskItemServiceImpl;
import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.service.ConfigService;
+import com.vincent.rsf.server.system.utils.SystemAuthUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
-* @author Ryan
-* @description 娉㈡瀹氭椂浠诲姟
-* @param
-* @return
-* @time 2025/6/23 13:49
-*/
+ * @param
+ * @author Ryan
+ * @description 娉㈡瀹氭椂浠诲姟
+ * @return
+ * @time 2025/6/23 13:49
+ */
@Component
public class WaveSchedules {
@@ -42,43 +43,43 @@
@Autowired
private ConfigService configService;
-
+ @Autowired
+ private TaskItemServiceImpl taskItemService;
/**
- * @author Ryan
- * @description 鑷姩涓嬪彂娉㈡浠诲姟
- * @param
- * @return
- * @time 2025/6/23 13:52
- */
+ * @param
+ * @return
+ * @author Ryan
+ * @description 鑷姩涓嬪彂娉㈡浠诲姟
+ * @time 2025/6/23 13:52
+ */
@Scheduled(cron = "0/15 * * * * ?")
+// @Transactional(rollbackFor = Exception.class)
public void autoGenerateTask() {
Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.WAVE_AUTO_EXCE_TASK));
if (Objects.isNull(config) || !Boolean.parseBoolean(config.getVal())) {
return;
}
List<Wave> list = waveService.list(new LambdaQueryWrapper<Wave>()
- .select(Wave::getId)
- .eq(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_INIT.val));
+ .select(Wave::getId)
+ .in(Wave::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_INIT.val
+ , WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val));
if (list.isEmpty()) {
return;
}
+
List<Long> longs = list.stream().map(Wave::getId).collect(Collectors.toList());
- List<WaveItem> waveItems = waveItemService.list(new LambdaQueryWrapper<WaveItem>()
- .in(WaveItem::getId, longs)
- .eq(WaveItem::getExceStatus, WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val)
- );
- if (waveItems.isEmpty()) {
- return;
- }
- Map<Long, List<WaveItem>> listMap = waveItems.stream().collect(Collectors.groupingBy(WaveItem::getWaveId));
- listMap.keySet().forEach(waveId -> {
- Map<String, Object> params = new HashMap<>();
- params.put("wave", waveId);
- params.put("waveItems", waveItems);
- waveService.waveToTask(params, waveId);
- });
+ waveItemService.update(new LambdaUpdateWrapper<WaveItem>()
+ .in(WaveItem::getWaveId, longs)
+ .set(WaveItem::getExceStatus, WaveExceStatus.WAVE_EXCE_STATUS_EXCING.val)
+ .apply("anfme > work_qty"));
+
+ Long loginUserId = SystemAuthUtils.getLoginUserId();
+ Map<String, Object> params = new HashMap<>();
+ params.put("ids", longs);
+ waveService.waveToTask(params, loginUserId);
}
+
}
--
Gitblit v1.9.1