package com.doumee.api;
|
|
import com.doumee.service.business.third.model.ApiResponse;
|
import com.doumee.service.business.VisitsService;
|
import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
|
import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
|
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.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.Date;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
/**
|
* @author 江蹄蹄
|
* @date 2023/11/30 15:33
|
*/
|
@Api(tags = "访客定时器接口")
|
@Slf4j
|
@RestController
|
@RequestMapping("/timer/visit")
|
public class HkVisitTimerController extends BaseController {
|
|
private final AtomicBoolean dealingFromHkVisit = new AtomicBoolean(false);
|
|
@Autowired
|
private HkSyncVisitServiceImpl hkSyncVisitService;
|
@Autowired
|
private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService;
|
@Autowired
|
private VisitsService visitsService;
|
|
@ApiOperation("开启定时下发访客预约申请")
|
@PostMapping("/syncVisitData")
|
public ApiResponse syncVisitData() {
|
log.info("定时任务执行开始:syncVisitData-下发访客预约申请");
|
hkSyncVisitService.syncVisitData();
|
return ApiResponse.success("开启定时下发访客预约申请成功");
|
}
|
@ApiOperation("开启定时查询访客预约状态")
|
@PostMapping("/getOutTimeVisitRecord")
|
public ApiResponse getOutTimeVisitRecord() {
|
log.info("定时任务执行开始:getOutTimeVisitRecord-查询访客预约状态");
|
hkSyncVisitService.getOutTimeVisitRecordIccm();
|
return ApiResponse.success("开启定时查询访客预约状态成功");
|
}
|
@ApiOperation("开启定时今日的访客预约数据")
|
@PostMapping("/syncVistAppointData")
|
public ApiResponse syncVistAppointData() {
|
log.info("定时任务执行开始:syncVistAppointData-今日访客预约数据");
|
if(dealingFromHkVisit.compareAndSet(false, true)){
|
try {
|
hkSyncVisitFromHKService.syncVistAppointData(new Date());
|
}catch (Exception e){
|
log.error("syncVistAppointData异常", e);
|
}finally {
|
dealingFromHkVisit.set(false);
|
}
|
}
|
return ApiResponse.success("开启定时今日的访客预约数据成功");
|
}
|
|
@ApiOperation("访客即将超时预警")
|
@PostMapping("/visitTimeOut")
|
public ApiResponse visitTimeOut() {
|
log.info("定时任务执行开始:visitTimeOut-访客超时预警");
|
visitsService.syncTimeOutData();
|
return ApiResponse.success("访客即将超时预警");
|
}
|
@ApiOperation("待审批记录超时自动取消预约")
|
@PostMapping("/visitNoCheckCancel")
|
public ApiResponse visitNoCheckCancel() {
|
log.info("定时任务执行开始:visitNoCheckCancel-超时自动取消预约");
|
visitsService.visitNoCheckCancel();
|
return ApiResponse.success("待审批记录超时自动取消预约");
|
}
|
|
}
|