From 25cc1b887f5421353d94c5e6be0fca56b3f2e668 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期三, 21 五月 2025 16:29:24 +0800
Subject: [PATCH] 优化Job
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java | 43 +++++++++++++++++--------------------------
1 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java
index 79015ad..20bdf34 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java
@@ -1,9 +1,5 @@
package com.aps.core.service.impl;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Optional;
-
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.aps.common.core.utils.DateUtils;
@@ -15,10 +11,8 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.math.BigDecimal;
+import java.util.*;
/**
* 鐗╂枡搴撳瓨绠$悊Service涓氬姟灞傚鐞�
@@ -129,30 +123,23 @@
* @return ApsMaterialStorageManagement 杩斿洖鑾峰彇鍒扮殑搴撳瓨淇℃伅瀵硅薄锛屽鏋滄病鏈夋壘鍒帮紝鍒欒繑鍥瀗ull
*/
@Override
- public ApsMaterialStorageManagement getRdsStorage(String plant, String itemCode){
- ApsMaterialStorageManagement ams=null;
+ public Optional<ApsMaterialStorageManagement> getRdsStorage(String plant, String itemCode){
// 灏濊瘯浠嶳edis涓幏鍙栧簱瀛樹俊鎭�
- JSONObject materialStorage = (JSONObject)redisTemplate.opsForValue().get("MaterialStorage:Material_"+plant+"_"+itemCode);
+ String key = "MaterialStorage:Material_" + plant + "_" + itemCode;
+ JSONObject materialStorage = (JSONObject)redisTemplate.opsForValue().get(key);
if(materialStorage!=null){
// 濡傛灉Redis涓湁缂撳瓨锛屽皢鍏惰浆鎹负ApsMaterialStorageManagement瀵硅薄骞惰繑鍥�
- ams = materialStorage.toJavaObject(ApsMaterialStorageManagement.class);
- return ams;
+ ApsMaterialStorageManagement ams= materialStorage.toJavaObject(ApsMaterialStorageManagement.class);
+ Optional<ApsMaterialStorageManagement> optional = Optional.ofNullable(ams);
+ return optional ;
}else {
- // 濡傛灉Redis涓病鏈夌紦瀛橈紝鍒涘缓鏌ヨ鍙傛暟瀵硅薄
- ApsMaterialStorageManagement storageParam = new ApsMaterialStorageManagement();
- storageParam.setItemNumber(itemCode);
- storageParam.setApplicableFactories(plant);
// 浠庢暟鎹簱涓煡璇㈠簱瀛樹俊鎭�
- Optional<ApsMaterialStorageManagement> first = apsMaterialStorageManagementMapper.selectApsMaterialStorageManagementList(storageParam).stream()
- .findFirst();
- if (first.isPresent()){
- // 濡傛灉鏌ヨ鍒板簱瀛樹俊鎭紝灏嗗叾缂撳瓨鍒癛edis涓�
- ams = first.get();
- redisTemplate.opsForValue().set("MaterialStorage:Material_"+plant+"_"+itemCode,JSONObject.parseObject(JSON.toJSONString(ams)));
- }
+ Optional<ApsMaterialStorageManagement> first = getItemStorage( plant, itemCode);
+ first.ifPresent(apsMaterialStorageManagement ->
+ redisTemplate.opsForValue().set(key, JSONObject.parseObject(JSON.toJSONString(apsMaterialStorageManagement)))
+ );
+ return first;
}
- // 杩斿洖搴撳瓨淇℃伅瀵硅薄
- return ams;
}
/**
@@ -163,6 +150,10 @@
@Override
public boolean setStorageDataToRedis(String orgCode) {
try {
+ Set<String> keys = redisTemplate.keys("MaterialStorage:Material_*");
+ if (keys != null && !keys.isEmpty()) {
+ redisTemplate.delete(keys);
+ }
ApsMaterialStorageManagement temp = new ApsMaterialStorageManagement();
if(!StringUtils.isEmpty(orgCode)){
temp.setApplicableFactories(orgCode);
--
Gitblit v1.9.3