From 4374d41d1fcf28cbff21bc8b31efbbdbc30a893a Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 17 七月 2025 08:43:35 +0800
Subject: [PATCH] feat(dry): 添加获取所有机台接口并优化缓存

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java
old mode 100644
new mode 100755
index d75e3a4..0f4fb91
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java
@@ -1,11 +1,24 @@
 package org.jeecg.modules.dry.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.config.TenantContext;
+import org.jeecg.common.constant.CommonCacheConstant;
+import org.jeecg.common.util.RedisUtil;
+import org.jeecg.modules.dry.common.CacheConstants;
 import org.jeecg.modules.dry.entity.DryEquipment;
 import org.jeecg.modules.dry.mapper.DryEquipmentMapper;
 import org.jeecg.modules.dry.service.IDryEquipmentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 骞茬嚗鏈�
@@ -16,4 +29,52 @@
 @Service
 public class DryEquipmentServiceImpl extends ServiceImpl<DryEquipmentMapper, DryEquipment> implements IDryEquipmentService {
 
+    @Autowired
+    private RedisUtil redisUtil;
+
+
+    @Override
+    public DryEquipment selectByTenantIdEquipmentId(String tenantId, String equipmentId) {
+        DryEquipment dryEquipment = (DryEquipment) redisUtil.hget(CacheConstants.RedisKeyEnum.EQP_MAP.getCode(), tenantId + equipmentId);
+        if (dryEquipment == null) {
+            List<DryEquipment> list = this.list();
+            for (DryEquipment equipment : list) {
+                redisUtil.hset(CacheConstants.RedisKeyEnum.EQP_MAP.getCode(),equipment.getTenantId()+equipment.getCode(),equipment);
+                // 璁剧疆杩囨湡鏃堕棿
+                if ((equipment.getTenantId()+equipment.getCode()).equals(tenantId + equipmentId)) {
+                    dryEquipment = equipment;
+                }
+            }
+        }
+        return dryEquipment;
+    }
+
+    @Override
+    @Cacheable(cacheNames = CommonCacheConstant.DRY_CACHE_TENANT_EQUS, key = "#tenantId" , unless = "#result == null " )
+    public Map<String,DryEquipment> queryEquByTenantId(Integer tenantId) {
+        TenantContext.setTenant(tenantId +"");
+        QueryWrapper<DryEquipment> queryWrapper  = new QueryWrapper<>();
+        queryWrapper.lambda().eq(DryEquipment::getTenantId,tenantId);
+        List<DryEquipment> equipmentList = this.list(queryWrapper);
+        Map<String, DryEquipment> userMap = equipmentList.stream()
+                .collect(Collectors.toMap(
+                        DryEquipment::getCode,
+                        Function.identity(),
+                        (existingValue, newValue) -> existingValue // 濡傛灉閿啿绐侊紝淇濈暀鏃у��
+                ));
+        return userMap;
+    }
+
+    @Override
+    @Cacheable(cacheNames = CommonCacheConstant.DRY_CACHE_TENANT_EQUS_LIST, key = "#dryEquipment.tenantId+':'+#dryEquipment.enable" , unless = "#result == null " )
+    public List<DryEquipment> queryEqusByTenantId(DryEquipment dryEquipment) {
+        TenantContext.setTenant(dryEquipment.getTenantId() +"");
+        QueryWrapper<DryEquipment> queryWrapper  = new QueryWrapper<>();
+        queryWrapper.lambda().eq(DryEquipment::getTenantId,dryEquipment.getTenantId());
+        if (dryEquipment.getEnable()!=null){
+            queryWrapper.lambda().eq(DryEquipment::getEnable,dryEquipment.getEnable());
+        }
+        List<DryEquipment> equipmentList = this.list(queryWrapper);
+        return equipmentList;
+    }
 }

--
Gitblit v1.9.3