diff --git a/lms/nladmin-system/src/main/java/org/nl/AppRun.java b/lms/nladmin-system/src/main/java/org/nl/AppRun.java index a7c66f3c1..e63337706 100644 --- a/lms/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/lms/nladmin-system/src/main/java/org/nl/AppRun.java @@ -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 = { diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java index dc3da84de..0f7abb7ee 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java @@ -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 updateDict(@Validated @RequestBody Dict dto) { dictService.updateDict(dto); @@ -76,12 +77,16 @@ public class SysDictController { } @GetMapping("/dictDetail") - public ResponseEntity 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 queryDetailsPost(@RequestBody String code) { + return new ResponseEntity<>(TableDataInfo.build(dictService.queryDetailsPost(code)), HttpStatus.OK); + } + @GetMapping(value = "/dictDetail/map") public ResponseEntity getDictDetailMaps(@RequestParam String dictName) { diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java index 8c168dc06..f70fd51ec 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java @@ -94,4 +94,11 @@ public interface ISysDictService extends IService { * @return */ List queryAll(); + + /** + * 根据code获取字典数据 + * @param code + * @return + */ + List queryDetailsPost(String code); } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java index a1f5cea70..f35cfc04c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java @@ -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 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 impleme @Override @Transactional(rollbackFor = Exception.class) + @CacheEvict(value = "dict", allEntries = true) public void deleteBatchByIds(Set ids) { // 查找code删除 ids.forEach(id -> { @@ -132,6 +136,7 @@ public class SysDictServiceImpl extends ServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) + @CacheEvict(value = {"dict"}, key = "#dict.code") public void createDetail(Dict dict) { // 校验是否已经有标签 Dict one = sysDictMapper.selectOne(new LambdaQueryWrapper().eq(Dict::getLabel, dict.getLabel()) @@ -170,6 +175,7 @@ public class SysDictServiceImpl extends ServiceImpl 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 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 impleme .groupBy(Dict::getCode, Dict::getName)); } + @Override + @Cacheable(value = {"dict"}, key = "#code") + public List queryDetailsPost(String code) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(Dict::getCode, code) + .isNotNull(Dict::getLabel) + .ne(Dict::getLabel, "") + .orderBy(true, true, Dict::getDict_sort); + return sysDictMapper.selectList(lam); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java index 7a1efeb18..5daf406e1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/notice/impl/SysNoticeServiceImpl.java @@ -98,9 +98,8 @@ public class SysNoticeServiceImpl extends ServiceImpl sysNotices = sysNoticeMapper.selectList(new LambdaQueryWrapper() + return sysNoticeMapper.selectCount(new LambdaQueryWrapper() .eq(SysNotice::getHave_read, NoticeEnum.HAVE_READ_OFF.getValue())); - return ObjectUtil.isNotEmpty(sysNotices) ? sysNotices.size() : 0; } @Override diff --git a/lms/nladmin-ui/src/components/Dict/Dict.js b/lms/nladmin-ui/src/components/Dict/Dict.js index b6a9cc697..9e0421305 100644 --- a/lms/nladmin-ui/src/components/Dict/Dict.js +++ b/lms/nladmin-ui/src/components/Dict/Dict.js @@ -1,5 +1,5 @@ import Vue from 'vue' -import { get as getDictDetail } from '@/views/system/dict/dictDetail' +import { getDictDetails as getDictDetail } from '@/views/system/dict/dictDetail' export default class Dict { constructor(dict) { diff --git a/lms/nladmin-ui/src/views/system/dict/dictDetail.js b/lms/nladmin-ui/src/views/system/dict/dictDetail.js index b9f5ea31f..063c985d3 100644 --- a/lms/nladmin-ui/src/views/system/dict/dictDetail.js +++ b/lms/nladmin-ui/src/views/system/dict/dictDetail.js @@ -49,4 +49,12 @@ export function edit(data) { }) } -export default { get, add, edit, del, getDictMap } +export function getDictDetails(data) { + return request({ + url: 'api/dict/dictDetail/post', + method: 'post', + data + }) +} + +export default { get, add, edit, del, getDictMap, getDictDetails } diff --git a/lms/nladmin-ui/src/views/system/notice/NoticeIcon.vue b/lms/nladmin-ui/src/views/system/notice/NoticeIcon.vue index 4d5037190..4920c815d 100644 --- a/lms/nladmin-ui/src/views/system/notice/NoticeIcon.vue +++ b/lms/nladmin-ui/src/views/system/notice/NoticeIcon.vue @@ -1,36 +1,37 @@