package space.anyi.openAPI.controller; import cn.hutool.core.util.IdUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import org.springframework.web.bind.annotation.*; import space.anyi.openAPI.comom.model.commom.ResponseResult; import space.anyi.openAPI.comom.model.interfaceParam.InterfaceParam; import space.anyi.openAPI.comom.model.interfaceParam.dto.RequestAddInterfaceParam; import space.anyi.openAPI.comom.model.interfaceParam.dto.RequestUpdateInterfaceParam; import space.anyi.openAPI.comom.model.interfaceParam.vo.InterfaceParamVO; import space.anyi.openAPI.comom.service.InterfaceParamService; import space.anyi.openAPI.util.BeanCopyUtil; import space.anyi.openAPI.util.SecurityUtils; import javax.validation.Valid; import javax.validation.constraints.Size; import java.util.Date; import java.util.List; /** * @ProjectName: yangyi-open-api-platform * @FileName: InterfaceParamController * @Author: 杨逸 * @Data:2025/10/27 10:38 * @Description: */ @RestController @RequestMapping("/interfaceParam") public class InterfaceParamController { public final InterfaceParamService interfaceParamService; public InterfaceParamController(InterfaceParamService interfaceParamService) { this.interfaceParamService = interfaceParamService; } /** * 新增参数 * @param requestAddInterfaceParam * @return {@code ResponseResult } * @description: * @author: 杨逸 * @data:2025/10/27 11:04:46 * @since 1.0.0 */ @PostMapping public ResponseResult addInterfaceParam(@RequestBody @Valid RequestAddInterfaceParam requestAddInterfaceParam){ InterfaceParam interfaceParam = BeanCopyUtil.copyBean(requestAddInterfaceParam, InterfaceParam.class); long id = IdUtil.getSnowflake(1, 1).nextId(); interfaceParam.setId(id); interfaceParam.setUserId(SecurityUtils.getUserId()); interfaceParamService.save(interfaceParam); return ResponseResult.okResult(); } /** * 删除参数 * @param ids * @return {@code ResponseResult } * @description: * @author: 杨逸 * @data:2025/10/27 11:08:23 * @since 1.0.0 */ @DeleteMapping("/{ids}") public ResponseResult deleteInterfaceParam(@PathVariable("ids")@Valid@Size(min = 1,message = "id不能为空") List ids){ interfaceParamService.removeByIds(ids); return ResponseResult.okResult(); } /** * 修改参数 * @param requestUpdateInterfaceParam * @return {@code ResponseResult } * @description: * @author: 杨逸 * @data:2025/10/27 11:14:38 * @since 1.0.0 */ @PutMapping public ResponseResult updateInterfaceParam(@Valid@RequestBody RequestUpdateInterfaceParam requestUpdateInterfaceParam){ InterfaceParam interfaceParam = BeanCopyUtil.copyBean(requestUpdateInterfaceParam, InterfaceParam.class); interfaceParam.setUpdateTime(new Date()); interfaceParamService.updateById(interfaceParam); return ResponseResult.okResult(); } @GetMapping("/byInterfaceInfoId/{id}") @ApiImplicitParams({ @ApiImplicitParam(value = "id",name = "id",required = true,paramType = "path") }) public ResponseResult getInterfaceParamByInterfaceInfoId(@PathVariable("id") Long id){ List listVo = interfaceParamService.getInterfaceParamByInterfaceInfoId(id); return ResponseResult.okResult(listVo); } }