Как проверить загрузку нескольких файлов весной и подробно через почтальона? - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть модель, которая будет использоваться для загрузки нескольких файлов с подробной информацией о файле.

Я получу 3 файла свидетельства о рождении, гражданство и еще один файл. эти три файла имеют свои собственные данные, которые должны храниться в моем классе Certificates.java.

BuyerSellerDocs.java

@AllArgsConstructor
@NoArgsConstructor
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class BuyerSellerDocs {

    Long transactionId;
    Long contactTypeId;
    Long contactId;

    Certificates birthDayCertificates;
    Certificates citizenshipCertificates;
    Certificates otherCertificates;


}

Соответствующий дочерний класс

@AllArgsConstructor
@NoArgsConstructor
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class Certificates {
    Long documentTypeId;
    String certificateRefno;
    Date issueDate;
    MultipartFile documentFile;
    Long documentType;
}

и класс контроллера

private static  final String[] certificatesType = new String[]{"birthCertificate","citizenCertificate","otherCertificate"};

    @PostMapping("/app/uploadcontactdocuments")
    public ResponseEntity<Tbldocumentdetail> uploadContactDocuments(@ModelAttribute BuyerSellerDocs documents) throws IOException {

        //creating an instance of entity to be saved
        Tbldocumentdetail tbldocumentdetail = new Tbldocumentdetail();
        Certificates certificates = null;

        for(int i=0; i>certificatesType.length; i++) {
           if(certificatesType[i].equalsIgnoreCase("birthCertificate")) {
               certificates = documents.getBirthDayCertificates();
           }
           else  if(certificatesType[i].equalsIgnoreCase("citizenCertificate")) {
               certificates = documents.getCitizenshipCertificates();
           }
           else {
               certificates = documents.getOtherCertificates();
           }

            //finding the type of document (i.e birth certificate, citizenship certificate etc) and setting it to entity
            Tbldocument tbldocument =documentListService.findDocumentbyID(certificates.getDocumentTypeId());
            tbldocumentdetail.setTbldocument(tbldocument);

            //fetch multipart file convert it to bytes and set to entity
            tbldocumentdetail.setDocument(certificates.getDocumentFile().getBytes());

            tbldocumentdetail.setContactid(documents.getContactId());

            //find contact type
            Tblcontacttype tblcontacttype = new Tblcontacttype();
            Optional<Tblcontacttype> tblcontacttype1 =contactTypeRepo.findById(documents.getContactTypeId());
            if(tblcontacttype1.isPresent()){
                tblcontacttype = tblcontacttype1.get();
            }

            //set contact type to document detail
            tbldocumentdetail.setTblcontacttype(tblcontacttype);

            tbldocumentdetail.setReferenceno(documents.getTransactionId());
            java.sql.Date currentDate = new java.sql.Date(new Date().getTime());
            tbldocumentdetail.setDateofupload(currentDate);


            Tbldocumentformat tbldocumentformat = new Tbldocumentformat();
            if(certificates.getDocumentFile().getOriginalFilename().contains("jpg"))
            {
                tbldocumentdetail.setDocumentformat(5);
            } else if(certificates.getDocumentFile().getOriginalFilename().contains("png")){
                tbldocumentdetail.setDocumentformat(1);
            }else if(certificates.getDocumentFile().getOriginalFilename().contains("doc")){
                tbldocumentdetail.setDocumentformat(4);
            }else if(certificates.getDocumentFile().getOriginalFilename().contains("pdf")){
                tbldocumentdetail.setDocumentformat(6);
            }

            tbldocumentdetail.setDocumentname(certificates.getDocumentFile().getOriginalFilename());

            Tbldocumentdetail details =documentDetailsRepo.save(tbldocumentdetail);
        }



//i need to update here
        return ResponseEntity.ok(null);

    }

Класс контроллера не завершен. путаница здесь в том, что если я так получаю параметры, то как мне вызвать этот API от почтальона, чтобы проверить его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...