package com.newfiber.system.controller; import com.newfiber.common.core.utils.StringUtils; import com.newfiber.common.core.utils.poi.ExcelUtil; import com.newfiber.common.core.web.controller.BaseController; import com.newfiber.common.core.web.domain.Result; import com.newfiber.common.core.web.page.PageResult; import com.newfiber.common.log.annotation.Log; import com.newfiber.common.log.enums.BusinessType; import com.newfiber.common.security.annotation.RequiresPermissions; import com.newfiber.common.security.utils.SecurityUtils; import com.newfiber.system.api.domain.SysDictData; import com.newfiber.system.service.ISysDictDataService; import com.newfiber.system.service.ISysDictTypeService; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** * 数据字典信息 * * @author newfiber */ @RestController @RequestMapping("/dict/data") public class SysDictDataController extends BaseController{ @Autowired private ISysDictDataService dictDataService; @Autowired private ISysDictTypeService dictTypeService; @GetMapping("/list") public PageResult list(SysDictData dictData){ startPage(); List<SysDictData> list = dictDataService.selectDictDataList(dictData); return pageResult(list); } @Log(title = "字典数据", businessType = BusinessType.EXPORT) @RequiresPermissions("system:dict:export") @PostMapping("/export") public void export(HttpServletResponse response, SysDictData dictData){ List<SysDictData> list = dictDataService.selectDictDataList(dictData); ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class); util.exportExcel(response, list, "字典数据"); } /** * 查询字典数据详细 */ @GetMapping(value = "/{dictCode}") public Result getInfo(@PathVariable Long dictCode){ return success(dictDataService.selectDictDataById(dictCode)); } /** * 根据字典类型查询字典数据信息 */ @GetMapping(value = "/type/{dictType}") public Result dictType(@PathVariable String dictType){ List<SysDictData> data = dictTypeService.selectDictDataByType(dictType); if (StringUtils.isNull(data)){ data = new ArrayList<SysDictData>(); } return success(data); } /** * 新增字典类型 */ @RequiresPermissions("system:dict:add") @Log(title = "字典数据", businessType = BusinessType.INSERT) @PostMapping public Result add(@Validated @RequestBody SysDictData dict){ dict.setCreateBy(SecurityUtils.getUsername()); return result(dictDataService.insertDictData(dict)); } /** * 修改保存字典类型 */ @RequiresPermissions("system:dict:edit") @Log(title = "字典数据", businessType = BusinessType.UPDATE) @PutMapping public Result edit(@Validated @RequestBody SysDictData dict){ dict.setUpdateBy(SecurityUtils.getUsername()); return result(dictDataService.updateDictData(dict)); } /** * 删除字典类型 */ @RequiresPermissions("system:dict:remove") @Log(title = "字典类型", businessType = BusinessType.DELETE) @DeleteMapping("/{dictCodes}") public Result remove(@PathVariable Long[] dictCodes){ dictDataService.deleteDictDataByIds(dictCodes); return success(); } }