package com.lxq.admin.biz.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lxq.common.core.util.R; import com.lxq.common.log.annotation.SysLog; import com.lxq.system.biz.model.SysPost; import com.lxq.system.biz.service.SysPostService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springdoc.core.annotations.ParameterObject; import org.springframework.http.HttpHeaders; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 岗位信息表 * * @author 没秃顶的码农 * @date 2023/11/06 */ @RestController @RequiredArgsConstructor @RequestMapping("/post") @Tag(description = "post", name = "岗位信息表管理") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class SysPostController { private final SysPostService sysPostService; /** * 获取岗位列表 * @return 岗位列表 */ @GetMapping("/list") public R> listPosts() { return R.ok(sysPostService.list(Wrappers.emptyWrapper())); } /** * 分页查询 * @param page 分页对象 * @param sysPost 岗位信息表 * @return */ @Operation(description = "分页查询", summary = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('sys_post_view')") public R getSysPostPage(@ParameterObject Page page, @ParameterObject SysPost sysPost) { return R.ok(sysPostService.page(page, Wrappers.lambdaQuery() .like(StrUtil.isNotBlank(sysPost.getPostName()), SysPost::getPostName, sysPost.getPostName()))); } /** * 通过id查询岗位信息表 * @param postId id * @return R */ @Operation(description = "通过id查询", summary = "通过id查询") @GetMapping("/getById") @PreAuthorize("@pms.hasPermission('sys_post_view')") public R getById(@RequestParam("postId") Long postId) { return R.ok(sysPostService.getById(postId)); } /** * 查询岗位信息信息 * @param query 查询条件 * @return R */ @Operation(description = "查询角色信息", summary = "查询角色信息") @GetMapping("/details") @PreAuthorize("@pms.hasPermission('sys_post_view')") public R getDetails(SysPost query) { return R.ok(sysPostService.getOne(Wrappers.query(query), false)); } /** * 新增岗位信息表 * @param sysPost 岗位信息表 * @return R */ @Operation(description = "新增岗位信息表", summary = "新增岗位信息表") @SysLog("新增岗位信息表") @PostMapping("add") @PreAuthorize("@pms.hasPermission('sys_post_add')") public R save(@RequestBody SysPost sysPost) { return R.ok(sysPostService.save(sysPost)); } /** * 修改岗位信息表 * @param sysPost 岗位信息表 * @return R */ @Operation(description = "修改岗位信息表", summary = "修改岗位信息表") @SysLog("修改岗位信息表") @PutMapping("update") @PreAuthorize("@pms.hasPermission('sys_post_edit')") public R updateById(@RequestBody SysPost sysPost) { return R.ok(sysPostService.updateById(sysPost)); } /** * 通过id删除岗位信息表 * @param id id * @return R */ @Operation(description = "通过id删除岗位信息表", summary = "通过id删除岗位信息表") @SysLog("通过id删除岗位信息表") @DeleteMapping("removeById/{id}") @PreAuthorize("@pms.hasPermission('sys_post_del')") public R removeById(@PathVariable Long id) { return R.ok(sysPostService.removeBatchByIds(CollUtil.toList(id))); } }