From 2a64b537e8e3bce9ce030585a3da17d48379c0ad Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期一, 26 五月 2025 15:04:45 +0800 Subject: [PATCH] 修改json类型转换错误 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java | 63 ++++++++++++++++++------------- 1 files changed, 36 insertions(+), 27 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 47d6e6c..01c6621 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 @@ -7,14 +7,13 @@ import com.aps.core.domain.ApsMaterialStorageManagement; import com.aps.core.mapper.ApsMaterialStorageManagementMapper; import com.aps.core.service.IApsMaterialStorageManagementService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; 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涓氬姟灞傚鐞� @@ -23,6 +22,7 @@ * @date 2025-04-17 */ @Service +@Slf4j public class ApsMaterialStorageManagementServiceImpl implements IApsMaterialStorageManagementService { @Autowired @@ -105,7 +105,8 @@ /** * 鑾峰彇鐗╂枡搴撳瓨淇℃伅 * */ - private Optional<ApsMaterialStorageManagement> getItemStorage(String plant, String itemNumber) { + @Override + public Optional<ApsMaterialStorageManagement> getItemStorage(String plant, String itemNumber) { ApsMaterialStorageManagement storageParam = new ApsMaterialStorageManagement(); storageParam.setItemNumber(itemNumber); storageParam.setApplicableFactories(plant); @@ -124,30 +125,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; } /** @@ -158,6 +152,11 @@ @Override public boolean setStorageDataToRedis(String orgCode) { try { + log.info("寮�濮嬪悓姝� 鐗╂枡搴撳瓨鑷砇edis!"); + 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); @@ -173,14 +172,24 @@ bulkData.put("MaterialStorage:Material_"+apsMaterialStorageManagement.getApplicableFactories()+"_"+apsMaterialStorageManagement.getItemNumber(), jsonObject); }); redisTemplate.opsForValue().multiSet(bulkData); + log.info("瀹屾垚鍚屾 鐗╂枡搴撳瓨鑷砇edis!"); } catch (Exception e) { e.printStackTrace(); + log.error("鍚屾鐗╂枡搴撳瓨鑷砇edis澶辫触!"+e.getMessage()); return false; } -// Set<String> keys = redisTemplate.keys("MaterialStorage:Material_*"); -// if (keys != null && !keys.isEmpty()) { -// redisTemplate.delete(keys); -// } return true; } + + /** + * 鏇存柊搴撳瓨淇℃伅 + * */ + public int updateMaterialStorageByVersion(String id, BigDecimal remainderStock, Integer version) { + return apsMaterialStorageManagementMapper.updateMaterialStorageByVersion(id, remainderStock, version); + } + + @Override + public int updateRemainderStock(String id, BigDecimal remainderStock, Integer version){ + return apsMaterialStorageManagementMapper.updateRemainderStock(id, remainderStock, version); + } } -- Gitblit v1.9.3