14 changed files with 324 additions and 19 deletions
			
			
		- 
					7APIService/src/main/java/com/storeroom/controller/TestApiServiceController.java
- 
					5APIService/src/main/java/com/storeroom/service/impl/ApiServiceImpl.java
- 
					111common/src/main/java/com/storeroom/utils/MacUtil.java
- 
					11common/src/test/java/IPTest.java
- 
					43storeroom/src/main/java/com/storeroom/modules/device/controller/BindDeviceController.java
- 
					9storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java
- 
					2storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java
- 
					2storeroom/src/main/java/com/storeroom/modules/device/service/DeviceArchivesTagService.java
- 
					6storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceArchivesTagImpl.java
- 
					1storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java
- 
					111system/src/main/java/com/storeroom/modules/quartz/controller/QuartzJobController.java
- 
					3system/src/main/java/com/storeroom/modules/quartz/service/QuartzJobService.java
- 
					4system/src/main/java/com/storeroom/modules/quartz/service/impl/QuartzJobServiceImpl.java
- 
					24system/src/main/java/com/storeroom/modules/quartz/utils/FirstJob.java
| @ -0,0 +1,11 @@ | |||||
|  | import com.storeroom.utils.MacUtil; | ||||
|  | import org.junit.jupiter.api.Test; | ||||
|  | 
 | ||||
|  | public class IPTest { | ||||
|  | 
 | ||||
|  |     @Test | ||||
|  |     public void iptest() { | ||||
|  |         String ip = MacUtil.getIpAddress(); | ||||
|  |         System.out.println(ip); | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,111 @@ | |||||
|  | package com.storeroom.modules.quartz.controller; | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | import com.storeroom.annotaion.rest.AnonymousGetMapping; | ||||
|  | import com.storeroom.exception.BaseException; | ||||
|  | import com.storeroom.modules.quartz.domain.QuartzJob; | ||||
|  | import com.storeroom.modules.quartz.service.QuartzJobService; | ||||
|  | import com.storeroom.modules.quartz.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 lombok.extern.slf4j.Slf4j; | ||||
|  | import org.springframework.data.domain.Pageable; | ||||
|  | import org.springframework.http.HttpStatus; | ||||
|  | import org.springframework.http.ResponseEntity; | ||||
|  | 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; | ||||
|  | 
 | ||||
|  | @Slf4j | ||||
|  | @RestController | ||||
|  | @RequiredArgsConstructor | ||||
|  | @RequestMapping("/api/jobs") | ||||
|  | @Api(tags = "系统:定时任务管理") | ||||
|  | public class QuartzJobController { | ||||
|  | 
 | ||||
|  |     private static final String ENTITY_NAME = "quartzJob"; | ||||
|  |     private final QuartzJobService quartzJobService; | ||||
|  | 
 | ||||
|  |     @ApiOperation("查询定时任务") | ||||
|  |     @AnonymousGetMapping | ||||
|  |     // @PreAuthorize("@el.check('timing:list')") | ||||
|  |     public ApiResponse<Object> queryQuartzJob(JobQueryCriteria criteria, Pageable pageable) { | ||||
|  |         return ApiResponse.success(quartzJobService.queryAll(criteria, pageable)); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @ApiOperation("导出任务数据") | ||||
|  |     @GetMapping(value = "/download") | ||||
|  |     //@PreAuthorize("@el.check('timing:list')") | ||||
|  |     public void exportQuartzJob(HttpServletResponse response, JobQueryCriteria criteria) throws IOException { | ||||
|  |         quartzJobService.download(quartzJobService.queryAll(criteria), response); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @ApiOperation("导出日志数据") | ||||
|  |     @GetMapping(value = "/logs/download") | ||||
|  |     //@PreAuthorize("@el.check('timing:list')") | ||||
|  |     public void exportQuartzJobLog(HttpServletResponse response, JobQueryCriteria criteria) throws IOException { | ||||
|  |         quartzJobService.downloadLog(quartzJobService.queryAllLog(criteria), response); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     @ApiOperation("查询任务执行日志") | ||||
|  |     @GetMapping(value = "/logs") | ||||
|  |     //@PreAuthorize("@el.check('timing:list')") | ||||
|  |     public ApiResponse<Object> queryQuartzJobLog(JobQueryCriteria criteria, Pageable pageable) { | ||||
|  |         return ApiResponse.success(quartzJobService.queryAllLog(criteria, pageable)); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     // @Log("新增定时任务") | ||||
|  |     @ApiOperation("新增定时任务") | ||||
|  |     @PostMapping | ||||
|  |     // @PreAuthorize("@el.check('timing:add')") | ||||
|  |     public ApiResponse<Object> createQuartzJob(@Validated @RequestBody QuartzJob resources) { | ||||
|  |         if (resources.getId() != null) { | ||||
|  |             throw new BaseException("A new " + ENTITY_NAME + " cannot already have an ID"); | ||||
|  |         } | ||||
|  |         quartzJobService.create(resources); | ||||
|  |         return ApiResponse.success(ResponseStatus.SUCCESS); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     // @Log("修改定时任务") | ||||
|  |     @ApiOperation("修改定时任务") | ||||
|  |     @PutMapping | ||||
|  |     // @PreAuthorize("@el.check('timing:edit')") | ||||
|  |     public ApiResponse<Object> updateQuartzJob(@Validated(QuartzJob.Update.class) @RequestBody QuartzJob resources) { | ||||
|  |         quartzJobService.update(resources); | ||||
|  |         return ApiResponse.success(ResponseStatus.SUCCESS); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     // @Log("更改定时任务状态") | ||||
|  |     @ApiOperation("更改定时任务状态") | ||||
|  |     @PutMapping(value = "/{id}") | ||||
|  |     // @PreAuthorize("@el.check('timing:edit')") | ||||
|  |     public ApiResponse<Object> updateQuartzJobStatus(@PathVariable Long id) { | ||||
|  |         quartzJobService.updateIsPause(quartzJobService.findById(id)); | ||||
|  |         return ApiResponse.success(ResponseStatus.SUCCESS); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     // @Log("执行定时任务") | ||||
|  |     @ApiOperation("执行定时任务") | ||||
|  |     @PutMapping(value = "/exec/{id}") | ||||
|  |     // @PreAuthorize("@el.check('timing:edit')") | ||||
|  |     public ApiResponse<Object> executionQuartzJob(@PathVariable Long id) { | ||||
|  |         quartzJobService.execution(quartzJobService.findById(id)); | ||||
|  |         return ApiResponse.success(ResponseStatus.SUCCESS); | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     //@Log("删除定时任务") | ||||
|  |     @ApiOperation("删除定时任务") | ||||
|  |     @DeleteMapping | ||||
|  |     // @PreAuthorize("@el.check('timing:del')") | ||||
|  |     public ApiResponse<Object> deleteQuartzJob(@RequestBody Set<Long> ids) { | ||||
|  |         quartzJobService.delete(ids); | ||||
|  |         return ApiResponse.success(ResponseStatus.SUCCESS); | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,24 @@ | |||||
|  | package com.storeroom.modules.quartz.utils; | ||||
|  | 
 | ||||
|  | import org.quartz.Job; | ||||
|  | import org.quartz.JobExecutionContext; | ||||
|  | import org.quartz.JobExecutionException; | ||||
|  | import org.slf4j.Logger; | ||||
|  | import org.slf4j.LoggerFactory; | ||||
|  | 
 | ||||
|  | import java.util.Date; | ||||
|  | 
 | ||||
|  | public class FirstJob implements Job { | ||||
|  | 
 | ||||
|  |     private static Logger _log = LoggerFactory.getLogger(FirstJob.class); | ||||
|  | 
 | ||||
|  |     public FirstJob() { | ||||
|  | 
 | ||||
|  |     } | ||||
|  | 
 | ||||
|  |     public void execute(JobExecutionContext context) | ||||
|  |             throws JobExecutionException { | ||||
|  |         _log.error("Hello Job执行时间: " + new Date()); | ||||
|  | 
 | ||||
|  |     } | ||||
|  | } | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue