From 25f276990df41cc8bc03a9427874f70776b04bea Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 08 一月 2025 16:18:48 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvModelServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvModelServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvModelServiceImpl.java index 86dc58b..bce4b2d 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvModelServiceImpl.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/AgvModelServiceImpl.java @@ -2,17 +2,65 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zy.acs.manager.manager.entity.Agv; import com.zy.acs.manager.manager.entity.AgvModel; import com.zy.acs.manager.manager.mapper.AgvModelMapper; import com.zy.acs.manager.manager.service.AgvModelService; +import com.zy.acs.manager.manager.service.AgvService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.util.HashMap; +import java.util.Map; @Service("agvModelService") public class AgvModelServiceImpl extends ServiceImpl<AgvModelMapper, AgvModel> implements AgvModelService { + public static final Map<Long, AgvModel> AGV_ID_MODEL_CACHE = new HashMap<>(); + public static final Map<String, AgvModel> AGV_NO_MODEL_CACHE = new HashMap<>(); + + @Autowired + private AgvService agvService; + + @PostConstruct + public void init() { + for (Agv agv : agvService.list()) { + AgvModel agvModel = this.getById(agv.getAgvModel()); + AGV_ID_MODEL_CACHE.put(agv.getId(), agvModel); + AGV_NO_MODEL_CACHE.put(agv.getUuid(), agvModel); + } + } + @Override public AgvModel selectByType(String type) { return this.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, type)); } + @Override + public AgvModel getByAgvId(Long agvId) { + AgvModel agvModel = AGV_ID_MODEL_CACHE.get(agvId); + if (agvModel == null) { + Agv agv = agvService.getById(agvId); + agvModel = this.getById(agv.getAgvModel()); + if(agvModel != null) { + AGV_ID_MODEL_CACHE.put(agv.getId(), agvModel); + } + } + return agvModel; + } + + @Override + public AgvModel getByAgvNo(String agvNo) { + AgvModel agvModel = AGV_NO_MODEL_CACHE.get(agvNo); + if (agvModel == null) { + Agv agv = agvService.selectByUuid(agvNo); + agvModel = this.getById(agv.getAgvModel()); + if(agvModel != null) { + AGV_NO_MODEL_CACHE.put(agvNo, agvModel); + } + } + return agvModel; + } + } -- Gitblit v1.9.1