opt: 字典增加缓存
This commit is contained in:
@@ -7,6 +7,7 @@ import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.servlet.ServletComponentScan;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @date 2021/2/22 9:20:19
|
||||
*/
|
||||
@EnableAsync
|
||||
@EnableCaching
|
||||
@RestController
|
||||
@EnableDynamicTp
|
||||
@SpringBootApplication(exclude = {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.system.controller.dict;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
@@ -8,6 +9,7 @@ import org.nl.system.service.dict.ISysDictService;
|
||||
import org.nl.system.service.dict.dao.Dict;
|
||||
import org.nl.system.service.dict.dto.DictQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -59,7 +61,6 @@ public class SysDictController {
|
||||
|
||||
@PutMapping
|
||||
@Log("修改字典")
|
||||
|
||||
//@SaCheckPermission("@el.check('dict:edit')")
|
||||
public ResponseEntity<Object> updateDict(@Validated @RequestBody Dict dto) {
|
||||
dictService.updateDict(dto);
|
||||
@@ -76,12 +77,16 @@ public class SysDictController {
|
||||
}
|
||||
|
||||
@GetMapping("/dictDetail")
|
||||
|
||||
public ResponseEntity<Object> queryDetails(@RequestParam Map criteria, PageQuery pageable) {
|
||||
DictQuery dictQuery = JSONObject.parseObject(JSONObject.toJSONString(criteria), DictQuery.class);
|
||||
return new ResponseEntity<>(TableDataInfo.build(dictService.queryAllDetail(dictQuery, pageable)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/dictDetail/post")
|
||||
public ResponseEntity<Object> queryDetailsPost(@RequestBody String code) {
|
||||
return new ResponseEntity<>(TableDataInfo.build(dictService.queryDetailsPost(code)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(value = "/dictDetail/map")
|
||||
public ResponseEntity<Object> getDictDetailMaps(@RequestParam String dictName) {
|
||||
|
||||
@@ -94,4 +94,11 @@ public interface ISysDictService extends IService<Dict> {
|
||||
* @return
|
||||
*/
|
||||
List<Dict> queryAll();
|
||||
|
||||
/**
|
||||
* 根据code获取字典数据
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
List<Dict> queryDetailsPost(String code);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ import org.nl.system.service.dict.dao.Dict;
|
||||
import org.nl.system.service.dict.dao.mapper.SysDictMapper;
|
||||
import org.nl.system.service.dict.dto.DictQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -77,6 +79,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value = "dict", key = "#dto.code")
|
||||
public void updateDict(Dict dto) {
|
||||
Dict dict = sysDictMapper.selectById(dto.getDict_id());
|
||||
if (ObjectUtil.isEmpty(dict)) {
|
||||
@@ -102,6 +105,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value = "dict", allEntries = true)
|
||||
public void deleteBatchByIds(Set<String> ids) {
|
||||
// 查找code删除
|
||||
ids.forEach(id -> {
|
||||
@@ -132,6 +136,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value = {"dict"}, key = "#dict.code")
|
||||
public void createDetail(Dict dict) {
|
||||
// 校验是否已经有标签
|
||||
Dict one = sysDictMapper.selectOne(new LambdaQueryWrapper<Dict>().eq(Dict::getLabel, dict.getLabel())
|
||||
@@ -170,6 +175,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value = {"dict"}, key = "#resources.code")
|
||||
public void updateDetail(Dict resources) {
|
||||
Dict dict = sysDictMapper.selectById(resources.getDict_id());
|
||||
if (ObjectUtil.isEmpty(dict)) {
|
||||
@@ -189,6 +195,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CacheEvict(value = "dict", allEntries = true)
|
||||
public void deleteDetail(String id) {
|
||||
sysDictMapper.deleteById(id);
|
||||
}
|
||||
@@ -201,4 +208,15 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, Dict> impleme
|
||||
.groupBy(Dict::getCode, Dict::getName));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(value = {"dict"}, key = "#code")
|
||||
public List<Dict> queryDetailsPost(String code) {
|
||||
LambdaQueryWrapper<Dict> lam = new LambdaQueryWrapper<>();
|
||||
lam.eq(Dict::getCode, code)
|
||||
.isNotNull(Dict::getLabel)
|
||||
.ne(Dict::getLabel, "")
|
||||
.orderBy(true, true, Dict::getDict_sort);
|
||||
return sysDictMapper.selectList(lam);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -98,9 +98,8 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
|
||||
|
||||
@Override
|
||||
public Integer countByReceiveNotRead() {
|
||||
List<SysNotice> sysNotices = sysNoticeMapper.selectList(new LambdaQueryWrapper<SysNotice>()
|
||||
return sysNoticeMapper.selectCount(new LambdaQueryWrapper<SysNotice>()
|
||||
.eq(SysNotice::getHave_read, NoticeEnum.HAVE_READ_OFF.getValue()));
|
||||
return ObjectUtil.isNotEmpty(sysNotices) ? sysNotices.size() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user