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 | 46 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 34 insertions(+), 12 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 93ec27d..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; @@ -26,6 +23,8 @@ @Component public class BuildingService extends HibernateDao { + String BEAN_ID = "core.buildingService"; + @Autowired private RedisUtil redisUtil; @@ -34,7 +33,7 @@ String hql = " from " + Building.class.getName() + " where companyId=:companyId "; if (null == parameter) { - parameter = new HashMap<String, Object>(); + parameter = new HashMap<>(); } String companyId = (String) parameter.get("companyId"); @@ -44,7 +43,7 @@ parameter.put("companyId", companyId); String deptId = (String) parameter.get("deptId"); - if(StringUtils.isNoneEmpty(deptId)){ + if(StringUtils.isNotEmpty(deptId)){ hql += " and deptId=:deptId "; parameter.put("deptId", deptId); } @@ -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