From 27a8c1b8512a42904b568c463e8dd09b67b840d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8A=9B?= Date: Mon, 5 Sep 2022 09:53:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/JobController.java | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 system/src/main/java/com/storeroom/modules/system/controller/JobController.java diff --git a/system/src/main/java/com/storeroom/modules/system/controller/JobController.java b/system/src/main/java/com/storeroom/modules/system/controller/JobController.java new file mode 100644 index 0000000..bd4c4e8 --- /dev/null +++ b/system/src/main/java/com/storeroom/modules/system/controller/JobController.java @@ -0,0 +1,75 @@ +package com.storeroom.modules.system.controller; + + +import com.storeroom.annotation.Log; +import com.storeroom.exception.BaseException; +import com.storeroom.modules.system.domain.Job; +import com.storeroom.modules.system.service.JobService; +import com.storeroom.modules.system.service.dto.JobQueryCriteria; +import com.storeroom.utils.ApiResponse; +import com.storeroom.utils.enums.ResponseStatus; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Pageable; +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; + +@RestController +@RequiredArgsConstructor +@Api(tags = "系统:岗位管理") +@RequestMapping("/api/job") +public class JobController { + + private final JobService jobService; + private static final String ENTITY_NAME = "job"; + + @ApiOperation("导出岗位数据") + @GetMapping(value = "/download") + public void exportJob(HttpServletResponse response, JobQueryCriteria criteria) throws IOException { + jobService.download(jobService.queryAll(criteria), response); + } + + @ApiOperation("查询岗位") + @GetMapping + public ResponseEntity queryJob(JobQueryCriteria criteria, Pageable pageable){ + return new ResponseEntity<>(jobService.queryAll(criteria, pageable), HttpStatus.OK); + } + + @Log("新增岗位") + @ApiOperation("新增岗位") + @PostMapping + public ApiResponse createJob(@Validated @RequestBody Job resources){ + if (resources.getId() != null) { + throw new BaseException("A new "+ ENTITY_NAME +" cannot already have an ID"); + } + jobService.create(resources); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + + @Log("修改岗位") + @ApiOperation("修改岗位") + @PutMapping + public ApiResponse updateJob(@Validated(Job.Update.class) @RequestBody Job resources){ + jobService.update(resources); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + + @Log("删除岗位") + @ApiOperation("删除岗位") + @DeleteMapping + + public ApiResponse deleteJob(@RequestBody Set ids){ + // 验证是否被用户关联 + jobService.verification(ids); + jobService.delete(ids); + return ApiResponse.success(ResponseStatus.SUCCESS); + } +}