SysApiServiceImpl.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.xy.service;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.xy.dto.SysDict.SysDictDto;
  6. import com.xy.dto.SysDict.SysDictItemDto;
  7. import com.xy.dto.SysDict.SysDictItemPageDto;
  8. import com.xy.dto.SysDict.SysDictPageDto;
  9. import com.xy.entity.SysDict;
  10. import com.xy.entity.SysDictItem;
  11. import com.xy.utils.Beans;
  12. import com.xy.utils.PageBean;
  13. import com.xy.utils.R;
  14. import com.xy.vo.SysDictItemVo;
  15. import com.xy.vo.SysDictVo;
  16. import io.swagger.annotations.Api;
  17. import lombok.RequiredArgsConstructor;
  18. import org.springframework.stereotype.Service;
  19. import java.util.List;
  20. import static com.xy.utils.Beans.copy;
  21. import static com.xy.utils.PlusBeans.toIPage;
  22. import static com.xy.utils.PlusBeans.toPageBean;
  23. @Service
  24. @RequiredArgsConstructor
  25. @Api(tags = "字典表管理API")
  26. public class SysApiServiceImpl implements SysDicApiService {
  27. private final SysDictItemService sysDictItemService;
  28. private final SysDictService sysDictService;
  29. @Override
  30. public R<SysDictVo> getById(Long id) {
  31. return R.ok(Beans.copy(SysDictVo.class, sysDictItemService.getById(id)));
  32. }
  33. @Override
  34. public R<PageBean<SysDictVo>> getDictPage(SysDictPageDto dto) {
  35. PageBean pageBean = dto.getPage();
  36. IPage page = sysDictService.page(toIPage(pageBean), Wrappers.<com.xy.entity.SysDict>lambdaQuery()
  37. .like(StrUtil.isNotBlank(dto.getDictKey()), com.xy.entity.SysDict::getDictKey, dto.getDictKey()));
  38. return R.ok(toPageBean(SysDictVo.class, page));
  39. }
  40. @Override
  41. public R<List<SysDictItemVo>> getDictByKey(String key) {
  42. List<SysDictItem> sysDictItemList = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery().eq(SysDictItem::getDictKey, key));
  43. return R.ok(copy(SysDictItemVo.class, sysDictItemList));
  44. }
  45. @Override
  46. public R<Boolean> add(SysDictDto sysDictDto) {
  47. return R.ok(sysDictService.save(copy(SysDict.class, sysDictDto)));
  48. }
  49. @Override
  50. public R<Boolean> removeById(Long id) {
  51. sysDictService.removeDict(id);
  52. return R.ok();
  53. }
  54. @Override
  55. public R<Boolean> updateSysDictById(SysDictDto sysDictDto) {
  56. sysDictService.updateDict(copy(com.xy.entity.SysDict.class, sysDictDto));
  57. return R.ok();
  58. }
  59. @Override
  60. public R<PageBean<SysDictItemVo>> getSysDictItemPage(SysDictItemPageDto pageDto) {
  61. PageBean pageBean = pageDto.getPage();
  62. SysDictItem sysDictItem = copy(SysDictItem.class, pageDto);
  63. IPage page = sysDictItemService.page(toIPage(pageBean), Wrappers.query(sysDictItem));
  64. return R.ok(toPageBean(SysDictItemVo.class, page));
  65. }
  66. @Override
  67. public R<SysDictItemVo> getDictItemById(Long id) {
  68. return R.ok(copy(SysDictItemVo.class, sysDictItemService.getById(id)));
  69. }
  70. @Override
  71. public R<Boolean> addItem(SysDictItemDto sysDictItemDto) {
  72. return R.ok(sysDictItemService.save(copy(SysDictItem.class, sysDictItemDto)));
  73. }
  74. @Override
  75. public R<Boolean> updateSysDictItemById(SysDictItemDto sysDictItemDto) {
  76. sysDictItemService.updateDictItem(copy(SysDictItem.class, sysDictItemDto));
  77. return R.ok();
  78. }
  79. @Override
  80. public R<Boolean> removeDictItemById(Long id) {
  81. sysDictItemService.removeDictItem(id);
  82. return R.ok();
  83. }
  84. @Override
  85. public R<Boolean> clearDictCache() {
  86. sysDictService.clearDictCache();
  87. return R.ok();
  88. }
  89. }