package com.monkeylessey.controller.system; import com.monkeylessey.group.Update; import com.monkeylessey.group.Add; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.List; import javax.validation.constraints.NotEmpty; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.monkeylessey.sys.service.SysOrgService; import com.monkeylessey.response.Result; import com.monkeylessey.sys.domain.form.SysOrgForm; import com.monkeylessey.sys.domain.query.SysOrgQuery; import org.springframework.web.bind.annotation.*; /** * 前端控制器 * * @author 向培 * @since 2023-11-25 */ @Validated @RequiredArgsConstructor @Api(value = "", tags = "管理") @RestController @RequestMapping("/sys-org") public class SysOrgController { private final SysOrgService sysOrgService; @PostMapping @PreAuthorize("hasAuthority('org:add')") @ApiOperation(value = "添加", notes = "添加") public Result add(@RequestBody @Validated(Add.class) SysOrgForm form) { return sysOrgService.add(form); } @PutMapping @PreAuthorize("hasAuthority('org:edit')") @ApiOperation(value = "修改", notes = "修改") public Result update(@RequestBody @Validated(Update.class) SysOrgForm form) { return sysOrgService.update(form); } @DeleteMapping("/{id}") @PreAuthorize("hasAuthority('org:del')") @ApiOperation(value = "ID删除", notes = "ID删除") public Result removeById(@PathVariable("id") String id) { return sysOrgService.removeById(id); } @DeleteMapping("/batch") @PreAuthorize("hasAuthority('org:del:batch')") @ApiOperation(value = "批量删除", notes = "批量删除") public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List ids) { return sysOrgService.remove(ids); } @GetMapping("/page") @PreAuthorize("hasAuthority('org:page')") @ApiOperation(value = "分页", notes = "分页") public Result page(SysOrgQuery query) { return sysOrgService.page(query); } @GetMapping("/{id}") @PreAuthorize("hasAuthority('org:detail')") @ApiOperation(value = "详情", notes = "详情") public Result detail(@PathVariable("id") String id) { return sysOrgService.detail(id); } @GetMapping("/list") @ApiOperation(value = "列表", notes = "列表") public Result list() { return sysOrgService.all(); } }