scheduler-service отправка команд в очереди по расписанию - рефакторинг команды запуска (стандартизация)
This commit is contained in:
parent
7647a0ff5b
commit
06f53ad40d
4 changed files with 29 additions and 39 deletions
|
|
@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.platform.enumeration.Task;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
|
@ -31,18 +30,12 @@ public class LauncherNew implements IAction<Object> {
|
|||
|
||||
@Override
|
||||
public Object toRequest() {
|
||||
if (Task.createReport_GREP.equalsByKey(task)) {
|
||||
ReportWithPeriodRequest reportCommand = new ReportWithPeriodRequest();
|
||||
reportCommand.setReportId(task);
|
||||
return reportCommand;
|
||||
} else {
|
||||
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
|
||||
taskRunnerCommandRequest.setTaskName(task);
|
||||
taskRunnerCommandRequest.setCompanyId(companyId);
|
||||
taskRunnerCommandRequest.setSecurityId(securityId);
|
||||
taskRunnerCommandRequest.setUserId(userId);
|
||||
return taskRunnerCommandRequest;
|
||||
}
|
||||
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
|
||||
taskRunnerCommandRequest.setTaskName(task);
|
||||
taskRunnerCommandRequest.setCompanyId(companyId);
|
||||
taskRunnerCommandRequest.setSecurityId(securityId);
|
||||
taskRunnerCommandRequest.setUserId(userId);
|
||||
return taskRunnerCommandRequest;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import org.springframework.beans.factory.InitializingBean;
|
|||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.reports.config.element.ReportsServiceSettings;
|
||||
import ru.spcex.platform.enumeration.Task;
|
||||
|
|
@ -40,20 +40,23 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
|
|||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
log.info("Init queue listener {}", getClass().getSimpleName());
|
||||
callback(ReportWithPeriodRequest.class)
|
||||
callback(LauncherCommandRequest.class)
|
||||
.setConsumer(this::newReportWithPeriod)
|
||||
.forDestination(Task.createReport_GREP.topic(), callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
private void newReportWithPeriod(BaseRequest<ReportWithPeriodRequest> reportRequest) {
|
||||
ReportWithPeriodRequest request = reportRequest.getRequestPayload();
|
||||
private void newReportWithPeriod(BaseRequest<LauncherCommandRequest> reportRequest) {
|
||||
LauncherCommandRequest request = reportRequest.getRequestPayload();
|
||||
log.info("newReportWithPeriod request received: {}", request);
|
||||
final String taskName = QUEUE_RUN_REPORT_COMMAND; //request.getTaskName();
|
||||
|
||||
if (StringUtils.isBlank(request.getReportId()))
|
||||
throw new IllegalStateException("ReportID is empty");
|
||||
LocalDate startDate = request.getStartDate();
|
||||
LocalDate endDate = request.getEndDate();
|
||||
// if (StringUtils.isBlank(request.getReportId()))
|
||||
// throw new IllegalStateException("ReportID is empty");
|
||||
// LocalDate startDate = request.getStartDate();
|
||||
// LocalDate endDate = request.getEndDate();
|
||||
LocalDate startDate = null;
|
||||
LocalDate endDate = null;
|
||||
if (startDate == null && endDate == null) {
|
||||
endDate = LocalDate.now();
|
||||
startDate = LocalDate.of(endDate.getYear(), endDate.getMonth(), 1);
|
||||
|
|
@ -65,18 +68,18 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
|
|||
throw new IllegalStateException("StartDate > EndDate");
|
||||
|
||||
try {
|
||||
if (QUEUE_RUN_REPORT_COMMAND.equals(request.getReportId())
|
||||
|| QUEUE_RUN_DAILY_REPORT_COMMAND.equals(request.getReportId())) {
|
||||
log.info("Generate all report by command {}", request.getReportId());
|
||||
reportsServiceCommand.generateReportAll(request.getReportId(), startDate, endDate);
|
||||
if (QUEUE_RUN_REPORT_COMMAND.equals(taskName)
|
||||
|| QUEUE_RUN_DAILY_REPORT_COMMAND.equals(taskName)) {
|
||||
log.info("Generate all report by command {}", taskName);
|
||||
reportsServiceCommand.generateReportAll(taskName, startDate, endDate);
|
||||
} else {
|
||||
log.info("Generate single report by command {}", request.getReportId());
|
||||
reportsServiceCommand.generateReportById(request.getReportId(), startDate, endDate);
|
||||
log.info("Generate single report by command {}", taskName);
|
||||
reportsServiceCommand.generateReportById(taskName, startDate, endDate);
|
||||
}
|
||||
|
||||
log.debug("successfully processed");
|
||||
} catch (IOException e) {
|
||||
log.error("Error create report {}: {}", request.getReportId(), ExceptionUtils.getStackTrace(e));
|
||||
log.error("Error create report {}: {}", taskName, ExceptionUtils.getStackTrace(e));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
|
||||
import ru.spcex.platform.enumeration.Task;
|
||||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
|
|
@ -33,16 +32,10 @@ public class LauncherSender {
|
|||
|
||||
protected BaseRequest<Object> makeCmdRequest(Task byTask, Long userId) {
|
||||
Object toRequest;
|
||||
if (Task.createReport_GREP.equals(byTask)) { // см. ru.spcex.clearing.backendapi.controller.request.cud.schedule.LauncherNew#toRequest
|
||||
ReportWithPeriodRequest reportCommand = new ReportWithPeriodRequest();
|
||||
reportCommand.setReportId(byTask.getKey());
|
||||
toRequest = reportCommand;
|
||||
} else {
|
||||
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
|
||||
taskRunnerCommandRequest.setTaskName(byTask.getKey());
|
||||
taskRunnerCommandRequest.setUserId(userId);
|
||||
toRequest = taskRunnerCommandRequest;
|
||||
}
|
||||
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
|
||||
taskRunnerCommandRequest.setTaskName(byTask.getKey());
|
||||
taskRunnerCommandRequest.setUserId(userId);
|
||||
toRequest = taskRunnerCommandRequest;
|
||||
BaseRequest<Object> request = new BaseRequest<>();
|
||||
request.setId(idGenerator.nextId());
|
||||
request.setActionType(ActionType.NEW);
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ public interface Consts {
|
|||
|
||||
String REGISTRY_COVERED_DEAL_REGISTER_NEW = "registry-covered-deal-register-new";
|
||||
String REGISTRY_ADMITTED_DEAL_REGISTER_NEW = "registry-admitted-deal-register-new";
|
||||
String REGISTRY_DEAL_REGISTER_NEW = "registry-deal-register-new";
|
||||
|
||||
String REGISTRY_ORDER_REGISTER_NEW = "registry-order-register-new";
|
||||
String REGISTRY_CONTRACT_REGISTER_NEW = "registry-contract-register-new";
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue