From 6d67e37ab96516f127e1635e92518109fd1c926c Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 21 四月 2026 14:06:11 +0800
Subject: [PATCH] 料箱码查询优化
---
rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java
index a72dd94..b45cd81 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/service/impl/ConfigServiceImpl.java
@@ -1,14 +1,18 @@
package com.vincent.rsf.server.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.common.utils.GsonUtils;
import com.vincent.rsf.framework.common.DateUtils;
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.enums.ConfigType;
import com.vincent.rsf.server.system.enums.StatusType;
import com.vincent.rsf.server.system.mapper.ConfigMapper;
import com.vincent.rsf.server.system.service.ConfigService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
@@ -21,15 +25,21 @@
* Created by vincent on 8/30/2024
*/
@Service("configService")
+@Slf4j
public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService {
public static final Map<String, Config> CONFIG_CACHE = new ConcurrentHashMap<>();
@PostConstruct
public void init() {
- List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getStatus, StatusType.ENABLE.val));
- for (Config config : list) {
- CONFIG_CACHE.put(config.getFlag(), config);
+ try {
+ // List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getStatus, StatusType.ENABLE.val));
+ List<Config> list = safeList(new LambdaQueryWrapper<Config>().eq(Config::getStatus, StatusType.ENABLE.val));
+ for (Config config : list) {
+ CONFIG_CACHE.put(config.getFlag(), config);
+ }
+ } catch (Exception e) {
+ log.warn("閰嶇疆缂撳瓨鍒濆鍖栧け璐ワ紝璺宠繃閰嶇疆琛ㄥ姞杞斤紝鍚庣画鎸夐粯璁ゆ祦绋嬪鐞�", e);
}
}
@@ -38,7 +48,8 @@
public <T> T getVal(String key, Class<T> clazz) {
Config config = CONFIG_CACHE.get(key);
if (config == null) {
- List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
+ // List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
+ List<Config> list = safeList(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
config = list.stream().findFirst().orElse(null);
if (null == config) {
return null;
@@ -77,7 +88,8 @@
public <T> boolean setVal(String key, T val) {
Config config = CONFIG_CACHE.get(key);
if (config == null) {
- List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
+ // List<Config> list = this.list(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
+ List<Config> list = safeList(new LambdaQueryWrapper<Config>().eq(Config::getFlag, key));
config = list.stream().findFirst().orElse(null);
if (null == config) {
return false;
@@ -121,4 +133,26 @@
return this.updateById(config);
}
+ private List<Config> safeList(LambdaQueryWrapper<Config> wrapper) {
+ try {
+ return this.list(wrapper);
+ } catch (Exception e) {
+ log.warn("閰嶇疆鏌ヨ澶辫触锛岃烦杩囬厤缃〃璇诲彇锛屾寜榛樿娴佺▼澶勭悊", e);
+ return java.util.Collections.emptyList();
+ }
+ }
+
+ /**
+ * 淇敼閰嶇疆
+ * @param config
+ * @return
+ */
+ @Override
+ public R modiftyStatus(Config config) {
+ if (!this.update(new LambdaUpdateWrapper<Config>().set(Config::getVal, config.getVal()).eq(Config::getFlag, config.getFlag()))) {
+ throw new CoolException("淇敼澶辫触锛侊紒");
+ }
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1