package com.glxp.api.controller.auth; import cn.dev33.satoken.annotation.SaCheckPermission; import com.glxp.api.annotation.Log; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.SysDictData; import com.glxp.api.req.auth.SysDictDataRequest; import com.glxp.api.service.auth.ISysDictDataService; import com.glxp.api.service.auth.ISysDictTypeService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 数据字典信息 */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/system/dict/data") public class SysDictDataController extends BaseController { private final ISysDictDataService dictDataService; private final ISysDictTypeService dictTypeService; /** * 查询字典数据列表 */ @GetMapping("/list") public BaseResponse list(SysDictDataRequest sysDictDataRequest) { return ResultVOUtils.success(dictDataService.selectDictDataList(sysDictDataRequest)); } /** * 查询字典数据详细 * * @param dictCode 字典code */ @GetMapping(value = "/{dictCode}") public BaseResponse getInfo(@PathVariable Long dictCode) { return ResultVOUtils.success(dictDataService.selectDictDataById(dictCode)); } /** * 根据字典类型查询字典数据信息 * * @param dictType 字典类型 */ @GetMapping(value = "/type/{dictType}") public BaseResponse dictType(@PathVariable String dictType) { List data = dictTypeService.selectDictDataByType(dictType); return ResultVOUtils.success(data); } /** * 新增字典类型 */ @PostMapping @Log(title = "用户管理", businessType = BusinessType.INSERT) public BaseResponse add(@Validated @RequestBody SysDictData dict) { dictDataService.insertDictData(dict); return ResultVOUtils.success("添加成功!"); } /** * 修改保存字典类型 */ @SaCheckPermission("system:dict:edit") @PutMapping @Log(title = "用户管理", businessType = BusinessType.UPDATE) public BaseResponse edit(@Validated @RequestBody SysDictData dict) { dictDataService.updateDictData(dict); return ResultVOUtils.success("修改成功!"); } /** * 删除字典类型 * * @param dictCodes 字典code串 */ @SaCheckPermission("system:dict:remove") @DeleteMapping("/{dictCodes}") @Log(title = "用户管理", businessType = BusinessType.DELETE) public BaseResponse remove(@PathVariable Long[] dictCodes) { dictDataService.deleteDictDataByIds(dictCodes); return ResultVOUtils.success("移除成功!"); } }