干燥机配套车间生产管理系统/云平台服务端
bsw215583320
2024-11-22 ca75cf818e434f77ca71d78ac2c883ca41b18713
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package org.jeecg.modules.dry.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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: 干燥机
 * @Author: jeecg-boot
 * @Date:   2023-03-08
 * @Version: V1.0
 */
@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;
    }
}