Commit 41499afd1bf897d44ed830d0a566beccf5eb8cdd

Authored by guzijian
1 parent 1a39108b

fix: 修复缓存没有及时更新问题

ruoyi-admin/src/main/java/com/ruoyi/common/cache/NowSchedulingCache.java
... ... @@ -2,6 +2,7 @@ package com.ruoyi.common.cache;
2 2  
3 3 import cn.hutool.core.collection.CollectionUtil;
4 4 import com.ruoyi.driver.mapper.DriverSchedulingMapper;
  5 +import com.ruoyi.in.domain.SignIn;
5 6 import com.ruoyi.pojo.entity.DriverScheduling;
6 7 import com.ruoyi.utils.ConstDateUtil;
7 8 import org.slf4j.Logger;
... ... @@ -85,4 +86,15 @@ public class NowSchedulingCache {
85 86 public List<String> getKes() {
86 87 return new ArrayList<>(cacheNowDayScheduling.keySet());
87 88 }
  89 +
  90 + public void updateCacheByJobCode(String key, Integer index, SignIn signIn) {
  91 + DriverScheduling scheduling = cacheNowDayScheduling.get(key).get(signIn.getJobCode()).get(index);
  92 + scheduling.setSignInId(signIn.getId());
  93 + scheduling.setRemark(signIn.getRemark());
  94 + scheduling.setExType(signIn.getExType());
  95 + scheduling.setSignTime(signIn.getCreateTime());
  96 + scheduling.setSignType(signIn.getType());
  97 + scheduling.setAlcoholFlag(signIn.getAlcoholFlag());
  98 + scheduling.setAlcoholIntake(signIn.getAlcoholIntake());
  99 + }
88 100 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/service/SchedulingService.java
... ... @@ -45,6 +45,7 @@ public class SchedulingService {
45 45 @Autowired
46 46 private SignInMapper signInMapper;
47 47  
  48 +
48 49 /**
49 50 * 获取排班信息
50 51 *
... ... @@ -119,10 +120,13 @@ public class SchedulingService {
119 120 // 记录为空直接插入记录
120 121 if (Objects.isNull(dto.get(globalIndex.getIndex()).getSignInId())) {
121 122 schedulingMapper.updateRoster(dto.get(globalIndex.getIndex()), signIn.getId(), signIn.getExType(), signIn.getCreateTime(), signIn.getRemark(), signIn.getType(), signIn.getAlcoholFlag(), signIn.getAlcoholIntake());
  123 + // 更新缓存
  124 + nowSchedulingCache.updateCacheByJobCode(ConstDateUtil.formatDate(dto.get(0).getScheduleDate()), globalIndex.getIndex(), signIn);
122 125 }
123 126 // 之前的无效
124 127 else if (!dto.get(globalIndex.getIndex()).getExType().equals(SIGN_NO_EX_NUM)) {
125 128 schedulingMapper.updateRoster(dto.get(globalIndex.getIndex()), signIn.getId(), signIn.getExType(), signIn.getCreateTime(), signIn.getRemark(), signIn.getType(), signIn.getAlcoholFlag(), signIn.getAlcoholIntake());
  129 + nowSchedulingCache.updateCacheByJobCode(ConstDateUtil.formatDate(dto.get(0).getScheduleDate()), globalIndex.getIndex(), signIn);
126 130 }
127 131 // 之前的有效
128 132 else {
... ... @@ -146,6 +150,7 @@ public class SchedulingService {
146 150 }
147 151 // 之前是签到 | 目前无效 -》往后更新
148 152 schedulingMapper.updateRoster(dto.get(globalIndex.getIndex() + 1), signIn.getId(), signIn.getExType(), signIn.getCreateTime(), signIn.getRemark(), signIn.getType(), signIn.getAlcoholFlag(), signIn.getAlcoholIntake());
  153 + nowSchedulingCache.updateCacheByJobCode(ConstDateUtil.formatDate(dto.get(0).getScheduleDate()), globalIndex.getIndex() + 1, signIn);
149 154 }
150 155  
151 156 public List<ReportViewResponseVo> queryReportTableResponseVo(ReportViewRequestVo requestVo, HttpServletResponse response) {
... ...