This commit is contained in:
ialbert 2022-12-06 16:43:54 +03:00
parent 8633081e6d
commit 56f027c313
2 changed files with 32 additions and 14 deletions

View file

@ -8,25 +8,38 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import ru.clearing.classes.statics.data.company.Company;
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyInfoUpdateAction;
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
import ru.spcex.clearing.backendapi.service.IOperator;
import ru.spcex.clearing.backendapi.service.IStateLoader;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ExecutionException;
@Controller
@RequestMapping("/company-infos")
public class EditCompanyInfoController extends AbstractQueueController {
private final IStateLoader stateLoader;
private final Imdg<Company> companyImdg;
private final GetResponseFactory responseFactory;
@Autowired
public EditCompanyInfoController(IOperator operator, IStateLoader stateLoader) {
public EditCompanyInfoController(IOperator operator, IStateLoader stateLoader, ImdgProvider imdgProvider, GetResponseFactory responseFactory) {
super(operator);
this.stateLoader = stateLoader;
this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
this.responseFactory = responseFactory;
}
@ApiOperation(value = "update company info.")
@ -42,15 +55,20 @@ public class EditCompanyInfoController extends AbstractQueueController {
return processRequest(Consts.DESTINATION_COMPANY_INFO_UPDATE, companyInfoUpdateAction);
}
//todo
// @ApiOperation(value = "get all CompanyInfo's.")
// @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CompanyBackendInfoGetAll.class)})
// @RequestMapping(method = RequestMethod.GET)
// @ResponseBody
// public CompanyBackendInfoGetAll getAll() {
// Collection<CompanyInfo> all = stateLoader.getAll(IMDGDistributedNames.Map_Company, CompanyInfo.class);
// CompanyBackendGetAll response = new CompanyBackendGetAll();
// response.fromEntity(all);
// return response;
// }
@ApiOperation(value = "get all CompanyInfo's.")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public CommonGetAllResponse getAll() {
Collection<Map<String, Object>> all = new ArrayList<>();
Collection<Company> companies = companyImdg.getAllValues();
for (Company company : companies) {
if (company.getProfile() != null) { // пока возвращает "пустой" CompanyInfo если его нет для Company
all.add(responseFactory.responseFromObject(company.getProfile()));
}
}
CommonGetAllResponse response = new CommonGetAllResponse();
response.fromEntity(all);
return response;
}
}

View file

@ -39,8 +39,8 @@ public class CommonGetAllResponse extends BasicSpcexResponse {
public void fromEntity(Collection<Map<String, Object>> anyObjectFields) {
var payload = this.getPayload();
for (Map<String, Object> moneyMarketSecurity : anyObjectFields) {
payload.getItems().add(moneyMarketSecurity);
for (Map<String, Object> allObjFields : anyObjectFields) {
payload.getItems().add(allObjFields);
}
}
}