增加了数据字典刷新
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
index efdd384..6ffdc21 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
@@ -12,4 +12,5 @@
@Repository
public interface DictionaryDao extends JpaRepository<TDictionary, TDictionaryPK> {
List<TDictionary> findAllByDicttype(String dicttype);
+ void deleteByDicttype(String dicttype);
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
index af00076..9c78b00 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
@@ -13,8 +13,11 @@
@RestController
public class DictPoolAction {
- @Autowired
- private DictionaryProxy dictionaryProxy;
+ private final DictionaryProxy dictionaryProxy;
+
+ public DictPoolAction(DictionaryProxy dictionaryProxy) {
+ this.dictionaryProxy = dictionaryProxy;
+ }
@GetMapping("/dictpool")
public Map getDictDataByDicttype(@FormParam("dicttype") String dictType, HttpServletRequest request) {
@@ -24,6 +27,7 @@
@GetMapping("/dictrefresh")
public JsonResult refreshDict() {
+ dictionaryProxy.refreshDictionary();
return JsonResult.ok();
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
index 48cc4df..d7d1027 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
@@ -8,6 +8,12 @@
public interface DictionaryDataService {
List<TDictionary> getDictionaryByDictType(String dicttype);
+ void updateDictionaryByDictType(String dicttype, List<TDictionary> list);
+
+ void refreshCache(String dicttype);
+
+ void refreshCache();
+
List<TTranscode> getTransCode();
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
index 7f8d814..c78b89c 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
@@ -53,4 +53,12 @@
return (List<T>) dictionaryDataService.getDictionaryByDictType(dictType);
}
}
+
+ public void refreshDictionary() {
+ dictionaryDataService.refreshCache();
+ }
+
+ public void refreshDictionary(String dicttype) {
+ dictionaryDataService.refreshCache(dicttype);
+ }
}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
index 523bded..1b9a14e 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
@@ -5,6 +5,7 @@
import com.supwisdom.dlpay.framework.domain.TDictionary;
import com.supwisdom.dlpay.framework.domain.TTranscode;
import com.supwisdom.dlpay.system.service.DictionaryDataService;
+import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@@ -23,7 +24,7 @@
}
@Override
- @Cacheable(cacheNames = "dicationary_cache", key = "#p0")
+ @Cacheable(cacheNames = "dictionary_cache", key = "#p0")
public List<TDictionary> getDictionaryByDictType(String dicttype) {
List<TDictionary> list = dictionaryDao.findAllByDicttype(dicttype);
if (!list.isEmpty()) {
@@ -34,6 +35,31 @@
@Override
+ @CacheEvict(cacheNames = "dictionary_cache", key = "#p0")
+ public void updateDictionaryByDictType(String dicttype, List<TDictionary> list) {
+ for (TDictionary item : list) {
+ if (!dicttype.equals(item.getDicttype())) {
+ throw new IllegalArgumentException("TDictionary dicttype mismatch");
+ }
+ }
+ dictionaryDao.deleteByDicttype(dicttype);
+ for (TDictionary item : list) {
+ dictionaryDao.save(item);
+ }
+ }
+
+ @Override
+ @CacheEvict(cacheNames = "dictionary_cache", key = "#p0")
+ public void refreshCache(String dicttype) {
+ }
+
+ @Override
+ @CacheEvict(cacheNames = "dictionary_cache", allEntries = true)
+ public void refreshCache() {
+
+ }
+
+ @Override
@Cacheable(cacheNames = "trans_code_cache")
public List<TTranscode> getTransCode() {
List<TTranscode> list = transcodeDao.findAll();