PublicAffairs/gather-app/src/main/java/com/ruoyi/cache/AreaCache.java

68 lines
2.3 KiB
Java
Raw Normal View History

//package com.ruoyi.cache;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.github.benmanes.caffeine.cache.Cache;
//import com.github.benmanes.caffeine.cache.Caffeine;
//import com.ruoyi.business.util.StringKit;
//import com.ruoyi.database.domain.SystemAreacodeInfo;
//import com.ruoyi.database.service.SystemAreacodeInfoService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component;
//
//import java.util.List;
//import java.util.Map;
//import java.util.stream.Collectors;
//
///**
// * 区域缓存
// *
// * @author 戴鹏涛
// * @since 2023-09-16 11:04
// */
//@Component
//public class AreaCache {
//
// /**
// * key: areaNamevalue: subAreaCode; 例北京市110000000000
// */
// private static final Cache<String, String> cache = Caffeine.newBuilder().build();
//
// private static SystemAreacodeInfoService systemAreacodeInfoService;
//
// @Autowired
// AreaCache(SystemAreacodeInfoService systemAreacodeInfoService) {
// AreaCache.systemAreacodeInfoService = systemAreacodeInfoService;
// //初始化
// load();
// }
//
// public static String get(String key) {
// return cache.get(key, s -> {
// try {
// return String.valueOf(systemAreacodeInfoService.getOne(new LambdaQueryWrapper<SystemAreacodeInfo>().eq(SystemAreacodeInfo::getSubAreaCode, key)).getAreaName());
// } catch (Exception e) {
// return "";
// }
// });
// }
//
// /**
// * 缓存刷新
// */
// @Scheduled(cron = "0 0 3 * * ?")
// public static void refresh() {
// load();
// }
//
// private static void load() {
// List<SystemAreacodeInfo> list = systemAreacodeInfoService.list();
// Map<String, String> dictMap = list.stream().collect(Collectors.toMap(SystemAreacodeInfo::getAreaName, e -> String.valueOf(e.getSubAreaCode()), (v1, v2) -> v2));
// Map<String, String> dictMapCode = list.stream().collect(Collectors.toMap(
// e -> e.getSubAreaCode().toString(),
// e -> String.valueOf(e.getAreaName()), (v1, v2) -> v2));
// cache.putAll(dictMap);
// cache.putAll(dictMapCode);
// }
//}