fix: 优化锚点缓存逻辑

This commit is contained in:
tangwei 2026-07-13 15:06:09 +08:00
parent 4329f5c196
commit b119e07eb6
2 changed files with 15 additions and 3 deletions

View File

@ -173,7 +173,7 @@ public class FprMonitorServiceImpl implements FprMonitorService {
.append("hb.BASENAME AS baseName, ") .append("hb.BASENAME AS baseName, ")
.append("aim.STTP AS sttp, ") .append("aim.STTP AS sttp, ")
.append("sttp.STTP_NAME AS sttpName, ") .append("sttp.STTP_NAME AS sttpName, ")
.append("'' AS anchoPointState, ") .append("'fprd' AS anchoPointState, ")
.append("aim.MWAY AS mway, ") .append("aim.MWAY AS mway, ")
.append("aim.DTIN AS dtin, ") .append("aim.DTIN AS dtin, ")
// .append("aim.STDSSTATE AS stdSstate, ") // .append("aim.STDSSTATE AS stdSstate, ")

View File

@ -9,6 +9,8 @@ import com.yfd.platform.common.DataSourceResult;
import com.yfd.platform.common.GroupHelper; import com.yfd.platform.common.GroupHelper;
import com.yfd.platform.common.GroupingInfo; import com.yfd.platform.common.GroupingInfo;
import com.yfd.platform.common.MicroservicDynamicSQLMapper; import com.yfd.platform.common.MicroservicDynamicSQLMapper;
import com.yfd.platform.qgc_base.domain.vo.DataScopeApplyResult;
import com.yfd.platform.qgc_base.service.IDataScopeFilterService;
import com.yfd.platform.qgc_env.vd.entity.vo.VdAiPointVo; import com.yfd.platform.qgc_env.vd.entity.vo.VdAiPointVo;
import com.yfd.platform.qgc_env.vd.entity.vo.VdPointVo; import com.yfd.platform.qgc_env.vd.entity.vo.VdPointVo;
import com.yfd.platform.qgc_env.vd.entity.vo.VdRunDataVo; import com.yfd.platform.qgc_env.vd.entity.vo.VdRunDataVo;
@ -18,6 +20,7 @@ import com.yfd.platform.qgc_env.vd.entity.vo.VdVmsstbprptVo;
import com.yfd.platform.qgc_env.vd.service.VdMonitorService; import com.yfd.platform.qgc_env.vd.service.VdMonitorService;
import com.yfd.platform.utils.QgcQueryWrapperUtil; import com.yfd.platform.utils.QgcQueryWrapperUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@ -33,6 +36,9 @@ public class VdMonitorServiceImpl implements VdMonitorService {
@Resource @Resource
private MicroservicDynamicSQLMapper microservicDynamicSQLMapper; private MicroservicDynamicSQLMapper microservicDynamicSQLMapper;
@Resource
private IDataScopeFilterService dataScopeFilterService;
@Override @Override
public DataSourceResult<VdVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) { public DataSourceResult<VdVmsstbprptVo> getVmsstbprptList(DataSourceRequest dataSourceRequest) {
@ -222,6 +228,7 @@ public class VdMonitorServiceImpl implements VdMonitorService {
} }
@Override @Override
@Cacheable(cacheNames = "vdCache#3600", keyGenerator = "cacheKeyByUserGenerator")
public DataSourceResult<?> getVdPointKendoListCust(DataSourceRequest dataSourceRequest) { public DataSourceResult<?> getVdPointKendoListCust(DataSourceRequest dataSourceRequest) {
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest(); DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
if (CollUtil.isNotEmpty(dataSourceRequest == null ? null : dataSourceRequest.getGroup())) { if (CollUtil.isNotEmpty(dataSourceRequest == null ? null : dataSourceRequest.getGroup())) {
@ -525,10 +532,15 @@ public class VdMonitorServiceImpl implements VdMonitorService {
sql.append(" AND ").append(filterSql).append(" "); sql.append(" AND ").append(filterSql).append(" ");
} }
sql.append(buildVdPointOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort())); sql.append(buildVdPointOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
DataSourceResult<VdPointVo> result = new DataSourceResult<>();
DataScopeApplyResult scopeApplyResult = dataScopeFilterService.appendCurrentUserStationScope(sql, paramMap, "t.RSTCD");
if (scopeApplyResult.isEmptyResult()) {
result.setData(new ArrayList<>());
result.setTotal(0L);
return result;
}
List<VdPointVo> list = microservicDynamicSQLMapper.pageAllListWithResultType( List<VdPointVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(
page, sql.toString(), paramMap, VdPointVo.class); page, sql.toString(), paramMap, VdPointVo.class);
DataSourceResult<VdPointVo> result = new DataSourceResult<>();
result.setData(list); result.setData(list);
result.setTotal(page != null ? page.getTotal() : list.size()); result.setTotal(page != null ? page.getTotal() : list.size());
result.setAggregates(new HashMap<>()); result.setAggregates(new HashMap<>());