package com.oying.modules.maint.rest; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.oying.modules.maint.domain.Server; import com.oying.modules.maint.domain.dto.ServerQueryCriteria; import com.oying.modules.maint.service.ServerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import com.oying.annotation.Log; import com.oying.utils.PageResult; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Set; /** * @author Z * @date 2019-08-24 */ @RestController @Api(tags = "运维:服务器管理") @RequiredArgsConstructor @RequestMapping("/api/serverDeploy") public class ServerController { private final ServerService serverService; @ApiOperation("导出服务器数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('serverDeploy:list')") public void exportServerDeploy(HttpServletResponse response, ServerQueryCriteria criteria) throws IOException { serverService.download(serverService.queryAll(criteria), response); } @ApiOperation(value = "查询服务器") @GetMapping @PreAuthorize("@el.check('serverDeploy:list')") public ResponseEntity> queryServerDeploy(ServerQueryCriteria criteria){ Page page = new Page<>(criteria.getPage(), criteria.getSize()); return new ResponseEntity<>(serverService.queryAll(criteria, page),HttpStatus.OK); } @Log("新增服务器") @ApiOperation(value = "新增服务器") @PostMapping @PreAuthorize("@el.check('serverDeploy:add')") public ResponseEntity createServerDeploy(@Validated @RequestBody Server resources){ serverService.create(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @Log("修改服务器") @ApiOperation(value = "修改服务器") @PutMapping @PreAuthorize("@el.check('serverDeploy:edit')") public ResponseEntity updateServerDeploy(@Validated @RequestBody Server resources){ serverService.update(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @Log("删除服务器") @ApiOperation(value = "删除Server") @DeleteMapping @PreAuthorize("@el.check('serverDeploy:del')") public ResponseEntity deleteServerDeploy(@RequestBody Set ids){ serverService.delete(ids); return new ResponseEntity<>(HttpStatus.OK); } @Log("测试连接服务器") @ApiOperation(value = "测试连接服务器") @PostMapping("/testConnect") @PreAuthorize("@el.check('serverDeploy:add')") public ResponseEntity testConnectServerDeploy(@Validated @RequestBody Server resources){ return new ResponseEntity<>(serverService.testConnect(resources),HttpStatus.CREATED); } }