package com.bcxin.ferry.scheduling; import cn.hutool.core.bean.BeanUtil; import com.bcxin.ferry.common.emus.FerryReceiveTaskStatusEnum; import com.bcxin.ferry.common.emus.SendBoundaryUrlEnum; import com.bcxin.ferry.dtos.FerryDto; import com.bcxin.ferry.entity.FerryReceiveTaskEntity; import com.bcxin.ferry.service.FerryReceiveTaskService; import com.bcxin.ferry.service.SendRequestToBoundaryService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; /** * description:查询接收任务状态-摆渡完成 * author:linchunpeng * date:2024/3/8 */ @Slf4j @Component public class QueryReceiveTaskComplete { @Autowired private FerryReceiveTaskService ferryReceiveTaskService; @Autowired private SendRequestToBoundaryService sendRequestToBoundaryService; @Scheduled(cron = "${scheduling-config.query-receive-task-complete.cron}") public void queryReceiveTaskComplete() { log.info("===================================定时查询接收任务状态-摆渡完成==================================="); //查询摆渡工具服务是否推送完成 ferryReceiveTaskService.queryReceiveTaskIsComplete(); //查询是否有接收明细文件完成的任务 FerryReceiveTaskEntity receiveTaskEntity = ferryReceiveTaskService.queryReceiveTaskComplete(); if (receiveTaskEntity != null) { //回调 FerryDto callbackDto = new FerryDto(); callbackDto.setFerry_accept_url(SendBoundaryUrlEnum.SEND_FERRY_COMPLETE_CALLBACK.getValue()); callbackDto.setFerryTaskId(receiveTaskEntity.getFerryTaskId().toString()); callbackDto.setFerryTaskResult(receiveTaskEntity.getReceiveResult()); //调用边界服务接口 sendRequestToBoundaryService.send(BeanUtil.beanToMap(callbackDto)); receiveTaskEntity.setTaskStatus(FerryReceiveTaskStatusEnum.CALLBACK_COMPLETE.getCode()); receiveTaskEntity.setUpdateTime(new Date()); ferryReceiveTaskService.updateById(receiveTaskEntity); } log.info("===================================查询接收任务状态-摆渡完成结束==================================="); } }