package com.monkeylessey.controller.system; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.monkeylessey.group.Update; import com.monkeylessey.sys.domain.form.SysDictDataForm; import com.monkeylessey.group.Add; import com.monkeylessey.response.Result; import com.monkeylessey.sys.domain.query.SysDictDataQuery; import com.monkeylessey.sys.service.SysDictDataService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 字典数据表 前端控制器 * * @author 向培 * @since 2022-05-29 */ @Validated @RequiredArgsConstructor @Api(value = "字典数据表", tags = "字典数据表") @RestController @RequestMapping("/sys-dict-data") public class SysDictDataController { private final SysDictDataService sysDictDataService; @PostMapping("/") @PreAuthorize("hasAuthority('dict:data:add')") @ApiOperation(value = "添加字典数据表", notes = "添加字典数据表") public Result addSysDictData(@RequestBody @Validated(Add.class) SysDictDataForm form) { return sysDictDataService.addSysDictData(form); } @PutMapping("/") @PreAuthorize("hasAuthority('dict:data:edit')") @ApiOperation(value = "修改字典数据表", notes = "修改字典数据表") public Result editSysDictData(@RequestBody @Validated(Update.class) SysDictDataForm form) { return sysDictDataService.editSysDictData(form); } @DeleteMapping("/{id}") @PreAuthorize("hasAuthority('dict:data:del')") @ApiOperation(value = "删除字典数据表", notes = "删除字典数据表") public Result deleteSysDictData(@PathVariable("id") String id) { return sysDictDataService.deleteSysDictDataById(id); } @DeleteMapping("/batch") @PreAuthorize("hasAuthority('dict:data:del:batch')") @ApiOperation(value = "批量删除字典数据表", notes = "批量删除字典数据表") public Result deleteSysDictDataByIds(@RequestBody List ids) { return sysDictDataService.deleteSysDictDataByIds(ids); } @GetMapping("/page") @PreAuthorize("hasAuthority('dict:data:del:page')") @ApiOperation(value = "字典数据表分页", notes = "字典数据表分页") public Result getSysDictDataPage(SysDictDataQuery query) { return sysDictDataService.getSysDictDataByPage(query); } @GetMapping("/{id}") @PreAuthorize("hasAuthority('dict:data:detail')") @ApiOperation(value = "id查找", notes = "id查找") public Result getSysDictDataPage(@PathVariable("id") String id) { return sysDictDataService.getSysDictDataById(id); } @GetMapping("/type/{dict-type-id}") @PreAuthorize("hasAuthority('dict:data:page')") @ApiOperation(value = "类型查找", notes = "类型查找") public Result getSysDictDataPage(@PathVariable("dict-type-id") Integer dictTypeId, Page page, String keyword) { return sysDictDataService.getSysDictDataByType(dictTypeId, page, keyword); } }