您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

58 行
2.0KB

  1. package com.example.webapi.controller;
  2. import com.example.webapi.dto.SupplierQueryDTO;
  3. import com.example.webapi.entity.Supplier;
  4. import com.example.webapi.service.SupplierService;
  5. import com.example.webapi.dto.ApiResponse;
  6. import io.swagger.v3.oas.annotations.tags.Tag;
  7. import io.swagger.v3.oas.annotations.Operation;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.data.domain.Page;
  10. import org.springframework.data.domain.PageRequest;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.Optional;
  13. @Tag(name = "供应商信息管理")
  14. @RestController
  15. @RequestMapping("/supplier")
  16. public class SupplierController {
  17. @Autowired
  18. private SupplierService service;
  19. @Operation(summary = "条件查询供应商信息(分页)")
  20. @PostMapping("/page/conditions")
  21. public ApiResponse<Page<Supplier>> pageByConditions(@RequestBody SupplierQueryDTO queryDTO) {
  22. return ApiResponse.success(service.findByConditions(queryDTO));
  23. }
  24. @Operation(summary = "根据ID查询供应商信息")
  25. @GetMapping("/{id}")
  26. public ApiResponse<Supplier> getById(@PathVariable Integer id) {
  27. Optional<Supplier> result = service.findById(id);
  28. return result.map(ApiResponse::success).orElseGet(() -> ApiResponse.error("未找到该供应商信息"));
  29. }
  30. @Operation(summary = "新增供应商信息")
  31. @PostMapping
  32. public ApiResponse<Supplier> create(@RequestBody Supplier entity) {
  33. return ApiResponse.success(service.save(entity));
  34. }
  35. @Operation(summary = "更新供应商信息")
  36. @PutMapping("/{id}")
  37. public ApiResponse<Supplier> update(@PathVariable Integer id, @RequestBody Supplier entity) {
  38. entity.setId(id);
  39. return ApiResponse.success(service.save(entity));
  40. }
  41. @Operation(summary = "删除供应商信息")
  42. @DeleteMapping("/{id}")
  43. public ApiResponse<Void> delete(@PathVariable Integer id) {
  44. service.deleteById(id);
  45. return ApiResponse.success();
  46. }
  47. }