SysDictDataController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.ruoyi.web.controller.system;
  2. import java.util.List;
  3. import org.apache.shiro.authz.annotation.RequiresPermissions;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.ModelMap;
  7. import org.springframework.validation.annotation.Validated;
  8. import org.springframework.web.bind.annotation.GetMapping;
  9. import org.springframework.web.bind.annotation.PathVariable;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.ResponseBody;
  13. import com.ruoyi.common.annotation.Log;
  14. import com.ruoyi.common.core.controller.BaseController;
  15. import com.ruoyi.common.core.domain.AjaxResult;
  16. import com.ruoyi.common.core.domain.entity.SysDictData;
  17. import com.ruoyi.common.core.page.TableDataInfo;
  18. import com.ruoyi.common.enums.BusinessType;
  19. import com.ruoyi.common.utils.ShiroUtils;
  20. import com.ruoyi.common.utils.poi.ExcelUtil;
  21. import com.ruoyi.system.service.ISysDictDataService;
  22. /**
  23. * 数据字典信息
  24. *
  25. * @author ruoyi
  26. */
  27. @Controller
  28. @RequestMapping("/system/dict/data")
  29. public class SysDictDataController extends BaseController
  30. {
  31. private String prefix = "system/dict/data";
  32. @Autowired
  33. private ISysDictDataService dictDataService;
  34. @RequiresPermissions("system:dict:view")
  35. @GetMapping()
  36. public String dictData()
  37. {
  38. return prefix + "/data";
  39. }
  40. @PostMapping("/list")
  41. @RequiresPermissions("system:dict:list")
  42. @ResponseBody
  43. public TableDataInfo list(SysDictData dictData)
  44. {
  45. startPage();
  46. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  47. return getDataTable(list);
  48. }
  49. @Log(title = "字典数据", businessType = BusinessType.EXPORT)
  50. @RequiresPermissions("system:dict:export")
  51. @PostMapping("/export")
  52. @ResponseBody
  53. public AjaxResult export(SysDictData dictData)
  54. {
  55. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  56. ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
  57. return util.exportExcel(list, "字典数据");
  58. }
  59. /**
  60. * 新增字典类型
  61. */
  62. @GetMapping("/add/{dictType}")
  63. public String add(@PathVariable("dictType") String dictType, ModelMap mmap)
  64. {
  65. mmap.put("dictType", dictType);
  66. return prefix + "/add";
  67. }
  68. /**
  69. * 新增保存字典类型
  70. */
  71. @Log(title = "字典数据", businessType = BusinessType.INSERT)
  72. @RequiresPermissions("system:dict:add")
  73. @PostMapping("/add")
  74. @ResponseBody
  75. public AjaxResult addSave(@Validated SysDictData dict)
  76. {
  77. dict.setCreateBy(ShiroUtils.getLoginName());
  78. return toAjax(dictDataService.insertDictData(dict));
  79. }
  80. /**
  81. * 修改字典类型
  82. */
  83. @GetMapping("/edit/{dictCode}")
  84. public String edit(@PathVariable("dictCode") Long dictCode, ModelMap mmap)
  85. {
  86. mmap.put("dict", dictDataService.selectDictDataById(dictCode));
  87. return prefix + "/edit";
  88. }
  89. /**
  90. * 修改保存字典类型
  91. */
  92. @Log(title = "字典数据", businessType = BusinessType.UPDATE)
  93. @RequiresPermissions("system:dict:edit")
  94. @PostMapping("/edit")
  95. @ResponseBody
  96. public AjaxResult editSave(@Validated SysDictData dict)
  97. {
  98. dict.setUpdateBy(ShiroUtils.getLoginName());
  99. return toAjax(dictDataService.updateDictData(dict));
  100. }
  101. @Log(title = "字典数据", businessType = BusinessType.DELETE)
  102. @RequiresPermissions("system:dict:remove")
  103. @PostMapping("/remove")
  104. @ResponseBody
  105. public AjaxResult remove(String ids)
  106. {
  107. return toAjax(dictDataService.deleteDictDataByIds(ids));
  108. }
  109. }