InterfaceParamController.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package space.anyi.openAPI.controller;
  2. import cn.hutool.core.util.IdUtil;
  3. import io.swagger.annotations.ApiImplicitParam;
  4. import io.swagger.annotations.ApiImplicitParams;
  5. import org.springframework.web.bind.annotation.*;
  6. import space.anyi.openAPI.comom.model.commom.ResponseResult;
  7. import space.anyi.openAPI.comom.model.interfaceParam.InterfaceParam;
  8. import space.anyi.openAPI.comom.model.interfaceParam.dto.RequestAddInterfaceParam;
  9. import space.anyi.openAPI.comom.model.interfaceParam.dto.RequestUpdateInterfaceParam;
  10. import space.anyi.openAPI.comom.model.interfaceParam.vo.InterfaceParamVO;
  11. import space.anyi.openAPI.comom.service.InterfaceParamService;
  12. import space.anyi.openAPI.util.BeanCopyUtil;
  13. import space.anyi.openAPI.util.SecurityUtils;
  14. import javax.validation.Valid;
  15. import javax.validation.constraints.Size;
  16. import java.util.Date;
  17. import java.util.List;
  18. /**
  19. * @ProjectName: yangyi-open-api-platform
  20. * @FileName: InterfaceParamController
  21. * @Author: 杨逸
  22. * @Data:2025/10/27 10:38
  23. * @Description:
  24. */
  25. @RestController
  26. @RequestMapping("/interfaceParam")
  27. public class InterfaceParamController {
  28. public final InterfaceParamService interfaceParamService;
  29. public InterfaceParamController(InterfaceParamService interfaceParamService) {
  30. this.interfaceParamService = interfaceParamService;
  31. }
  32. /**
  33. * 新增参数
  34. * @param requestAddInterfaceParam
  35. * @return {@code ResponseResult }
  36. * @description:
  37. * @author: 杨逸
  38. * @data:2025/10/27 11:04:46
  39. * @since 1.0.0
  40. */
  41. @PostMapping
  42. public ResponseResult addInterfaceParam(@RequestBody @Valid RequestAddInterfaceParam requestAddInterfaceParam){
  43. InterfaceParam interfaceParam = BeanCopyUtil.copyBean(requestAddInterfaceParam, InterfaceParam.class);
  44. long id = IdUtil.getSnowflake(1, 1).nextId();
  45. interfaceParam.setId(id);
  46. interfaceParam.setUserId(SecurityUtils.getUserId());
  47. interfaceParamService.save(interfaceParam);
  48. return ResponseResult.okResult();
  49. }
  50. /**
  51. * 删除参数
  52. * @param ids
  53. * @return {@code ResponseResult }
  54. * @description:
  55. * @author: 杨逸
  56. * @data:2025/10/27 11:08:23
  57. * @since 1.0.0
  58. */
  59. @DeleteMapping("/{ids}")
  60. public ResponseResult deleteInterfaceParam(@PathVariable("ids")@Valid@Size(min = 1,message = "id不能为空") List<Long> ids){
  61. interfaceParamService.removeByIds(ids);
  62. return ResponseResult.okResult();
  63. }
  64. /**
  65. * 修改参数
  66. * @param requestUpdateInterfaceParam
  67. * @return {@code ResponseResult }
  68. * @description:
  69. * @author: 杨逸
  70. * @data:2025/10/27 11:14:38
  71. * @since 1.0.0
  72. */
  73. @PutMapping
  74. public ResponseResult updateInterfaceParam(@Valid@RequestBody RequestUpdateInterfaceParam requestUpdateInterfaceParam){
  75. InterfaceParam interfaceParam = BeanCopyUtil.copyBean(requestUpdateInterfaceParam, InterfaceParam.class);
  76. interfaceParam.setUpdateTime(new Date());
  77. interfaceParamService.updateById(interfaceParam);
  78. return ResponseResult.okResult();
  79. }
  80. @GetMapping("/byInterfaceInfoId/{id}")
  81. @ApiImplicitParams({
  82. @ApiImplicitParam(value = "id",name = "id",required = true,paramType = "path")
  83. })
  84. public ResponseResult getInterfaceParamByInterfaceInfoId(@PathVariable("id") Long id){
  85. List<InterfaceParamVO> listVo = interfaceParamService.getInterfaceParamByInterfaceInfoId(id);
  86. return ResponseResult.okResult(listVo);
  87. }
  88. }