ManualController.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.om.controller.admin;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.om.entity.po.Manual;
  4. import com.om.entity.vo.ManualVO;
  5. import com.om.service.IManualService;
  6. import com.om.utils.Result;
  7. import io.swagger.annotations.ApiOperation;
  8. import javafx.print.Collation;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import java.time.LocalDateTime;
  12. import java.time.ZoneOffset;
  13. import java.time.format.DateTimeFormatter;
  14. import java.util.ArrayList;
  15. import java.util.Arrays;
  16. import java.util.Collection;
  17. import java.util.Iterator;
  18. /**
  19. * <p>
  20. * 前端控制器
  21. * </p>
  22. *
  23. * @author henry-ong
  24. * @since 2024-02-28
  25. */
  26. @RestController
  27. @RequestMapping("/manual")
  28. public class ManualController {
  29. private final IManualService manualService;
  30. @Autowired
  31. public ManualController(IManualService manualService) {
  32. this.manualService = manualService;
  33. }
  34. @ApiOperation("新增使用手册接口")
  35. @PostMapping("/save")
  36. public Result<Object> save(@RequestBody Manual manual) {
  37. return Result.succ(manualService.save(manual));
  38. }
  39. @ApiOperation("新增多版本使用手册接口")
  40. @PostMapping("/savemore")
  41. public Result<Object> saveMore(@RequestBody ManualVO manualVO) {
  42. Collection<Manual> collection = new ArrayList<>();
  43. String title = manualVO.getTitle();
  44. LocalDateTime createTime = manualVO.getCreateTime();
  45. String[] langs = manualVO.getLang();
  46. String[] urls = manualVO.getUrl();
  47. String[] fileNames = manualVO.getFileName();
  48. Arrays.stream(manualVO.getClientCode()).forEach(client -> {
  49. for (int i = 1; i < langs.length; i++) {
  50. Manual manual = new Manual();
  51. manual.setTitle(title);
  52. manual.setLang(langs[i]);
  53. manual.setFileName(fileNames[i]);
  54. manual.setUrl(urls[i]);
  55. manual.setClientCode(client);
  56. manual.setCreateTime(createTime);
  57. manual.setUpdateTime(LocalDateTime.now());
  58. collection.add(manual);
  59. }
  60. });
  61. return Result.succ(manualService.saveBatch(collection));
  62. }
  63. @ApiOperation("编辑使用手册接口")
  64. @PostMapping("/edit")
  65. public Result<Object> edit(@RequestBody Manual manual) {
  66. return Result.succ(manualService.saveOrUpdate(manual));
  67. }
  68. @ApiOperation("根据ID删除单个使用手册接口")
  69. @DeleteMapping("/delete/{id}")
  70. public Result<Object> delete(@PathVariable(name = "id") Integer id) {
  71. return Result.succ(manualService.removeById(id));
  72. }
  73. @ApiOperation("分页查询全部使用手册接口")
  74. @GetMapping("/page")
  75. public Result<Object> findPage(@RequestParam Integer pageNum,
  76. @RequestParam Integer pageSize,
  77. @RequestParam(defaultValue = "") String code,
  78. @RequestParam(defaultValue = "") String title) {
  79. return Result.succ(manualService.findManual(new Page<>(pageNum, pageSize), code, title));
  80. }
  81. }