Привел модуль в соответствие с ТЗ.
This commit is contained in:
psemenkov 2023-05-12 17:43:51 +03:00
parent f74937ab8e
commit 183babf1c2
8 changed files with 87 additions and 22 deletions

View file

@ -14,6 +14,8 @@ public class PlannerAllTodayBuilder {
private LocalTime taskTime;
private LocalDate clearingDate;
private String market;
private String section;
private String sessionType;
private String taskStatus;
private Long companyId;
private Long securityId;
@ -22,14 +24,19 @@ public class PlannerAllTodayBuilder {
public static PlannerAllTodayBuilder builder() {
return new PlannerAllTodayBuilder();
}
private PlannerAllTodayBuilder(){}
private PlannerAllTodayBuilder() {
}
//пока для clearingCalendar нет сеттера append, если появится нужно поправить ClearingCalendarService.deleteFromPlannerAllTodayMap()
//из-за поля this.parent = Parent.Template.getKey();
public PlannerAllTodayBuilder append(PlannerTemplate plannerTemplate){
public PlannerAllTodayBuilder append(PlannerTemplate plannerTemplate) {
this.task = plannerTemplate.getTask();
this.taskTime = plannerTemplate.getTaskTime();
this.market = plannerTemplate.getMarket();
this.taskStatus = plannerTemplate.getTaskStatus();
this.section = plannerTemplate.getSection();
this.sessionType = plannerTemplate.getSessionType();
this.companyId = plannerTemplate.getCompanyId();
this.securityId = plannerTemplate.getSecurityId();
this.parent = Parent.Template.getKey();
@ -37,12 +44,14 @@ public class PlannerAllTodayBuilder {
return this;
}
public PlannerAllTodayBuilder append(Planner planner){
public PlannerAllTodayBuilder append(Planner planner) {
this.task = planner.getTask();
this.taskTime = planner.getTaskTime();
this.clearingDate = planner.getClearingDate();
this.market = planner.getMarket();
this.taskStatus = planner.getTaskStatus();
this.section = planner.getSection();
this.sessionType = planner.getSessionType();
this.companyId = planner.getCompanyId();
this.securityId = planner.getSecurityId();
this.parent = Parent.Planner.getKey();
@ -57,6 +66,8 @@ public class PlannerAllTodayBuilder {
res.setClearingDate(this.clearingDate);
res.setMarket(this.market);
res.setTaskStatus(this.taskStatus);
res.setSection(this.section);
res.setSessionType(this.sessionType);
res.setCompanyId(this.companyId);
res.setSecurityId(this.securityId);
res.setParent(this.parent);

View file

@ -5,6 +5,7 @@ import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.SessionTypeDictionary;
import ru.clearing.platform.dictionary.TaskDictionary;
import ru.clearing.platform.dictionary.TaskStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -13,9 +14,11 @@ import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateN
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerTemplateUpdateRequest;
import ru.spcex.clearing.scheduler.error.ValidationError;
import ru.spcex.clearing.scheduler.validation.rules.common.DictionaryPresentRule;
import ru.spcex.clearing.scheduler.validation.rules.common.EnumPresentRule;
import ru.spcex.clearing.scheduler.validation.rules.common.IdPresentRule;
import ru.spcex.clearing.scheduler.validation.rules.common.TimeNotBeforeRule;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
@ -37,6 +40,7 @@ public class PlannerTemplateValidationConfig {
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_TaskDictionary);
addImdg.accept(IMDGDistributedNames.Map_TaskStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_SessionTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_Security);
return new ValidatorImpl<>(context,
@ -52,6 +56,15 @@ public class PlannerTemplateValidationConfig {
PlannerTemplateNewRequest::getTaskStatus,
IMDGDistributedNames.Map_TaskStatusDictionary,
TaskStatusDictionary.class),
EnumPresentRule.instance("section",
PlannerTemplateNewRequest::getSection,
Section.values(),
false),
DictionaryPresentRule.instance("sessionType",
PlannerTemplateNewRequest::getSessionType,
IMDGDistributedNames.Map_SessionTypeDictionary,
SessionTypeDictionary.class,
false),
IdPresentRule.instance("companyId",
PlannerTemplateNewRequest::getCompanyId,
IMDGDistributedNames.Map_Company,
@ -78,6 +91,7 @@ public class PlannerTemplateValidationConfig {
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_TaskDictionary);
addImdg.accept(IMDGDistributedNames.Map_TaskStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_SessionTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_PlannerTemplate);
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_Security);
@ -101,6 +115,15 @@ public class PlannerTemplateValidationConfig {
IMDGDistributedNames.Map_TaskStatusDictionary,
TaskStatusDictionary.class,
false),
EnumPresentRule.instance("section",
PlannerTemplateUpdateRequest::getSection,
Section.values(),
false),
DictionaryPresentRule.instance("sessionType",
PlannerTemplateUpdateRequest::getSessionType,
IMDGDistributedNames.Map_SessionTypeDictionary,
SessionTypeDictionary.class,
false),
IdPresentRule.instance("companyId",
PlannerTemplateUpdateRequest::getCompanyId,
IMDGDistributedNames.Map_Company,

View file

@ -5,6 +5,7 @@ import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.scheduler.Planner;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.SessionTypeDictionary;
import ru.clearing.platform.dictionary.TaskDictionary;
import ru.clearing.platform.dictionary.TaskStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -14,7 +15,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.schedule.PlannerUpdateReq
import ru.spcex.clearing.scheduler.error.ValidationError;
import ru.spcex.clearing.scheduler.validation.rules.common.*;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.Market;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
@ -36,6 +37,7 @@ public class PlannerValidationConfig {
context.setValidatedObject(plannerNewRequest);
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_TaskDictionary);
addImdg.accept(IMDGDistributedNames.Map_SessionTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_TaskStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_Company);
addImdg.accept(IMDGDistributedNames.Map_Security);
@ -51,7 +53,12 @@ public class PlannerValidationConfig {
LocalDate.now().equals(plannerNewRequest.getClearingDate())),
EnumPresentRule.instance("section",
PlannerNewRequest::getSection,
Market.values(),
Section.values(),
false),
DictionaryPresentRule.instance("sessionType",
PlannerNewRequest::getSessionType,
IMDGDistributedNames.Map_SessionTypeDictionary,
SessionTypeDictionary.class,
false),
DictionaryPresentRule.instance("taskStatus",
PlannerNewRequest::getTaskStatus,
@ -82,6 +89,7 @@ public class PlannerValidationConfig {
context.setValidatedObject(plannerUpdateRequest);
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
addImdg.accept(IMDGDistributedNames.Map_TaskDictionary);
addImdg.accept(IMDGDistributedNames.Map_SessionTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_Planner);
addImdg.accept(IMDGDistributedNames.Map_TaskStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_Company);
@ -106,7 +114,12 @@ public class PlannerValidationConfig {
false),
EnumPresentRule.instance("section",
PlannerUpdateRequest::getSection,
Market.values(),
Section.values(),
false),
DictionaryPresentRule.instance("sessionType",
PlannerUpdateRequest::getSessionType,
IMDGDistributedNames.Map_SessionTypeDictionary,
SessionTypeDictionary.class,
false),
DictionaryPresentRule.instance("taskStatus",
PlannerUpdateRequest::getTaskStatus,

View file

@ -10,6 +10,7 @@ import ru.clearing.classes.statics.data.scheduler.Planner;
import ru.clearing.classes.statics.data.scheduler.PlannerTemplate;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.DayStatusDictionary;
import ru.clearing.platform.dictionary.SessionTypeDictionary;
import ru.clearing.platform.dictionary.TaskDictionary;
import ru.clearing.platform.dictionary.TaskStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -41,6 +42,7 @@ public class ValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_Company, Company.class);
addImdg.accept(IMDGDistributedNames.Map_Security, Security.class);
addImdg.accept(IMDGDistributedNames.Map_DayStatusDictionary, DayStatusDictionary.class);
addImdg.accept(IMDGDistributedNames.Map_SessionTypeDictionary, SessionTypeDictionary.class);
return imdg;
}

View file

@ -95,7 +95,9 @@ public class PlannerService extends QueueConsumer implements InitializingBean {
planner.setTask(req.getTask());
planner.setTaskTime(req.getTaskTime());
planner.setClearingDate(req.getClearingDate());
planner.setMarket(req.getSection());
planner.setSection(req.getSection());
planner.setSessionType(req.getSessionType());
// planner.setMarket(req.getSection());
planner.setTaskStatus(req.getTaskStatus());
planner.setCompanyId(req.getCompanyId());
planner.setSecurityId(req.getSecurityId());
@ -122,7 +124,9 @@ public class PlannerService extends QueueConsumer implements InitializingBean {
planner.setTask(req.getTask());
planner.setTaskTime(req.getTaskTime());
planner.setClearingDate(req.getClearingDate());
planner.setMarket(req.getSection());
// planner.setMarket(req.getSection());
planner.setSection(req.getSection());
planner.setSessionType(req.getSessionType());
planner.setTaskStatus(req.getTaskStatus());
planner.setCompanyId(req.getCompanyId());
planner.setSecurityId(req.getSecurityId());

View file

@ -98,6 +98,9 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
plannerTemplate.setUpdated(created);
plannerTemplate.setTask(req.getTask());
plannerTemplate.setTaskTime(req.getTaskTime());
// plannerTemplate.setMarket(Market.mkrs.getKey());
plannerTemplate.setSection(req.getSection());
plannerTemplate.setSessionType(req.getSessionType());
plannerTemplate.setTaskStatus(req.getTaskStatus());
plannerTemplate.setCompanyId(req.getCompanyId());
plannerTemplate.setSecurityId(req.getSecurityId());
@ -125,6 +128,8 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
Instant updated = Instant.now();
plannerTemplate.setUpdated(updated);
plannerTemplate.setTask(req.getTask());
plannerTemplate.setSection(req.getSection());
plannerTemplate.setSessionType(req.getSessionType());
plannerTemplate.setTaskTime(req.getTaskTime());
plannerTemplate.setTaskStatus(req.getTaskStatus());
plannerTemplate.setCompanyId(req.getCompanyId());

View file

@ -11,10 +11,10 @@ import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.misc.Market;
import ru.clearing.classes.statics.data.scheduler.*;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.platform.dictionary.DayStatusDictionary;
import ru.clearing.platform.dictionary.SessionTypeDictionary;
import ru.clearing.platform.dictionary.TaskDictionary;
import ru.clearing.platform.dictionary.TaskStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -30,10 +30,7 @@ import ru.spcex.clearing.test.MatcherFactory;
import ru.spcex.clearing.test.TestUtils;
import ru.spcex.clearing.test.config.ImdgTestConfig;
import ru.spcex.clearing.test.config.KafkaTestConfig;
import ru.spcex.platform.enumeration.DayStatus;
import ru.spcex.platform.enumeration.Status;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
@ -45,7 +42,6 @@ import static org.mockito.Mockito.spy;
import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator;
import static ru.spcex.clearing.test.config.ImdgTestConfig.currentID;
import static ru.spcex.clearing.test.config.ImdgTestConfig.waitAvailableImdgProviderAndAddAdminWithDefaultId;
import static ru.spcex.platform.enumeration.Market.mkrs;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = {
@ -76,6 +72,7 @@ public abstract class AbstractServiceTest {
protected long updateCompanyId = currentID.getAndIncrement();
protected long deleteCompanyId = currentID.getAndIncrement();
protected long testSecurityId = currentID.getAndIncrement();
protected String sessionType = "IPOT";
@Captor
protected ArgumentCaptor<ProducerRecord> producerRecord;
@ -111,6 +108,12 @@ public abstract class AbstractServiceTest {
Imdg<TaskStatusDictionary> taskStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TaskStatusDictionary, TaskStatusDictionary.class);
taskStatusDictionaryImdg.insert(taskStatusDictionary);
SessionTypeDictionary sessionTypeDictionary = new SessionTypeDictionary();
sessionTypeDictionary.setCode(sessionType);
sessionTypeDictionary.setId(id);
Imdg<SessionTypeDictionary> sessionTypeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SessionTypeDictionary, SessionTypeDictionary.class);
sessionTypeDictionaryImdg.insert(sessionTypeDictionary);
Company company = new Company();
company.setId(newCompanyId);
company.setWorkflowStatus(WorkflowStatus.Active.getKey());
@ -141,8 +144,8 @@ public abstract class AbstractServiceTest {
plannerTemplate.setTask(Task.accountBlock.getKey());
plannerTemplate.setTaskTime(LocalTime.now().plusHours(1).withNano(0));
plannerTemplate.setTaskStatus(Status.Active.getKey());
plannerTemplate.setSection("BMIC");
plannerTemplate.setSessionType("FINL");
plannerTemplate.setSection(Section.MKR.getKey());
plannerTemplate.setSessionType(sessionType);
plannerTemplate.setCompanyId(companyId);
plannerTemplate.setSecurityId(testSecurityId);
return plannerTemplate;
@ -154,7 +157,9 @@ public abstract class AbstractServiceTest {
planner.setTask(Task.accountBlock.getKey());
planner.setTaskTime(LocalTime.now().plusHours(1).withNano(0));
planner.setClearingDate(LocalDate.now());
planner.setMarket(mkrs.getKey());
planner.setSection(Section.MKR.getKey());
planner.setSessionType(sessionType);
// planner.setMarket(mkrs.getKey());
planner.setTaskStatus(Status.Active.getKey());
planner.setCompanyId(companyId);
planner.setSecurityId(testSecurityId);

View file

@ -39,7 +39,7 @@ class PlannerServiceTest extends AbstractServiceTest {
}
@BeforeEach
public void prepare(){
public void prepare() {
clearAllInImdg(plannerAllTodayImdg);
}
@ -58,8 +58,9 @@ class PlannerServiceTest extends AbstractServiceTest {
plannerNewRequest.setTask(planner.getTask());
plannerNewRequest.setTaskTime(planner.getTaskTime());
plannerNewRequest.setTaskStatus(planner.getTaskStatus());
plannerNewRequest.setSection(planner.getSection());
plannerNewRequest.setSessionType(planner.getSessionType());
plannerNewRequest.setClearingDate(planner.getClearingDate());
plannerNewRequest.setSection(planner.getMarket());
plannerNewRequest.setCompanyId(planner.getCompanyId());
plannerNewRequest.setSecurityId(planner.getSecurityId());
@ -93,8 +94,9 @@ class PlannerServiceTest extends AbstractServiceTest {
plannerUpdateRequest.setTask(planner.getTask());
plannerUpdateRequest.setTaskTime(planner.getTaskTime());
plannerUpdateRequest.setTaskStatus(planner.getTaskStatus());
plannerUpdateRequest.setSection(planner.getSection());
plannerUpdateRequest.setSessionType(planner.getSessionType());
plannerUpdateRequest.setClearingDate(planner.getClearingDate());
plannerUpdateRequest.setSection(planner.getMarket());
plannerUpdateRequest.setCompanyId(planner.getCompanyId());
plannerUpdateRequest.setSecurityId(planner.getSecurityId());
@ -117,7 +119,7 @@ class PlannerServiceTest extends AbstractServiceTest {
* Входной запрос {@link CommonDeleteRequest}:<br>
*/
@Test
public void deletePlanner(){
public void deletePlanner() {
//ARRANGE
clearAllInImdg(plannerImdg);
Planner planner = getPlanner(deleteCompanyId);
@ -149,7 +151,7 @@ class PlannerServiceTest extends AbstractServiceTest {
* Входной запрос {@link Planner}:<br>
*/
@Test
public void cudPlannerAllToday(){
public void cudPlannerAllToday() {
//проверка добавления
Planner planner = getPlanner(newCompanyId);
plannerService.cudPlannerAllToday(planner);