From 9361352ee1a4c9e2cbfcc244b6b4b337f4cc80a5 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Sat, 6 Sep 2025 17:40:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=93=E5=AD=98=E6=B3=A8?= =?UTF-8?q?=E8=A7=A3=E4=BB=A5=E4=BC=98=E5=8C=96=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 MaterialLeaseInfoServiceImpl 类中的 getUseTypeTree、getTeamByNameCached 和 getAgreementInfoCached 方法上添加 Cacheable 注解 -通过缓存结果减少数据库查询次数,提高系统响应速度 -优化了与项目 ID、班组名称和协议 ID 相关的数据查询 --- .../clz/service/impl/MaterialLeaseInfoServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java index 27878621..c85fde71 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java @@ -46,6 +46,7 @@ import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.Cacheable; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -1338,6 +1339,8 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { * @return */ @Override + @Cacheable(value = "useTypeTree", key = "#bean.proId + '_' + #bean.teamName + '_' + (#bean.agreementIdList != null ? #bean.agreementIdList.toString() : 'null')", + unless = "#result == null || #result.data == null", condition = "#bean.proId != null") public AjaxResult getUseTypeTree(MaterialLeaseApplyInfo bean) { long startTime = System.currentTimeMillis(); log.info("开始执行getUseTypeTree方法,参数:proId={}, teamName={}, agreementIdList={}", @@ -1504,7 +1507,8 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { * @param teamName 班组名称 * @return 班组信息 */ - private BmTeam getTeamByNameCached(String teamName) { + @Cacheable(value = "teamCache", key = "#teamName", unless = "#result == null") + public BmTeam getTeamByNameCached(String teamName) { BmTeam bmTeam = new BmTeam(); bmTeam.setTeamName(teamName); return bmTeamMapper.selectByName(bmTeam); @@ -1515,7 +1519,8 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { * @param bean 查询参数 * @return 协议信息 */ - private BmAgreementInfo getAgreementInfoCached(MaterialLeaseApplyInfo bean) { + @Cacheable(value = "agreementCache", key = "#bean.proId + '_' + #bean.teamId", unless = "#result == null") + public BmAgreementInfo getAgreementInfoCached(MaterialLeaseApplyInfo bean) { return materialLeaseInfoMapper.getAgreeId(bean); }