SysDicApiService.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.xy.service;
  2. import com.xy.annotate.RestMappingController;
  3. import com.xy.constants.CacheConstants;
  4. import com.xy.dto.SysDict.SysDictDto;
  5. import com.xy.dto.SysDict.SysDictItemDto;
  6. import com.xy.dto.SysDict.SysDictItemPageDto;
  7. import com.xy.dto.SysDict.SysDictPageDto;
  8. import com.xy.utils.PageBean;
  9. import com.xy.utils.R;
  10. import com.xy.vo.SysDictItemVo;
  11. import com.xy.vo.SysDictVo;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.cache.annotation.CacheEvict;
  14. import org.springframework.cache.annotation.Cacheable;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.validation.Valid;
  17. import java.util.List;
  18. /***
  19. * 字典表管理
  20. * @author 谭斌
  21. * @date 2022/12/16 13:56
  22. */
  23. @RestMappingController("dict")
  24. public interface SysDicApiService {
  25. @ApiOperation("通过ID查询字典信息")
  26. @GetMapping("{id}")
  27. R<SysDictVo> getById(@PathVariable("id") Long id);
  28. @ApiOperation("分页查询字典信息")
  29. @GetMapping("page")
  30. R<PageBean<SysDictVo>> getDictPage(SysDictPageDto page);
  31. @ApiOperation("通过字典类型查找字典")
  32. @GetMapping("key/{key}")
  33. @Cacheable(value = CacheConstants.DICT_DETAILS, key = "#key")
  34. R<List<SysDictItemVo>> getDictByKey(@PathVariable String key);
  35. @ApiOperation("添加字典")
  36. @PostMapping
  37. R<Boolean> add(@Valid @RequestBody SysDictDto sysDict);
  38. @ApiOperation("删除字典,并且清除字典缓存")
  39. @DeleteMapping("{id}")
  40. R<Boolean> removeById(@PathVariable("id") Long id);
  41. @ApiOperation("修改字典")
  42. @PostMapping
  43. R<Boolean> updateSysDictById(@Valid @RequestBody SysDictDto sysDict);
  44. @ApiOperation("分页查询字典项")
  45. @GetMapping("item/page")
  46. R<PageBean<SysDictItemVo>> getSysDictItemPage(SysDictItemPageDto pageDto);
  47. @ApiOperation("通过id查询字典项")
  48. @GetMapping("item/{id}")
  49. R<SysDictItemVo> getDictItemById(@PathVariable("id") Long id);
  50. @ApiOperation("新增字典项")
  51. @PostMapping("addItem")
  52. @CacheEvict(value = CacheConstants.DICT_DETAILS, allEntries = true)
  53. R<Boolean> addItem(@RequestBody SysDictItemDto sysDictItem);
  54. @ApiOperation("修改字典项")
  55. @PostMapping("updateItem")
  56. R<Boolean> updateSysDictItemById(@RequestBody SysDictItemDto sysDictItem);
  57. @ApiOperation("通过id删除字典项")
  58. @DeleteMapping("item/{id}")
  59. R<Boolean> removeDictItemById(@PathVariable("id") Long id);
  60. @ApiOperation("清除字典缓存")
  61. @DeleteMapping("/cache")
  62. R<Boolean> clearDictCache();
  63. }