From 564295458c720206db9b5194b90481b711f4b010 Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期三, 11 十月 2023 12:09:22 +0800 Subject: [PATCH] 更改配置及筒仓偏移量 --- igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java b/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java index 11ae2f6..f3c0ec2 100644 --- a/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java +++ b/igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java @@ -3,13 +3,10 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; - import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import com.bstek.bdf2.core.orm.hibernate.HibernateDao; import com.bstek.dorado.data.entity.EntityState; import com.bstek.dorado.data.entity.EntityUtils; @@ -25,6 +22,8 @@ */ @Component public class BuildingService extends HibernateDao { + + String BEAN_ID = "core.buildingService"; @Autowired private RedisUtil redisUtil; @@ -62,7 +61,7 @@ } data.setCompanyId(ContextUtil.getCompanyId()); session.saveOrUpdate(data); - refreshCache(data.getCompanyId()); + refreshCache(data.getCompanyId(), data.getDeptId()); } finally { session.flush(); session.close(); @@ -102,7 +101,7 @@ } } - refreshCache(items.get(0).getCompanyId()); + refreshCache(items.get(0).getCompanyId(), items.get(0).getDeptId()); } finally { session.flush(); session.close(); @@ -121,23 +120,46 @@ List<Building> result = (List<Building>) redisUtil.get(key); if (null == result) { - refreshCache(companyId); + refreshCache(companyId, deptId); return null; } if(null == deptId) return result; - return result.stream().filter(item -> item.getDeptId().equals(deptId)) - .collect(Collectors.toList()); + return result; + } + + @SuppressWarnings("unchecked") + public Building getCacheBuilding(String companyId, String deptId, String buildingId) { + if(StringUtils.isEmpty(companyId)){ + companyId = ContextUtil.getCompanyId(); + } + + String key = RedisConst.buildKey(companyId, RedisConst.KEY_BUILDING_LIST); + + List<Building> result = (List<Building>) redisUtil.get(key); + + if (null == result) { + refreshCache(companyId, deptId); + + return null; + } + for (Building building : result) { + if(buildingId.equals(building.getId())){ + return building; + } + } + return null; } - public void refreshCache(String companyId) { + public void refreshCache(String companyId, String deptId) { Map<String, Object> parameter = new HashMap<String, Object>(); parameter.put("companyId", companyId); + parameter.put("deptId", deptId); List<Building> list = this.loadData(parameter); - redisUtil.set(RedisConst.buildKey(companyId, RedisConst.KEY_BUILDING_LIST),list); + redisUtil.set(RedisConst.buildKey(companyId, deptId, RedisConst.KEY_BUILDING_LIST),list); } } -- Gitblit v1.9.3