package com.iflytop.handacid.app.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.iflytop.handacid.common.base.BasePageQuery; import com.iflytop.handacid.common.model.entity.User; import com.iflytop.handacid.common.result.PageResult; import com.iflytop.handacid.common.result.Result; import com.iflytop.handacid.common.service.UserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Arrays; @Tag(name = "\uD83D\uDC64用户接口") @RestController @RequestMapping("/api/user") @RequiredArgsConstructor @Slf4j public class UserController { private final UserService userService; @Operation(summary = "分页查询用户列表") @PostMapping("/page") public PageResult getPage(@RequestBody BasePageQuery query) { Page page = new Page<>(query.getPageNum(), query.getPageSize()); return PageResult.success(userService.page(page)); } @Operation(summary = "添加用户") @PostMapping("") public Result add(@Valid @RequestBody User user) { return userService.save(user) ? Result.success() : Result.failed(); } @Operation(summary = "修改用户") @PutMapping("") public Result update(@Valid @RequestBody User user) { return userService.updateById(user) ? Result.success() : Result.failed(); } @Operation(summary = "删除用户") @DeleteMapping("/{ids}") public Result delete(@Parameter(description = "用户ID,多个用逗号分隔") @PathVariable String ids) { boolean success = userService.removeBatchByIds( Arrays.stream(ids.split(",")).map(Long::valueOf).toList() ); return success ? Result.success() : Result.failed(); } }