ClearingMemberCategory new endpoint
This commit is contained in:
parent
30a9cc989e
commit
814c14d3b9
5 changed files with 100 additions and 0 deletions
|
|
@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
|
|
@ -34,6 +35,16 @@ public class EditClearingMemberCategoryController extends AbstractQueueControlle
|
|||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "new clearing category.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody ClearingMemberCategoryNewAction clearingMemberCategoryNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW, clearingMemberCategoryNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update clearing member category.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryNewRequest;
|
||||
|
||||
public class ClearingMemberCategoryNewAction implements IAction<ClearingMemberCategoryNewRequest> {
|
||||
|
||||
@ApiModelProperty(value = "Идентификатор компании", example = "1234")
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
|
||||
@ApiModelProperty(value = "Идентификатор категории участника клиринга", example = "ABCD")
|
||||
@JsonProperty
|
||||
private String clearingMemberCategory;
|
||||
|
||||
@Override
|
||||
public ClearingMemberCategoryNewRequest toRequest() {
|
||||
ClearingMemberCategoryNewRequest request = new ClearingMemberCategoryNewRequest();
|
||||
request.setCompanyId(companyId);
|
||||
request.setClearingMemberCategory(this.clearingMemberCategory);
|
||||
return request;
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getClearingMemberCategory() {
|
||||
return clearingMemberCategory;
|
||||
}
|
||||
|
||||
public void setClearingMemberCategory(String clearingMemberCategory) {
|
||||
this.clearingMemberCategory = clearingMemberCategory;
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -29,6 +30,9 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init
|
|||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(ClearingMemberCategoryNewRequest.class)
|
||||
.setConsumer(this::clearingMemberCategoryNew)
|
||||
.forDestination(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_NEW, callbacks::put);
|
||||
callback(ClearingMemberCategoryUpdateRequest.class)
|
||||
.setConsumer(this::clearingMemberCategoryUpdate)
|
||||
.forDestination(Consts.DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE, callbacks::put);
|
||||
|
|
@ -38,6 +42,16 @@ public class ClearingMemberCategoryService extends QueueConsumer implements Init
|
|||
init();
|
||||
}
|
||||
|
||||
private void clearingMemberCategoryNew(BaseRequest<ClearingMemberCategoryNewRequest> userRequest) {
|
||||
ClearingMemberCategoryNewRequest req = userRequest.getRequestPayload();
|
||||
log.debug("ClearingMemberCategoryUpdateRequest received {}", userRequest.getId());
|
||||
ClearingMemberCategory newCategory = new ClearingMemberCategory();
|
||||
newCategory.setCompanyId(req.getCompanyId());
|
||||
newCategory.setClearingMemberCategory(req.getClearingMemberCategory());
|
||||
clearingMemberCategoryMap.insert(newCategory);
|
||||
log.debug("successfully processed, new category id {}", newCategory.getId());
|
||||
}
|
||||
|
||||
|
||||
public void clearingMemberCategoryUpdate(BaseRequest<ClearingMemberCategoryUpdateRequest> userRequest) {
|
||||
ClearingMemberCategoryUpdateRequest req = userRequest.getRequestPayload();
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ public interface Consts {
|
|||
String DESTINATION_COMPANY_INFO_UPDATE = "company-info-update";
|
||||
String DESTINATION_COMPANY_SYMBOL_UPDATE = "company-symbol-update";
|
||||
String DESTINATION_CONTACT_UPDATE = "contact-update";
|
||||
String DESTINATION_CLEARING_MEMBER_CATEGORY_NEW = "clearing-member-category-new";
|
||||
String DESTINATION_CLEARING_MEMBER_CATEGORY_UPDATE = "clearing-member-category-update";
|
||||
String DESTINATION_CLEARING_MEMBER_CATEGORY_DELETE = "clearing-member-category-delete";
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package ru.spcex.clearing.platform.messaging.domain.cud.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
public class ClearingMemberCategoryNewRequest {
|
||||
@JsonProperty
|
||||
private String clearingMemberCategory;
|
||||
@JsonProperty
|
||||
private Long companyId;
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getClearingMemberCategory() {
|
||||
return clearingMemberCategory;
|
||||
}
|
||||
|
||||
public void setClearingMemberCategory(String clearingMemberCategory) {
|
||||
this.clearingMemberCategory = clearingMemberCategory;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue