package com.doumee.api;
|
|
import com.doumee.service.business.third.model.ApiResponse;
|
import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
|
import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
/**
|
* @author 江蹄蹄
|
* @date 2023/11/30 15:33
|
*/
|
@Api(tags = "人员设备授权定时器接口")
|
@Slf4j
|
@RestController
|
@RequestMapping("/timer/empower")
|
public class HkEmpowerTimerController extends BaseController {
|
@Autowired
|
private HkSyncEmpowerServiceImpl hkSyncEmpowerService;
|
|
private final AtomicInteger endId2 = new AtomicInteger(0);
|
private final AtomicBoolean dealingDetail = new AtomicBoolean(false);
|
|
@ApiOperation("开启定时查询人员设备授权结果")
|
@PostMapping("/syncEmpowerDetailData")
|
public ApiResponse syncEmpowerDetailData() {
|
log.info("定时任务执行开始:syncEmpowerDetailData-查询人员设备授权结果");
|
if(!dealingDetail.compareAndSet(false, true)){
|
return ApiResponse.success("syncEmpowerDetailData正在执行,跳过");
|
}
|
try {
|
int current = endId2.get();
|
Integer next = hkSyncEmpowerService.syncEmpowerDetailData(current);
|
for (int i = 0; i < 9; i++) {
|
if(next != null){
|
endId2.set(next);
|
next = hkSyncEmpowerService.syncEmpowerDetailData(next);
|
}
|
}
|
if(next != null){
|
endId2.set(next);
|
}
|
} catch (Exception e){
|
log.error("syncEmpowerDetailData异常", e);
|
} finally {
|
dealingDetail.set(false);
|
}
|
return ApiResponse.success("开启定时查询人员设备授权结果成功");
|
}
|
@ApiOperation("开启定时查询人员设备授权下载进度")
|
@PostMapping("/syncEmpowerResultData")
|
public ApiResponse syncEmpowerResultData() {
|
log.info("定时任务执行开始:syncEmpowerResultData-查询授权下载进度");
|
hkSyncEmpowerService.syncEmpowerResultData(0);
|
return ApiResponse.success("开启定时查询人员设备授权下载进度成功");
|
}
|
|
@ApiOperation("开启定时重新下发失败的授权数据")
|
@PostMapping("/syncEmpowerFailData")
|
public ApiResponse syncEmpowerFailData() {
|
log.info("定时任务执行开始:syncEmpowerFailData-重新下发失败授权");
|
hkSyncEmpowerService.syncEmpowerFailData(0);
|
return ApiResponse.success("开启定时重新下发失败的授权数据成功");
|
}
|
|
private final AtomicInteger endId = new AtomicInteger(0);
|
private final AtomicBoolean dealingEmpower = new AtomicBoolean(false);
|
|
@Autowired
|
private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService;
|
@ApiOperation("开启定时刷新人员设备授权")
|
@PostMapping("/syncEmpowerData")
|
public ApiResponse syncEmpowerData() {
|
log.info("定时任务执行开始:syncEmpowerData-刷新人员设备授权");
|
if(!dealingEmpower.compareAndSet(false, true)){
|
return ApiResponse.success("syncEmpowerData正在执行,跳过");
|
}
|
try {
|
int current = endId.get();
|
Integer next = hkSyncEmpowerService.syncEmpowerData(current);
|
for (int i = 0; i < 9; i++) {
|
if(next != null){
|
endId.set(next);
|
next = hkSyncEmpowerService.syncEmpowerData(next);
|
}
|
}
|
if(next != null){
|
endId.set(next);
|
}
|
} catch (Exception e){
|
log.error("syncEmpowerData异常", e);
|
} finally {
|
dealingEmpower.set(false);
|
}
|
return ApiResponse.success("开启定时刷新人员设备授权成功");
|
}
|
|
}
|