package com.zy.core.config; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.DeviceConfig; import com.zy.asrs.service.BasShuttleService; import com.zy.asrs.service.DeviceConfigService; import com.zy.common.utils.RedisUtil; import com.zy.core.enums.RedisKeyType; import com.zy.core.enums.SlaveType; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.HashMap; import java.util.List; import java.util.Optional; @Component public class ShuttleConfigInitializer { @Autowired private DeviceConfigService deviceConfigService; @Autowired private BasShuttleService basShuttleService; @Autowired private RedisUtil redisUtil; @PostConstruct public void shuttleSpeedInit() { HashMap shuttleSpeedMap = new HashMap<>(); List shuttleList = deviceConfigService.selectList(new EntityWrapper() .eq("device_type", String.valueOf(SlaveType.Shuttle))); for (DeviceConfig shuttle : shuttleList) { //获取小车移动速度 Integer runSpeed = Optional.ofNullable(basShuttleService.selectOne(new EntityWrapper().eq("shuttle_no", shuttle.getDeviceNo())).getRunSpeed()).orElse(1000); shuttleSpeedMap.put(shuttle.getDeviceNo(), runSpeed); } redisUtil.set(RedisKeyType.SHUTTLE_SPEED_MAP.key, shuttleSpeedMap); } }