yangys
2024-11-02 9a9b747962cc00801d8cce4137d1e123d556a79b
collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java
@@ -8,6 +8,7 @@
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,7 +47,7 @@
    private EmployeeOnOffWorkMapper employeeOnOffWorkMapper;
    
    
    public Map<Long, WorkstationDTO> getWorkstations() {
    public Map<String, WorkstationDTO> getWorkstations() {
        String redisKey = COLLECT_WORKSTATION.concat("::").concat(WORKSTATION_ALL);
        /*Map<String, WorkstationDTO> map = bladeRedis.hGetAll(redisKey);
       
@@ -56,7 +57,7 @@
        }
        return map;
        */
        Map<Long, WorkstationDTO> map = convertMap(redisUtil.hmget(redisKey));
        Map<String, WorkstationDTO> map = convertMap(redisUtil.hmget(redisKey));
       
        if (ObjectUtil.isEmpty(map)) {
            map = setWorkstations();
@@ -66,28 +67,37 @@
        
    }
    
    private Map<Long, WorkstationDTO> setWorkstations() {
    private Map<String, WorkstationDTO> setWorkstations() {
        List<Workstation> list = workstationService.list();
        String redisKey = COLLECT_WORKSTATION.concat("::").concat(WORKSTATION_ALL);
        /*
        list.forEach(ws -> {
           /*
            WorkStationDTO workStationDTO = WorkstationConvert.INSTANCE.convertDTO(workStation);
            bladeRedis.hSet(redisKey, workStation.getId(), workStationDTO);
            */
            //WorkStationDTO workStationDTO = WorkstationConvert.INSTANCE.convertDTO(workStation);
            //bladeRedis.hSet(redisKey, workStation.getId(), workStationDTO);
           WorkstationDTO dto = new WorkstationDTO();
           dto.setCalendarCode(ws.getCalendarCode());
           dto.setCode(ws.getCode());
           dto.setId(ws.getId());
           dto.setName(ws.getName());
            redisUtil.hset(redisKey, ws.getId(), dto);
        });
        //bladeRedis.expire(redisKey, 259200L);
        redisUtil.expire(redisKey, 259200L);
        //return bladeRedis.hGetAll(redisKey);
        });*/
        //Map<String, String> map = str.collect(Collectors.toMap(p -> p[0], p -> p[1]));
        Map<String,WorkstationDTO> mp = list.stream().collect(Collectors.toMap(ws -> String.valueOf(ws.getId()), ws->{
           WorkstationDTO dto = new WorkstationDTO();
           dto.setCalendarCode(ws.getCalendarCode());
           dto.setCode(ws.getCode());
           dto.setId(ws.getId());
           dto.setName(ws.getName());
           return dto;
        }));
        redisUtil.hmset(redisKey, mp);
        
        return convertMap(redisUtil.hmget(redisKey));
        redisUtil.expire(redisKey, 259200L);
        return (Map<String, WorkstationDTO>)redisUtil.hmget(redisKey);
    }
    
    static <K,V> Map<K,V> convertMap(Map<?,?> map){