DictDataController.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.hys.app.controller.system;
  2. import com.hys.app.converter.system.DictDataConverter;
  3. import com.hys.app.framework.database.WebPage;
  4. import com.hys.app.model.support.LogClient;
  5. import com.hys.app.model.support.validator.annotation.Log;
  6. import com.hys.app.model.system.dos.DictDataDO;
  7. import com.hys.app.model.system.dto.DictDataCreateDTO;
  8. import com.hys.app.model.system.dto.DictDataQueryParams;
  9. import com.hys.app.model.system.dto.DictDataUpdateDTO;
  10. import com.hys.app.model.system.vo.DictDataRespVO;
  11. import com.hys.app.model.system.vo.DictDataSimpleRespVO;
  12. import com.hys.app.service.system.DictDataManager;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiImplicitParam;
  15. import io.swagger.annotations.ApiOperation;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.annotation.Resource;
  20. import javax.validation.Valid;
  21. import java.util.List;
  22. @Api(tags = "管理后台 - 字典数据")
  23. @RestController
  24. @RequestMapping("/admin/systems/dict-data")
  25. @Validated
  26. public class DictDataController {
  27. @Resource
  28. private DictDataManager dictDataManager;
  29. @Autowired
  30. private DictDataConverter converter;
  31. @PostMapping("/create")
  32. @ApiOperation(value = "新增字典数据")
  33. @Log(client = LogClient.admin, detail = "新增标签为[${reqVO.label}]的字典数据信息")
  34. public void createDictData(@Valid @RequestBody DictDataCreateDTO reqVO) {
  35. dictDataManager.createDictData(reqVO);
  36. }
  37. @PutMapping("/update")
  38. @ApiOperation(value = "修改字典数据")
  39. @Log(client = LogClient.admin, detail = "修改标签为[${reqVO.label}]的字典数据信息")
  40. public void updateDictData(@Valid @RequestBody DictDataUpdateDTO reqVO) {
  41. dictDataManager.updateDictData(reqVO);
  42. }
  43. @DeleteMapping("/delete")
  44. @ApiOperation(value = "删除字典数据")
  45. @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024")
  46. @Log(client = LogClient.admin, detail = "删除ID为[${id}]的字典数据信息")
  47. public void deleteDictData(Long id) {
  48. dictDataManager.deleteDictData(id);
  49. }
  50. @GetMapping("/list-all-simple")
  51. @ApiOperation(value = "获得全部字典数据列表", notes = "一般用于管理后台缓存字典数据在本地")
  52. public List<DictDataSimpleRespVO> getSimpleDictDataList(String dictType) {
  53. List<DictDataDO> list = dictDataManager.getDictDataList(dictType);
  54. return converter.convertList(list);
  55. }
  56. @GetMapping("/page")
  57. @ApiOperation(value = "获得字典类型的分页列表")
  58. public WebPage<DictDataRespVO> getDictTypePage(@Valid DictDataQueryParams reqVO) {
  59. return converter.convertPage(dictDataManager.getDictDataPage(reqVO));
  60. }
  61. @GetMapping(value = "/get")
  62. @ApiOperation(value = "/查询字典数据详细")
  63. @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024")
  64. public DictDataRespVO getDictData(@RequestParam("id") Long id) {
  65. return converter.convert(dictDataManager.getDictData(id));
  66. }
  67. }